mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-16 10:25:51 +00:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
'use strict';
|
|
const _ = require('lodash');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
function getUserHomePath() {
|
|
return process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE;
|
|
}
|
|
|
|
function loadWallet() {
|
|
const secretPath = path.join(getUserHomePath(), '.ripple_wallet');
|
|
try {
|
|
const walletRaw = fs.readFileSync(secretPath, {encoding: 'utf8'}).trim();
|
|
return JSON.parse(walletRaw);
|
|
} catch (e) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
const WALLET = loadWallet();
|
|
|
|
function getTestKey(key) {
|
|
if (process.env.TEST_ADDRESS && process.env.TEST_SECRET) {
|
|
if (key === 'address') {
|
|
return process.env.TEST_ADDRESS;
|
|
}
|
|
if (key === 'secret') {
|
|
return process.env.TEST_SECRET;
|
|
}
|
|
}
|
|
if (WALLET === null) {
|
|
throw new Error('Could not find .ripple_wallet file in home directory');
|
|
}
|
|
if (WALLET.test === undefined) {
|
|
throw new Error('Wallet does not contain a "test" account');
|
|
}
|
|
return WALLET.test[key];
|
|
}
|
|
|
|
module.exports = {
|
|
getAddress: _.partial(getTestKey, 'address'),
|
|
getSecret: _.partial(getTestKey, 'secret')
|
|
};
|