Merge pull request #1589 from siiky/refact/lam-776/update-bitgo-usage

LAM-776 update BitGo usage
This commit is contained in:
Rafael Taranto 2023-09-28 20:31:37 +01:00 committed by GitHub
commit 4acaa04a9a
2 changed files with 26 additions and 10 deletions

View file

@ -1,6 +1,6 @@
const _ = require('lodash/fp') const _ = require('lodash/fp')
const BitGo = require('bitgo') const { BitGoAPI } = require('@bitgo/sdk-api')
const { toLegacyAddress, toCashAddress } = require('bchaddrjs') const { toLegacyAddress, toCashAddress } = require('bchaddrjs')
const BN = require('../../../bn') const BN = require('../../../bn')
@ -11,19 +11,29 @@ const pjson = require('../../../../package.json')
const userAgent = 'Lamassu-Server/' + pjson.version const userAgent = 'Lamassu-Server/' + pjson.version
const NAME = 'BitGo' const NAME = 'BitGo'
const SUPPORTED_COINS = ['BTC', 'ZEC', 'LTC', 'BCH', 'DASH']
const BITGO_MODULES = {
BCH: require('@bitgo/sdk-coin-bch'),
BTC: require('@bitgo/sdk-coin-btc'),
DASH: require('@bitgo/sdk-coin-dash'),
LTC: require('@bitgo/sdk-coin-ltc'),
ZEC: require('@bitgo/sdk-coin-zec'),
}
const SUPPORTED_COINS = _.keys(BITGO_MODULES)
const BCH_CODES = ['BCH', 'TBCH'] const BCH_CODES = ['BCH', 'TBCH']
function buildBitgo (account) { const getWallet = (account, cryptoCode) => {
const accessToken = account.token.trim()
const env = account.environment === 'test' ? 'test' : 'prod' const env = account.environment === 'test' ? 'test' : 'prod'
return new BitGo.BitGo({ accessToken: account.token.trim(), env, userAgent: userAgent }) const walletId = account[`${cryptoCode}WalletId`]
}
function getWallet (account, cryptoCode) { const bitgo = new BitGoAPI({ accessToken, env, userAgent })
const bitgo = buildBitgo(account) BITGO_MODULES[cryptoCode].register(bitgo)
const coin = account.environment === 'test' ? `t${cryptoCode.toLowerCase()}` : cryptoCode.toLowerCase()
return bitgo.coin(coin).wallets().get({ id: account[`${cryptoCode}WalletId`] }) cryptoCode = cryptoCode.toLowerCase()
const coin = env === 'test' ? `t${cryptoCode}` : cryptoCode
return bitgo.coin(coin).wallets().get({ id: walletId })
} }
function checkCryptoCode (cryptoCode) { function checkCryptoCode (cryptoCode) {

View file

@ -24,7 +24,13 @@
"bignumber.js": "9.0.1", "bignumber.js": "9.0.1",
"bip39": "^2.3.1", "bip39": "^2.3.1",
"bitcoind-rpc": "^0.7.0", "bitcoind-rpc": "^0.7.0",
"bitgo": "11.18.0", "@bitgo/sdk-api": "1.21.0",
"@bitgo/sdk-coin-bch": "1.5.10",
"@bitgo/sdk-coin-btc": "1.7.10",
"@bitgo/sdk-coin-dash": "1.5.10",
"@bitgo/sdk-coin-ltc": "2.2.10",
"@bitgo/sdk-coin-zec": "1.5.10",
"@bitgo/utxo-lib": "9.13.0",
"ccxt": "lamassu/ccxt#1.82.31", "ccxt": "lamassu/ccxt#1.82.31",
"compression": "^1.7.4", "compression": "^1.7.4",
"connect-pg-simple": "^6.2.1", "connect-pg-simple": "^6.2.1",