|
| 1 | +import * as process from 'process'; |
1 | 2 | import * as express from 'express';
|
2 | 3 | import { addAsync, RouterWithAsync } from '@awaitjs/express';
|
3 | 4 | import * as btc from 'bitcoinjs-lib';
|
4 | 5 | import PQueue from 'p-queue';
|
5 | 6 | import * as BN from 'bn.js';
|
6 |
| -import { makeSTXTokenTransfer } from '@blockstack/stacks-transactions'; |
| 7 | +import { makeSTXTokenTransfer, StacksNetwork } from '@blockstack/stacks-transactions'; |
7 | 8 | import { makeBtcFaucetPayment, getBtcBalance } from '../../btc-faucet';
|
8 | 9 | import { DataStore, DbFaucetRequestCurrency } from '../../datastore/common';
|
9 | 10 | import { logger } from '../../helpers';
|
10 | 11 | import { testnetKeys, GetStacksTestnetNetwork } from './debug';
|
11 | 12 | import { StacksCoreRpcClient } from '../../core-rpc/client';
|
12 | 13 |
|
| 14 | +export function getStxFaucetNetwork(): StacksNetwork { |
| 15 | + const network = GetStacksTestnetNetwork(); |
| 16 | + const faucetNodeHostOverride: string | undefined = process.env.STACKS_FAUCET_NODE_HOST; |
| 17 | + if (faucetNodeHostOverride) { |
| 18 | + const faucetNodePortOverride: string | undefined = process.env.STACKS_FAUCET_NODE_PORT; |
| 19 | + if (!faucetNodePortOverride) { |
| 20 | + const error = 'STACKS_FAUCET_NODE_HOST is specified but STACKS_FAUCET_NODE_PORT is missing'; |
| 21 | + logger.error(error); |
| 22 | + throw new Error(error); |
| 23 | + } |
| 24 | + network.coreApiUrl = `http://${faucetNodeHostOverride}:${faucetNodePortOverride}`; |
| 25 | + } |
| 26 | + return network; |
| 27 | +} |
| 28 | + |
13 | 29 | export function createFaucetRouter(db: DataStore): RouterWithAsync {
|
14 | 30 | const router = addAsync(express.Router());
|
15 | 31 | router.use(express.urlencoded({ extended: true }));
|
@@ -93,7 +109,7 @@ export function createFaucetRouter(db: DataStore): RouterWithAsync {
|
93 | 109 | recipient: address,
|
94 | 110 | amount: new BN(stxAmount),
|
95 | 111 | senderKey: privateKey,
|
96 |
| - network: GetStacksTestnetNetwork(), |
| 112 | + network: getStxFaucetNetwork(), |
97 | 113 | memo: 'Faucet',
|
98 | 114 | });
|
99 | 115 |
|
|
0 commit comments