UNPKG

bitgo

Version:
138 lines • 17.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sinon = require("sinon"); const nock = require("nock"); const sdk_core_1 = require("@bitgo/sdk-core"); const sdk_test_1 = require("@bitgo/sdk-test"); const src_1 = require("../../../src"); nock.disableNetConnect(); describe('PrebuildAndSign', function () { const bitgo = sdk_test_1.TestBitGo.decorate(src_1.BitGo, { env: 'test' }); const bgUrl = sdk_core_1.Environments[bitgo.getEnv()].uri; before(async function () { bitgo.initializeTestVars(); }); afterEach(function () { sinon.restore(); }); after(async function () { nock.cleanAll(); }); describe('Account Based MultiSig Hot Wallets', function () { const coin = 'hteth'; const walletId = '65f060a22df7cd8a42958441d4e90a45'; const wallet = new sdk_core_1.Wallet(bitgo, bitgo.coin(coin), { id: walletId, coin, multisigType: 'on-chain' }); it('should validate build with user params', async function () { nock(bgUrl) .post(`/api/v2/${coin}/wallet/${walletId}/tx/build`) .reply(200, { feeInfo: { date: '2025-03-11T16:54:31.174Z', gasPrice: '2431332', baseFee: '1431332', gasUsedRatio: '0.847974014624559', safeLowMinerTip: '1000000', normalMinerTip: '1000000', standardMinerTip: '1000000', fastestMinerTip: '1000000', ludicrousMinerTip: '1000000', }, eip1559: { maxPriorityFeePerGas: '1150000', maxFeePerGas: '4012664', }, recipients: [ { address: '0xe33e8728f320ccd98af20b19b333857ad2325f07', amount: '1000000000000000', }, ], nextContractSequenceId: 21, gasLimit: 200000, isBatch: false, coin: 'hteth', buildParams: { recipients: [ { address: '0xe33e872', amount: '1000000', }, ], }, }); sinon.stub(wallet, 'getKeychainsAndValidatePassphrase').resolves([]); await wallet .prebuildAndSignTransaction({ recipients: [ { address: '0xe33e872', amount: '1000000', }, ], }) .should.be.rejectedWith(`normal transaction amount in txPrebuild received from BitGo servers does not match txParams supplied by client`); }); it('should validate that transaction is going to batcher for multiple recepients', async function () { nock(bgUrl) .post(`/api/v2/${coin}/wallet/${walletId}/tx/build`) .reply(200, { feeInfo: { date: '2025-03-12T18:38:11.627Z', gasPrice: '22051229178', baseFee: '21051229178', gasUsedRatio: '0.055718833333333335', safeLowMinerTip: '1000000000', normalMinerTip: '1250000000', standardMinerTip: '1250000000', fastestMinerTip: '1503782862', ludicrousMinerTip: '1503782862', }, eip1559: { maxPriorityFeePerGas: '1437500000', maxFeePerGas: '43539958356', }, recipients: [ { address: '0xc1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d', amount: '3000000000000000', data: '0xc00c4e9e000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000002669c843ef62adeff9915a36349ce2542f08d9760000000000000000000000003669c843ef62adeff9915a36349ce2542f08d976000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000038d7ea4c68000', }, ], nextContractSequenceId: 22, gasLimit: 200000, isBatch: true, coin: 'hteth', buildParams: { comment: '', recipients: [ { address: '0x2669c843ef62AdEFF9915a36349cE2542F08D976', amount: '2000000000000000', }, { address: '0x3669c843ef62AdEFF9915a36349cE2542F08D976', amount: '1000000000000000', }, ], }, }); sinon.stub(wallet, 'getKeychainsAndValidatePassphrase').resolves([]); await wallet .prebuildAndSignTransaction({ comment: '', recipients: [ { address: '0x2669c843ef62AdEFF9915a36349cE2542F08D976', amount: '1000000000000000', }, { address: '0x3669c843ef62AdEFF9915a36349cE2542F08D976', amount: '1000000000000000', }, ], }) .should.be.rejectedWith(`batch transaction amount in txPrebuild received from BitGo servers does not match txParams supplied by client`); }); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJlYnVpbGRBbmRTaWduLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC92Mi91bml0L1ByZWJ1aWxkQW5kU2lnbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUErQjtBQUMvQiw2QkFBOEI7QUFFOUIsOENBQXVEO0FBQ3ZELDhDQUF3RDtBQUV4RCxzQ0FBcUM7QUFFckMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7QUFFekIsUUFBUSxDQUFDLGlCQUFpQixFQUFFO0lBQzFCLE1BQU0sS0FBSyxHQUF1QixvQkFBUyxDQUFDLFFBQVEsQ0FBQyxXQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RSxNQUFNLEtBQUssR0FBVyx1QkFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUV2RCxNQUFNLENBQUMsS0FBSztRQUNWLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDO1FBQ1IsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7UUFDN0MsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLGtDQUFrQyxDQUFDO1FBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksaUJBQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXJHLEVBQUUsQ0FBQyx3Q0FBd0MsRUFB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LElBQUksQ0FBQyxNQUFhLEVBQUUsbUNBQW1DLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFNUUsTUFBTSxNQUFNO2lCQUNULDBCQUEwQixDQUFDO2dCQUMxQixPQUFPLEVBQUUsRUFBRTtnQkFDWCxVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsT0FBTyxFQUFFLDRDQUE0Qzt3QkFDckQsTUFBTSxFQUFFLGtCQUFrQjtxQkFDM0I7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLDRDQUE0Qzt3QkFDckQsTUFBTSxFQUFFLGtCQUFrQjtxQkFDM0I7aUJBQ0Y7YUFDRixDQUFDO2lCQUNELE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUNyQiwrR0FBK0csQ0FDaEgsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCBub2NrID0gcmVxdWlyZSgnbm9jaycpO1xuXG5pbXBvcnQgeyBFbnZpcm9ubWVudHMsIFdhbGxldCB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBUZXN0YWJsZUJHLCBUZXN0Qml0R28gfSBmcm9tICdAYml0Z28vc2RrLXRlc3QnO1xuXG5pbXBvcnQgeyBCaXRHbyB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5cbm5vY2suZGlzYWJsZU5ldENvbm5lY3QoKTtcblxuZGVzY3JpYmUoJ1ByZWJ1aWxkQW5kU2lnbicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgYml0Z286IFRlc3RhYmxlQkcgJiBCaXRHbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHbywgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgY29uc3QgYmdVcmw6IHN0cmluZyA9IEVudmlyb25tZW50c1tiaXRnby5nZXRFbnYoKV0udXJpO1xuXG4gIGJlZm9yZShhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2lub24ucmVzdG9yZSgpO1xuICB9KTtcblxuICBhZnRlcihhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgbm9jay5jbGVhbkFsbCgpO1xuICB9KTtcblxuICBkZXNjcmliZSgnQWNjb3VudCBCYXNlZCBNdWx0aVNpZyBIb3QgV2FsbGV0cycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBjb2luID0gJ2h0ZXRoJztcbiAgICBjb25zdCB3YWxsZXRJZCA9ICc2NWYwNjBhMjJkZjdjZDhhNDI5NTg0NDFkNGU5MGE0NSc7XG4gICAgY29uc3Qgd2FsbGV0ID0gbmV3IFdhbGxldChiaXRnbywgYml0Z28uY29pbihjb2luKSwgeyBpZDogd2FsbGV0SWQsIGNvaW4sIG11bHRpc2lnVHlwZTogJ29uLWNoYWluJyB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYnVpbGQgd2l0aCB1c2VyIHBhcmFtcycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIG5vY2soYmdVcmwpXG4gICAgICAgIC5wb3N0KGAvYXBpL3YyLyR7Y29pbn0vd2FsbGV0LyR7d2FsbGV0SWR9L3R4L2J1aWxkYClcbiAgICAgICAgLnJlcGx5KDIwMCwge1xuICAgICAgICAgIGZlZUluZm86IHtcbiAgICAgICAgICAgIGRhdGU6ICcyMDI1LTAzLTExVDE2OjU0OjMxLjE3NFonLFxuICAgICAgICAgICAgZ2FzUHJpY2U6ICcyNDMxMzMyJyxcbiAgICAgICAgICAgIGJhc2VGZWU6ICcxNDMxMzMyJyxcbiAgICAgICAgICAgIGdhc1VzZWRSYXRpbzogJzAuODQ3OTc0MDE0NjI0NTU5JyxcbiAgICAgICAgICAgIHNhZmVMb3dNaW5lclRpcDogJzEwMDAwMDAnLFxuICAgICAgICAgICAgbm9ybWFsTWluZXJUaXA6ICcxMDAwMDAwJyxcbiAgICAgICAgICAgIHN0YW5kYXJkTWluZXJUaXA6ICcxMDAwMDAwJyxcbiAgICAgICAgICAgIGZhc3Rlc3RNaW5lclRpcDogJzEwMDAwMDAnLFxuICAgICAgICAgICAgbHVkaWNyb3VzTWluZXJUaXA6ICcxMDAwMDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVpcDE1NTk6IHtcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiAnMTE1MDAwMCcsXG4gICAgICAgICAgICBtYXhGZWVQZXJHYXM6ICc0MDEyNjY0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlY2lwaWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogJzB4ZTMzZTg3MjhmMzIwY2NkOThhZjIwYjE5YjMzMzg1N2FkMjMyNWYwNycsXG4gICAgICAgICAgICAgIGFtb3VudDogJzEwMDAwMDAwMDAwMDAwMDAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5leHRDb250cmFjdFNlcXVlbmNlSWQ6IDIxLFxuICAgICAgICAgIGdhc0xpbWl0OiAyMDAwMDAsXG4gICAgICAgICAgaXNCYXRjaDogZmFsc2UsXG4gICAgICAgICAgY29pbjogJ2h0ZXRoJyxcbiAgICAgICAgICBidWlsZFBhcmFtczoge1xuICAgICAgICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogJzB4ZTMzZTg3MicsXG4gICAgICAgICAgICAgICAgYW1vdW50OiAnMTAwMDAwMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgc2lub24uc3R1Yih3YWxsZXQgYXMgYW55LCAnZ2V0S2V5Y2hhaW5zQW5kVmFsaWRhdGVQYXNzcGhyYXNlJykucmVzb2x2ZXMoW10pO1xuXG4gICAgICBhd2FpdCB3YWxsZXRcbiAgICAgICAgLnByZWJ1aWxkQW5kU2lnblRyYW5zYWN0aW9uKHtcbiAgICAgICAgICByZWNpcGllbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGFkZHJlc3M6ICcweGUzM2U4NzInLFxuICAgICAgICAgICAgICBhbW91bnQ6ICcxMDAwMDAwJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSlcbiAgICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoXG4gICAgICAgICAgYG5vcm1hbCB0cmFuc2FjdGlvbiBhbW91bnQgaW4gdHhQcmVidWlsZCByZWNlaXZlZCBmcm9tIEJpdEdvIHNlcnZlcnMgZG9lcyBub3QgbWF0Y2ggdHhQYXJhbXMgc3VwcGxpZWQgYnkgY2xpZW50YFxuICAgICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aGF0IHRyYW5zYWN0aW9uIGlzIGdvaW5nIHRvIGJhdGNoZXIgZm9yIG11bHRpcGxlIHJlY2VwaWVudHMnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBub2NrKGJnVXJsKVxuICAgICAgICAucG9zdChgL2FwaS92Mi8ke2NvaW59L3dhbGxldC8ke3dhbGxldElkfS90eC9idWlsZGApXG4gICAgICAgIC5yZXBseSgyMDAsIHtcbiAgICAgICAgICBmZWVJbmZvOiB7XG4gICAgICAgICAgICBkYXRlOiAnMjAyNS0wMy0xMlQxODozODoxMS42MjdaJyxcbiAgICAgICAgICAgIGdhc1ByaWNlOiAnMjIwNTEyMjkxNzgnLFxuICAgICAgICAgICAgYmFzZUZlZTogJzIxMDUxMjI5MTc4JyxcbiAgICAgICAgICAgIGdhc1VzZWRSYXRpbzogJzAuMDU1NzE4ODMzMzMzMzMzMzM1JyxcbiAgICAgICAgICAgIHNhZmVMb3dNaW5lclRpcDogJzEwMDAwMDAwMDAnLFxuICAgICAgICAgICAgbm9ybWFsTWluZXJUaXA6ICcxMjUwMDAwMDAwJyxcbiAgICAgICAgICAgIHN0YW5kYXJkTWluZXJUaXA6ICcxMjUwMDAwMDAwJyxcbiAgICAgICAgICAgIGZhc3Rlc3RNaW5lclRpcDogJzE1MDM3ODI4NjInLFxuICAgICAgICAgICAgbHVkaWNyb3VzTWluZXJUaXA6ICcxNTAzNzgyODYyJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVpcDE1NTk6IHtcbiAgICAgICAgICAgIG1heFByaW9yaXR5RmVlUGVyR2FzOiAnMTQzNzUwMDAwMCcsXG4gICAgICAgICAgICBtYXhGZWVQZXJHYXM6ICc0MzUzOTk1ODM1NicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZWNpcGllbnRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGFkZHJlc3M6ICcweGMxYjdlN2NjMWVjYWZiZmQwNzcxYTVlYjU0NTRhYjViMDM1Njk4MGQnLFxuICAgICAgICAgICAgICBhbW91bnQ6ICczMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgZGF0YTogJzB4YzAwYzRlOWUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBhMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNjY5Yzg0M2VmNjJhZGVmZjk5MTVhMzYzNDljZTI1NDJmMDhkOTc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzY2OWM4NDNlZjYyYWRlZmY5OTE1YTM2MzQ5Y2UyNTQyZjA4ZDk3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOGQ3ZWE0YzY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzhkN2VhNGM2ODAwMCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbmV4dENvbnRyYWN0U2VxdWVuY2VJZDogMjIsXG4gICAgICAgICAgZ2FzTGltaXQ6IDIwMDAwMCxcbiAgICAgICAgICBpc0JhdGNoOiB0cnVlLFxuICAgICAgICAgIGNvaW46ICdodGV0aCcsXG4gICAgICAgICAgYnVpbGRQYXJhbXM6IHtcbiAgICAgICAgICAgIGNvbW1lbnQ6ICcnLFxuICAgICAgICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogJzB4MjY2OWM4NDNlZjYyQWRFRkY5OTE1YTM2MzQ5Y0UyNTQyRjA4RDk3NicsXG4gICAgICAgICAgICAgICAgYW1vdW50OiAnMjAwMDAwMDAwMDAwMDAwMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiAnMHgzNjY5Yzg0M2VmNjJBZEVGRjk5MTVhMzYzNDljRTI1NDJGMDhEOTc2JyxcbiAgICAgICAgICAgICAgICBhbW91bnQ6ICcxMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICBzaW5vbi5zdHViKHdhbGxldCBhcyBhbnksICdnZXRLZXljaGFpbnNBbmRWYWxpZGF0ZVBhc3NwaHJhc2UnKS5yZXNvbHZlcyhbXSk7XG5cbiAgICAgIGF3YWl0IHdhbGxldFxuICAgICAgICAucHJlYnVpbGRBbmRTaWduVHJhbnNhY3Rpb24oe1xuICAgICAgICAgIGNvbW1lbnQ6ICcnLFxuICAgICAgICAgIHJlY2lwaWVudHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogJzB4MjY2OWM4NDNlZjYyQWRFRkY5OTE1YTM2MzQ5Y0UyNTQyRjA4RDk3NicsXG4gICAgICAgICAgICAgIGFtb3VudDogJzEwMDAwMDAwMDAwMDAwMDAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogJzB4MzY2OWM4NDNlZjYyQWRFRkY5OTE1YTM2MzQ5Y0UyNTQyRjA4RDk3NicsXG4gICAgICAgICAgICAgIGFtb3VudDogJzEwMDAwMDAwMDAwMDAwMDAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KVxuICAgICAgICAuc2hvdWxkLmJlLnJlamVjdGVkV2l0aChcbiAgICAgICAgICBgYmF0Y2ggdHJhbnNhY3Rpb24gYW1vdW50IGluIHR4UHJlYnVpbGQgcmVjZWl2ZWQgZnJvbSBCaXRHbyBzZXJ2ZXJzIGRvZXMgbm90IG1hdGNoIHR4UGFyYW1zIHN1cHBsaWVkIGJ5IGNsaWVudGBcbiAgICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==