mirror of
https://github.com/Permissionless-Software-Foundation/bch-dex.git
synced 2026-09-21 16:52:00 -07:00
Refactoring config file
This commit is contained in:
Vendored
+45
-10
@@ -43,14 +43,43 @@ export default {
|
|||||||
? process.env.EMAILPASS
|
? process.env.EMAILPASS
|
||||||
: 'emailpassword',
|
: 'emailpassword',
|
||||||
|
|
||||||
|
// BEGIN WALLET CONFIGURATION
|
||||||
|
|
||||||
|
// BCH Mnemonic for generating encryption keys and payment address
|
||||||
|
mnemonic: process.env.MNEMONIC ? process.env.MNEMONIC : '',
|
||||||
|
|
||||||
|
// (Optional) use a wallet file generated by psf-bch-wallet.
|
||||||
|
walletFile: process.env.WALLET_FILE
|
||||||
|
? process.env.WALLET_FILE
|
||||||
|
: `${__dirname.toString()}/../../wallet.json`,
|
||||||
|
|
||||||
|
// Wallet Configuration
|
||||||
|
// Default value: web3 - connect to bch-api through web 3 JSON RPC over IPFS.
|
||||||
|
// Alternate value: web2 - connect to bch-api through a web 2 REST API over HTTP.
|
||||||
|
walletInterface: process.env.WALLET_INTERFACE ? process.env.WALLET_INTERFACE : 'web3',
|
||||||
|
|
||||||
|
// Wallet API Server
|
||||||
|
// Default web2 server: https://api.fullstack.cash/v5/
|
||||||
|
// Default web3 server: https://free-bch.fullstack.cash/
|
||||||
|
apiServer: process.env.WALLET_INTERFACE === 'web2'
|
||||||
|
? (
|
||||||
|
process.env.APISERVER
|
||||||
|
? process.env.APISERVER
|
||||||
|
: 'https://api.fullstack.cash/v5/'
|
||||||
|
)
|
||||||
|
: 'https://free-bch.fullstack.cash/',
|
||||||
|
|
||||||
|
// Basic Authentication Password for connecting to bch-api through a web 2
|
||||||
|
// REST API over HTTP.
|
||||||
|
authPass: process.env.WALLET_AUTH_PASS
|
||||||
|
? process.env.WALLET_AUTH_PASS
|
||||||
|
: '',
|
||||||
|
|
||||||
// FullStack.cash account information, used for automatic JWT handling.
|
// FullStack.cash account information, used for automatic JWT handling.
|
||||||
getJwtAtStartup: process.env.GET_JWT_AT_STARTUP ? true : false,
|
getJwtAtStartup: process.env.GET_JWT_AT_STARTUP ? true : false,
|
||||||
authServer: process.env.AUTHSERVER
|
authServer: process.env.AUTHSERVER
|
||||||
? process.env.AUTHSERVER
|
? process.env.AUTHSERVER
|
||||||
: 'https://auth.fullstack.cash',
|
: 'https://auth.fullstack.cash',
|
||||||
apiServer: process.env.APISERVER
|
|
||||||
? process.env.APISERVER
|
|
||||||
: 'https://api.fullstack.cash/v5/',
|
|
||||||
fullstackLogin: process.env.FULLSTACKLOGIN
|
fullstackLogin: process.env.FULLSTACKLOGIN
|
||||||
? process.env.FULLSTACKLOGIN
|
? process.env.FULLSTACKLOGIN
|
||||||
: 'demo@demo.com',
|
: 'demo@demo.com',
|
||||||
@@ -58,8 +87,17 @@ export default {
|
|||||||
? process.env.FULLSTACKPASS
|
? process.env.FULLSTACKPASS
|
||||||
: 'demo',
|
: 'demo',
|
||||||
|
|
||||||
// IPFS settings.
|
// END WALLET CONFIGURATION
|
||||||
useIpfs: process.env.DISABLE_IPFS ? false : true, // Disable IPFS flag
|
|
||||||
|
// BEGIN IPFS CONFIGURATION
|
||||||
|
|
||||||
|
// Debug verbosity level of helia-coord.
|
||||||
|
// 0 = no debug logs. 3 = maximum logs.
|
||||||
|
debugLevel: process.env.DEBUG_LEVEL ? parseInt(process.env.DEBUG_LEVEL) : 2,
|
||||||
|
|
||||||
|
// Enable/Disable the IPFS node at startup. Enabled by default.
|
||||||
|
useIpfs: process.env.DISABLE_IPFS ? false : true,
|
||||||
|
|
||||||
isCircuitRelay: process.env.ENABLE_CIRCUIT_RELAY ? true : false,
|
isCircuitRelay: process.env.ENABLE_CIRCUIT_RELAY ? true : false,
|
||||||
// SSL domain used for websocket connection via browsers.
|
// SSL domain used for websocket connection via browsers.
|
||||||
crDomain: process.env.CR_DOMAIN ? process.env.CR_DOMAIN : '',
|
crDomain: process.env.CR_DOMAIN ? process.env.CR_DOMAIN : '',
|
||||||
@@ -88,11 +126,6 @@ export default {
|
|||||||
ipfsTcpPort: process.env.IPFS_TCP_PORT ? process.env.IPFS_TCP_PORT : 4001,
|
ipfsTcpPort: process.env.IPFS_TCP_PORT ? process.env.IPFS_TCP_PORT : 4001,
|
||||||
ipfsWsPort: process.env.IPFS_WS_PORT ? process.env.IPFS_WS_PORT : 4003,
|
ipfsWsPort: process.env.IPFS_WS_PORT ? process.env.IPFS_WS_PORT : 4003,
|
||||||
|
|
||||||
// BCH Mnemonic for generating encryption keys and payment address
|
|
||||||
mnemonic: process.env.MNEMONIC ? process.env.MNEMONIC : '',
|
|
||||||
|
|
||||||
debugLevel: process.env.DEBUG_LEVEL ? parseInt(process.env.DEBUG_LEVEL) : 2,
|
|
||||||
|
|
||||||
// Settings for production, using external go-ipfs node.
|
// Settings for production, using external go-ipfs node.
|
||||||
isProduction: process.env.SVC_ENV === 'prod' ? true : false,
|
isProduction: process.env.SVC_ENV === 'prod' ? true : false,
|
||||||
ipfsHost: process.env.IPFS_HOST ? process.env.IPFS_HOST : 'localhost',
|
ipfsHost: process.env.IPFS_HOST ? process.env.IPFS_HOST : 'localhost',
|
||||||
@@ -110,4 +143,6 @@ export default {
|
|||||||
// v2 Circuit Relay server (FullStack.cash)
|
// v2 Circuit Relay server (FullStack.cash)
|
||||||
// '/ip4/78.46.129.7/tcp/4001/p2p/12D3KooWFQ11GQ5NubsJGhYZ4X3wrAGimLevxfm6HPExCrMYhpSL'
|
// '/ip4/78.46.129.7/tcp/4001/p2p/12D3KooWFQ11GQ5NubsJGhYZ4X3wrAGimLevxfm6HPExCrMYhpSL'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
// END IPFS CONFIGURATION
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class Wallet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Detect and configure different blockchain infrastructure settings.
|
// Detect and configure different blockchain infrastructure settings.
|
||||||
if (this.config.useFullStackCash) {
|
if (this.config.walletInterface === 'web2') {
|
||||||
advancedConfig.interface = 'rest-api'
|
advancedConfig.interface = 'rest-api'
|
||||||
advancedConfig.restURL = this.config.apiServer
|
advancedConfig.restURL = this.config.apiServer
|
||||||
} else {
|
} else {
|
||||||
@@ -98,8 +98,8 @@ class Wallet {
|
|||||||
|
|
||||||
// Try to open the wallet.json file.
|
// Try to open the wallet.json file.
|
||||||
try {
|
try {
|
||||||
// console.log('this.WALLET_FILE: ', this.WALLET_FILE)
|
// console.log('this.config.walletFile: ', this.config.walletFile)
|
||||||
walletData = await this.jsonFiles.readJSON(this.WALLET_FILE)
|
walletData = await this.jsonFiles.readJSON(this.config.walletFile)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// Create a new wallet file if one does not already exist.
|
// Create a new wallet file if one does not already exist.
|
||||||
console.log('Wallet file not found. Creating new wallet.json file.')
|
console.log('Wallet file not found. Creating new wallet.json file.')
|
||||||
@@ -114,7 +114,7 @@ class Wallet {
|
|||||||
walletData.nextAddress = 1
|
walletData.nextAddress = 1
|
||||||
|
|
||||||
// Write the wallet data to the JSON file.
|
// Write the wallet data to the JSON file.
|
||||||
await this.jsonFiles.writeJSON(walletData, this.WALLET_FILE)
|
await this.jsonFiles.writeJSON(walletData, this.config.walletFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log('walletData: ', walletData)
|
// console.log('walletData: ', walletData)
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"privateKey": "KwftZ1XUKMP9cLwTjXM3Axk5dnjy28nZ7b54PMushFEYs71tXQZu",
|
|
||||||
"publicKey": "038ac0965dc75b9b98a8e1fee01d8e4bcb23770ad00d8b41f76ef3c07519e76ded",
|
|
||||||
"mnemonic": "blue unfair eye isolate capital devote horse lumber thrive second text flame",
|
|
||||||
"cashAddress": "bitcoincash:qprt28ydgfgx8da26y35us57ur5pexwjns0uvyn3qj",
|
|
||||||
"address": "bitcoincash:qprt28ydgfgx8da26y35us57ur5pexwjns0uvyn3qj",
|
|
||||||
"legacyAddress": "17SsGH7mb4nQEVh7hwTPYbYbgmWTnyWf3y",
|
|
||||||
"hdPath": "m/44'/245'/0'/0/0",
|
|
||||||
"slpAddress": "simpleledger:qprt28ydgfgx8da26y35us57ur5pexwjnsr88lx37v",
|
|
||||||
"nextAddress": 1
|
|
||||||
}
|
|
||||||
@@ -59,7 +59,7 @@ describe('#wallet', () => {
|
|||||||
// Mock dependencies
|
// Mock dependencies
|
||||||
uut.BchWallet = MockBchWallet
|
uut.BchWallet = MockBchWallet
|
||||||
// Ensure we open the test file, not the production wallet file.
|
// Ensure we open the test file, not the production wallet file.
|
||||||
uut.WALLET_FILE = testWalletFile
|
uut.walletFile = testWalletFile
|
||||||
const result = await uut.openWallet()
|
const result = await uut.openWallet()
|
||||||
// console.log('result: ', result)
|
// console.log('result: ', result)
|
||||||
assert.property(result, 'mnemonic')
|
assert.property(result, 'mnemonic')
|
||||||
@@ -75,7 +75,7 @@ describe('#wallet', () => {
|
|||||||
it('should open existing wallet file', async () => {
|
it('should open existing wallet file', async () => {
|
||||||
// This test case uses the file created in the previous test case.
|
// This test case uses the file created in the previous test case.
|
||||||
// Ensure we open the test file, not the production wallet file.
|
// Ensure we open the test file, not the production wallet file.
|
||||||
uut.WALLET_FILE = testWalletFile
|
uut.walletFile = testWalletFile
|
||||||
const result = await uut.openWallet()
|
const result = await uut.openWallet()
|
||||||
// console.log('result: ', result)
|
// console.log('result: ', result)
|
||||||
assert.property(result, 'mnemonic')
|
assert.property(result, 'mnemonic')
|
||||||
@@ -91,7 +91,7 @@ describe('#wallet', () => {
|
|||||||
it('should catch and throw an error', async () => {
|
it('should catch and throw an error', async () => {
|
||||||
try {
|
try {
|
||||||
// Force an error
|
// Force an error
|
||||||
uut.WALLET_FILE = ''
|
uut.config.walletFile = ''
|
||||||
uut.BchWallet = () => {
|
uut.BchWallet = () => {
|
||||||
}
|
}
|
||||||
await uut.openWallet()
|
await uut.openWallet()
|
||||||
@@ -116,7 +116,7 @@ describe('#wallet', () => {
|
|||||||
uut.config.authPass = 'fake-auth-pass'
|
uut.config.authPass = 'fake-auth-pass'
|
||||||
|
|
||||||
// Ensure we open the test file, not the production wallet file.
|
// Ensure we open the test file, not the production wallet file.
|
||||||
uut.WALLET_FILE = testWalletFile
|
uut.config.walletFile = testWalletFile
|
||||||
const walletData = await uut.openWallet()
|
const walletData = await uut.openWallet()
|
||||||
|
|
||||||
// console.log('walletData: ', walletData)
|
// console.log('walletData: ', walletData)
|
||||||
@@ -146,15 +146,19 @@ describe('#wallet', () => {
|
|||||||
const mockWallet = new BchWallet()
|
const mockWallet = new BchWallet()
|
||||||
await mockWallet.walletInfoPromise
|
await mockWallet.walletInfoPromise
|
||||||
sandbox.stub(mockWallet, 'initialize').resolves()
|
sandbox.stub(mockWallet, 'initialize').resolves()
|
||||||
|
|
||||||
// Mock dependencies
|
// Mock dependencies
|
||||||
sandbox.stub(uut, '_instanceWallet').resolves(mockWallet)
|
sandbox.stub(uut, '_instanceWallet').resolves(mockWallet)
|
||||||
|
|
||||||
// Ensure we open the test file, not the production wallet file.
|
// Ensure we open the test file, not the production wallet file.
|
||||||
uut.WALLET_FILE = testWalletFile
|
uut.config.walletFile = testWalletFile
|
||||||
const walletData = await uut.openWallet()
|
const walletData = await uut.openWallet()
|
||||||
// console.log('walletData: ', walletData)
|
// console.log('walletData: ', walletData)
|
||||||
|
|
||||||
// Force desired code path
|
// Force desired code path
|
||||||
uut.config.useFullStackCash = true
|
uut.config.walletInterface = 'web2'
|
||||||
const result = await uut.instanceWalletWithoutInitialization(walletData)
|
const result = await uut.instanceWalletWithoutInitialization(walletData)
|
||||||
|
|
||||||
// console.log('result: ', result)
|
// console.log('result: ', result)
|
||||||
assert.property(result, 'walletInfoPromise')
|
assert.property(result, 'walletInfoPromise')
|
||||||
assert.property(result, 'walletInfo')
|
assert.property(result, 'walletInfo')
|
||||||
@@ -170,7 +174,7 @@ describe('#wallet', () => {
|
|||||||
sandbox.stub(uut, '_instanceWallet').resolves(mockWallet)
|
sandbox.stub(uut, '_instanceWallet').resolves(mockWallet)
|
||||||
|
|
||||||
// Ensure we open the test file, not the production wallet file.
|
// Ensure we open the test file, not the production wallet file.
|
||||||
uut.WALLET_FILE = testWalletFile
|
uut.config.walletFile = testWalletFile
|
||||||
const walletData = await uut.openWallet()
|
const walletData = await uut.openWallet()
|
||||||
// console.log('walletData: ', walletData)
|
// console.log('walletData: ', walletData)
|
||||||
|
|
||||||
|
|||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"mnemonic": "course abstract aerobic deer try switch turtle diet fence affair butter top",
|
||||||
|
"privateKey": "L5D2UAam8tvo3uii5kpgaGyjvVMimdrXu8nWGQSQjuuAix6ji1YQ",
|
||||||
|
"publicKey": "0379433ffc401483ade310469953c1cba77c71af904f07c15bde330d7198b4d6dc",
|
||||||
|
"cashAddress": "bitcoincash:qzl0d3gcqeypv4cy7gh8rgdszxa9vvm2acv7fqtd00",
|
||||||
|
"address": "bitcoincash:qzl0d3gcqeypv4cy7gh8rgdszxa9vvm2acv7fqtd00",
|
||||||
|
"slpAddress": "simpleledger:qzl0d3gcqeypv4cy7gh8rgdszxa9vvm2acq9zm7d33",
|
||||||
|
"legacyAddress": "1JQj1KcQL7GPKzc1D2PvdUSgw3MbDtrHzi",
|
||||||
|
"hdPath": "m/44'/245'/0'/0/0",
|
||||||
|
"nextAddress": 1
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user