UNPKG

bitgo

Version:
1,374 lines • 143 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * @prettier */ const nock = require("nock"); const sdk_core_1 = require("@bitgo/sdk-core"); module.exports.nockXrpRecovery = function nockXrpRecovery() { nock('https://s.altnet.rippletest.net:51234', { allowUnmocked: false }) .post('/', { method: 'account_info', params: [ { account: 'raGZWRkRBUWdQJsKYEzwXJNbCZMTqX56aA', strict: true, ledger_index: 'current', queue: true, signer_lists: true, }, ], }) .reply(200, { result: { account_data: { Account: 'raGZWRkRBUWdQJsKYEzwXJNbCZMTqX56aA', Balance: '9944000000', Flags: 1179648, LedgerEntryType: 'AccountRoot', OwnerCount: 5, PreviousTxnID: '82460E9FAF24F53388DC9CBA91934B3F82107148CD20BD26E80DF774323545C3', PreviousTxnLgrSeq: 396996, Sequence: 4, index: 'C676D324BA53FEDF601F7EAFBC88DAC5E7440FF491EBC54066ECDB61A2B2D1EC', signer_lists: [ { Flags: 0, LedgerEntryType: 'SignerList', OwnerNode: '0000000000000000', PreviousTxnID: '0E9BF2DBAA36539FA4CDB3FF8ABF5DC9A43859C33953385C9486AD63E451B2FC', PreviousTxnLgrSeq: 396943, SignerEntries: [ { SignerEntry: { Account: 'raSYaBTfbeARRdacGBbs5tjA7XkyB1RC8x', SignerWeight: 1, }, }, { SignerEntry: { Account: 'rGevN87RpWBbdLxKCF4FAqWgRoSyMJA81f', SignerWeight: 1, }, }, { SignerEntry: { Account: 'rGmQHwvb5SZRbyhp4JBHdpRzSmgqADxPbE', SignerWeight: 1, }, }, ], SignerListID: 0, SignerQuorum: 2, index: 'A36A7ED6108FF7F871C0EC3CF573FE23CC9780436D64A2EE069A8F27E8D40471', }, ], }, ledger_current_index: 397138, queue_data: { txn_count: 0, }, status: 'success', validated: false, }, }) .post('/', { method: 'fee' }) .reply(200, { result: { current_ledger_size: '0', current_queue_size: '0', drops: { base_fee: '10', median_fee: '5000', minimum_fee: '10', open_ledger_fee: '10', }, expected_ledger_size: '51', ledger_current_index: 397138, levels: { median_level: '128000', minimum_level: '256', open_ledger_level: '256', reference_level: '256', }, max_queue_size: '1020', status: 'success', }, }) .post('/', { method: 'server_info' }) .reply(200, { result: { info: { build_version: '0.70.1', complete_ledgers: '386967-397137', hostid: 'HI', io_latency_ms: 1, last_close: { converge_time_s: 1.999, proposers: 4, }, load_factor: 1, peers: 4, pubkey_node: 'n9KMmZw85d5erkaTv62Vz6SbDJSyeihAEB3jwnb3Bqnr2AydRVep', server_state: 'proposing', state_accounting: { connected: { duration_us: '4999941', transitions: 1, }, disconnected: { duration_us: '1202712', transitions: 1, }, full: { duration_us: '94064175867', transitions: 1, }, syncing: { duration_us: '6116096', transitions: 1, }, tracking: { duration_us: '3', transitions: 1, }, }, uptime: 94077, validated_ledger: { age: 3, base_fee_xrp: 0.00001, hash: '918D326D224F8F49B07B02CD0A2207B7239BBFA824CF512F8D1D9DBCADC115E5', reserve_base_xrp: 20, reserve_inc_xrp: 5, seq: 397137, }, validation_quorum: 4, }, status: 'success', }, }) .post('/', { method: 'account_lines', params: [ { account: 'raGZWRkRBUWdQJsKYEzwXJNbCZMTqX56aA', ledger_index: 'validated', }, ], }) .reply(200, { result: { account: 'rMficzfw4t5iGu9hhB23eKwDjM879vJWTR', ledger_hash: 'E6F38D1D7B94153BF7FFC8D8CC1DF57D57151D26FC2EB7647B5631786B955EFF', ledger_index: 1848964, lines: [], validated: true, }, }); }; const nockEthData = [ { params: { module: 'account', action: 'txlist', address: '0x74c2137d54b0fc9f907e13f14e0dd18485fee924', }, response: { status: '0', message: 'No transactions found', result: [], }, }, { params: { module: 'account', action: 'balance', address: '0x74c2137d54b0fc9f907e13f14e0dd18485fee924', }, response: { status: '1', message: 'OK', result: '100000000000000000', }, }, { params: { module: 'account', action: 'balance', address: '0x5df5a96b478bb1808140d87072143e60262e8670', }, response: { status: '1', message: 'OK', result: '2200000000000000000', }, }, { params: { module: 'account', action: 'txlist', address: '0xba6d9d82cf2920c544b834b72f4c6d11a3ef3de6', }, response: { status: '0', message: 'No transactions found', result: [], }, }, { params: { module: 'account', action: 'balance', address: '0xba6d9d82cf2920c544b834b72f4c6d11a3ef3de6', }, response: { status: '1', message: 'OK', result: '0', }, }, { params: { module: 'account', action: 'txlist', address: '0x74c2137d54b0fc9f907e13f14e0dd18485fee924', }, response: { status: '0', message: 'No transactions found', result: [], }, }, { params: { module: 'account', action: 'balance', address: '0x74c2137d54b0fc9f907e13f14e0dd18485fee924', }, response: { status: '1', message: 'OK', result: '100000000000000000', }, }, { params: { module: 'account', action: 'balance', address: '0x5df5a96b478bb1808140d87072143e60262e8670', }, response: { status: '1', message: 'OK', result: '2200000000000000000', }, }, { params: { module: 'proxy', action: 'eth_call', to: '0x5df5a96b478bb1808140d87072143e60262e8670', data: 'a0b7967b', tag: 'latest', }, response: { jsonrpc: '2.0', result: '0x0000000000000000000000000000000000000000000000000000000000000001', id: 1, }, }, { params: { module: 'account', action: 'balance', address: '0xa1a88a502274073b1bc4fe06ea0f5fe77e151b91', }, response: { status: '1', message: 'OK', result: '20000000000000000', }, }, { params: { module: 'account', action: 'txlist', address: '0xa1a88a502274073b1bc4fe06ea0f5fe77e151b91', }, response: { status: '1', message: 'OK', result: [ { blockNumber: '26745364', timeStamp: '1628778676', hash: '0x41d589b7b12abfad4975f42e62d3b96de1eb9ca477f62b4d5a49b140c3fb6a21', nonce: '4', blockHash: '0x908c07cc1425e90a0d58e5cc1b109510e14097e04aae741f8de874bfd0f7d87b', transactionIndex: '2', from: '0x1ce43f2185de5734d3004dd0283f58eaec787e4a', to: '0xa1a88a502274073b1bc4fe06ea0f5fe77e151b91', value: '20000000000000000', gas: '21000', gasPrice: '1000000000', isError: '0', txreceipt_status: '1', input: '0x', contractAddress: '', cumulativeGasUsed: '357536', gasUsed: '21000', confirmations: '959', }, ], }, }, { params: { module: 'account', action: 'txlist', address: '0xa1a88a502274073b1bc4fe06ea0f5fe77e151b91', }, response: { status: '1', message: 'OK', result: [ { blockNumber: '26745364', timeStamp: '1628778676', hash: '0x41d589b7b12abfad4975f42e62d3b96de1eb9ca477f62b4d5a49b140c3fb6a21', nonce: '4', blockHash: '0x908c07cc1425e90a0d58e5cc1b109510e14097e04aae741f8de874bfd0f7d87b', transactionIndex: '2', from: '0x1ce43f2185de5734d3004dd0283f58eaec787e4a', to: '0xa1a88a502274073b1bc4fe06ea0f5fe77e151b91', value: '20000000000000000', gas: '21000', gasPrice: '1000000000', isError: '0', txreceipt_status: '1', input: '0x', contractAddress: '', cumulativeGasUsed: '357536', gasUsed: '21000', confirmations: '959', }, ], }, }, { params: { module: 'account', action: 'tokenbalance', contractaddress: '0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa', address: '0xdf07117705a9f8dc4c2a78de66b7f1797dba9d4e', tag: 'latest', }, response: { status: '1', message: 'OK', result: '1000000000000000000', }, }, { params: { module: 'proxy', action: 'eth_call', to: '0xdf07117705a9f8dc4c2a78de66b7f1797dba9d4e', data: 'a0b7967b', tag: 'latest', }, response: { jsonrpc: '2.0', result: '0x0000000000000000000000000000000000000000000000000000000000002a7f', id: 1, }, }, { params: { module: 'account', action: 'balance', address: '0xdf07117705a9f8dc4c2a78de66b7f1797dba9d4e', }, response: { status: '1', message: 'OK', result: '9999999999999999928', }, }, ]; module.exports.nockEthLikeRecovery = function (bitgo, nockData = nockEthData) { let apiKey; if (sdk_core_1.Environments[bitgo.getEnv()].etherscanApiToken) { apiKey = sdk_core_1.Environments[bitgo.getEnv()].etherscanApiToken; } nockData.forEach((data) => { if (apiKey) { data.params.apiKey = apiKey; } data.params[`chainid`] = '560048'; nock('https://api.etherscan.io/v2').get('/api').query(data.params).reply(200, data.response); data.params[`chainid`] = '80002'; nock('https://api.etherscan.io/v2').get('/api').query(data.params).reply(200, data.response); data.params[`chainid`] = '97'; nock('https://api.etherscan.io/v2').get('/api').query(data.params).reply(200, data.response); }); }; module.exports.nockVetRecovery = function (bitgo, baseAddress) { // nock for account balance const url = sdk_core_1.Environments[bitgo.getEnv()].vetNodeUrl; nock(url).get(`/accounts/${baseAddress}`).reply(200, { balance: '0x8ac7230489e80000', energy: '0x5969b539627800', hasCode: false, }); nock(url).get('/blocks/best').reply(200, { number: 23107826, id: '0x016098f2a6779c3ad2bb52ef0a3f57c770af55a77bfa1b2837266f752118ad8d', size: 368, parentID: '0x016098f1acffb0125ffeca9b3e2491d31574d14b55a15e912e45e8081e063e0e', timestamp: 1761116630, gasLimit: 40000000, beneficiary: '0xae99cb89767a09d53e589a40cb4016974aba4b94', gasUsed: 0, totalScore: 218523577, txsRoot: '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0', txsFeatures: 1, stateRoot: '0x7a5e7b3b8b89958e7fdd5e14acbc79dbc419672e84d02376a43b3beebe555e33', receiptsRoot: '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0', com: true, signer: '0xae99cb89767a09d53e589a40cb4016974aba4b94', isTrunk: true, isFinalized: false, baseFeePerGas: '0x9184e72a000', transactions: [], }); nock(url) .post('/accounts/*', { clauses: [ { to: '0xac05da78464520aa7c9d4c19bd7a440b111b3054', value: '10000000000000000000', data: '0x', }, ], caller: `${baseAddress}`, }) .reply(200, [ { data: '0x', events: [], transfers: [ { sender: `${baseAddress}`, recipient: '0xac05da78464520aa7c9d4c19bd7a440b111b3054', amount: '0x8ac7230489e80000', }, ], gasUsed: 0, reverted: false, vmError: '', }, ]); // nock for vtho balance for gas nock(url) .post('/accounts/*', { clauses: [ { to: '0x0000000000000000000000000000456E65726779', value: '0x0', data: `0x70a08231000000000000000000000000${baseAddress.slice(2)}`, }, ], }) .reply(200, [ { data: '0x000000000000000000000000000000000000000000000007e982789f8fe0cf0a', events: [], transfers: [], gasUsed: 870, reverted: false, vmError: '', }, ]); nock(url) .post('/transactions', { raw: /^0x[0-9a-f]+$/i, }) .reply(200, { id: '0x' + 'a'.repeat(64), // A fake transaction ID reverted: false, }); }; module.exports.nockVetTokenRecovery = function (bitgo, baseAddress) { // nock for account balance const url = sdk_core_1.Environments[bitgo.getEnv()].vetNodeUrl; nock(url) .post('/accounts/*', { clauses: [ { to: '0x0000000000000000000000000000456E65726779', value: '0x0', data: `0x70a08231000000000000000000000000${baseAddress.slice(2)}`, }, ], }) .reply(200, [ { data: '0x000000000000000000000000000000000000000000000000416003863bd917f8', events: [], transfers: [], gasUsed: 870, reverted: false, vmError: '', }, ]); nock(url).get('/blocks/best').reply(200, { number: 23107826, id: '0x016098f2a6779c3ad2bb52ef0a3f57c770af55a77bfa1b2837266f752118ad8d', size: 368, parentID: '0x016098f1acffb0125ffeca9b3e2491d31574d14b55a15e912e45e8081e063e0e', timestamp: 1761116630, gasLimit: 40000000, beneficiary: '0xae99cb89767a09d53e589a40cb4016974aba4b94', gasUsed: 0, totalScore: 218523577, txsRoot: '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0', txsFeatures: 1, stateRoot: '0x7a5e7b3b8b89958e7fdd5e14acbc79dbc419672e84d02376a43b3beebe555e33', receiptsRoot: '0x45b0cfc220ceec5b7c1c62c4d4193d38e4eba48e8815729ce75f9c0ab0e4c1c0', com: true, signer: '0xae99cb89767a09d53e589a40cb4016974aba4b94', isTrunk: true, isFinalized: false, baseFeePerGas: '0x9184e72a000', transactions: [], }); nock(url) .post('/accounts/*', { clauses: [ { to: '0x0000000000000000000000000000456E65726779', value: '0x0', data: '0xa9059cbb000000000000000000000000ac05da78464520aa7c9d4c19bd7a440b111b305400000000000000000000000000000000000000000000000036a9d31575bcee8e', }, ], caller: `${baseAddress}`, }) .reply(200, [ { data: '0x0000000000000000000000000000000000000000000000000000000000000001', events: [ { address: '0x0000000000000000000000000000456e65726779', topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x000000000000000000000000880ff4718587d678e78fc7803b3634bd12ecf019', '0x000000000000000000000000ac05da78464520aa7c9d4c19bd7a440b111b3054', ], data: '0x00000000000000000000000000000000000000000000000036a9d31575bcee8e', }, ], transfers: [], gasUsed: 13326, reverted: false, vmError: '', }, ]); // nock for vtho balance for gas nock(url) .post('/accounts/*', { clauses: [ { to: '0x0000000000000000000000000000456E65726779', value: '0x0', data: `0x70a08231000000000000000000000000${baseAddress.slice(2)}`, }, ], }) .reply(200, [ { data: '0x000000000000000000000000000000000000000000000000416003863bd917f8', events: [], transfers: [], gasUsed: 870, reverted: false, vmError: '', }, ]); nock(url) .post('/transactions', { raw: /^0x[0-9a-f]+$/i, }) .reply(200, { id: '0x' + 'a'.repeat(64), // A fake transaction ID reverted: false, }); }; module.exports.nockEtherscanRateLimitError = function () { const response = { status: '0', message: 'NOTOK', result: 'Max rate limit reached, rate limit of 3/1sec applied"', }; const params = { chainid: '560048', module: 'account', action: 'txlist', address: '0x74c2137d54b0fc9f907e13f14e0dd18485fee924', }; nock('https://api.etherscan.io/v2').get('/api').query(params).reply(200, response); }; module.exports.nockXlmRecovery = function () { nock('https://horizon-testnet.stellar.org') .get('/accounts/GAGCQLUGMX76XC24JRCRJWOHXK23ONURH4433JOEPU6CH7Z44CCYUCEL') .reply(404, { status: 404, }) .get('/accounts/GASW277S2ZOE7H7A5EQ5H5AKLP6UA6Z5AKOSWV6ARBEGTSIGMZMC7AIZ') .reply(200, { balance: '10', }) .get('/accounts/GAUAGTL3NBZ7NP3UIMZCVJYM6O2NKUP6XRTK4E5VZDVIQX3CBYIVMDIB') .reply(200, { id: 'GAUAGTL3NBZ7NP3UIMZCVJYM6O2NKUP6XRTK4E5VZDVIQX3CBYIVMDIB', paging_token: '', account_id: 'GAUAGTL3NBZ7NP3UIMZCVJYM6O2NKUP6XRTK4E5VZDVIQX3CBYIVMDIB', sequence: '47339455954026497', subentry_count: 3, thresholds: { low_threshold: 1, med_threshold: 2, high_threshold: 3, }, flags: { auth_required: false, auth_revocable: false, }, balances: [ { balance: '9.9999600', buying_liabilities: '0.0000000', selling_liabilities: '0.0000000', asset_type: 'native', }, ], signers: [ { public_key: 'GBNK4FJO6FDQNBVLUP7MICEJUVINPNJZCDDTTYS3LVFC6J7LKEXLOBKM', weight: 1, key: 'GBNK4FJO6FDQNBVLUP7MICEJUVINPNJZCDDTTYS3LVFC6J7LKEXLOBKM', type: 'ed25519_public_key', }, { public_key: 'GCBABJPE3UTZ3JPUEIZEXAQQ5CMNX5UPYKOB7HHXSHBCIGD7VV64H6KU', weight: 1, key: 'GCBABJPE3UTZ3JPUEIZEXAQQ5CMNX5UPYKOB7HHXSHBCIGD7VV64H6KU', type: 'ed25519_public_key', }, { public_key: 'GBSKZM7HG4S2W4N4H65XHTGS724HQA7EFMSSCVLPWW53ZFL6SNVFJKJO', weight: 1, key: 'GBSKZM7HG4S2W4N4H65XHTGS724HQA7EFMSSCVLPWW53ZFL6SNVFJKJO', type: 'ed25519_public_key', }, { public_key: 'GAUAGTL3NBZ7NP3UIMZCVJYM6O2NKUP6XRTK4E5VZDVIQX3CBYIVMDIB', weight: 0, key: 'GAUAGTL3NBZ7NP3UIMZCVJYM6O2NKUP6XRTK4E5VZDVIQX3CBYIVMDIB', type: 'ed25519_public_key', }, ], data: {}, }) .get('/ledgers') .query(true) .times(2) .reply(200, { _links: { self: { href: 'https://horizon-testnet.stellar.org/ledgers?c=0.37643100613718006&cursor=&limit=1&order=desc', }, next: { href: 'https://horizon-testnet.stellar.org/ledgers?c=0.37643100613718006&cursor=48419653113872384&limit=1&order=desc', }, prev: { href: 'https://horizon-testnet.stellar.org/ledgers?c=0.37643100613718006&cursor=48419653113872384&limit=1&order=asc', }, }, _embedded: { records: [ { _links: { self: { href: 'https://horizon-testnet.stellar.org/ledgers/11273579', }, transactions: { href: 'https://horizon-testnet.stellar.org/ledgers/11273579/transactions{?cursor,limit,order}', templated: true, }, operations: { href: 'https://horizon-testnet.stellar.org/ledgers/11273579/operations{?cursor,limit,order}', templated: true, }, payments: { href: 'https://horizon-testnet.stellar.org/ledgers/11273579/payments{?cursor,limit,order}', templated: true, }, effects: { href: 'https://horizon-testnet.stellar.org/ledgers/11273579/effects{?cursor,limit,order}', templated: true, }, }, id: '5fab170a47afa15cc130790f8c3bcb846fa295b1fa51139437c4d120878e850f', paging_token: '48419653113872384', hash: '5fab170a47afa15cc130790f8c3bcb846fa295b1fa51139437c4d120878e850f', prev_hash: '5efe6f32662af8ab2d8a5f8984c027ad330f181bf5b9e3812d5a08f62e2cb978', sequence: 11273579, transaction_count: 0, operation_count: 0, closed_at: '2018-09-27T22:13:35Z', total_coins: '104284715255.7420028', fee_pool: '1708880873.6769687', base_fee_in_stroops: 100, base_reserve_in_stroops: 5000000, max_tx_set_size: 50, protocol_version: 10, header_xdr: 'AAAACl7+bzJmKvirLYpfiYTAJ60zDxgb9bnjgS1aCPYuLLl4NB4MFpS0jQk8X3Ut93c2Q7cYEEWnhZ3tteMhZnztSM8AAAAAW61WDwAAAAAAAAAALzWviJxVDV+wrzVnS4YoI8xI050aKnAfney+tZxfcY2aFysDFVMF16cqgZjw8yiyzyfc1u0eqpLtLrZyYEam/ACsBWsOeO/1wzZt/AA8ti5WY8aXAAAA3QAAAAAAC4SRAAAAZABMS0AAAAAyuglBsLFyGmBOqJ250fDa76bY5/c1v9TBQl0ALhzx2G6vXcdZSm8aoCBPWHZBrK7GfpHa4DbiDqIav4yzjanIUSJ9CWKlXQXHWff9yKUlpaVJJy4TcELJV3w0nlwaNbRzLf+JwGVYb6BnB2GiZESvf1yEibvlU21ZVeEBsccbkg4AAAAA', }, ], }, }); }; module.exports.nockTronRecovery = function () { // full node - sendTrx from tronweb, build transaction call nock('https://api.shasta.trongrid.io') .post('/wallet/createtransaction') .reply(200, { visible: false, txID: '312c9254667b7dc4823f69e9e20ed55c2fb81f0421f956c5e85680d098e75ac8', raw_data: { contract: [ { parameter: { value: { amount: 10000000, owner_address: '41e7e11df2c5704888c3cb63fb43a9498bd1812cb2', to_address: '41f5f414d447aafe70bb9b9d93912cbc4c54f0c014', }, type_url: 'type.googleapis.com/protocol.TransferContract', }, type: 'TransferContract', }, ], ref_block_bytes: 'a762', ref_block_hash: '18dfe946fbf7a0ac', expiration: 1676660043000, timestamp: 1676659983799, }, raw_data_hex: '0a02a762220818dfe946fbf7a0ac40f8d9e785e6305a69080112650a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412340a1541e7e11df2c5704888c3cb63fb43a9498bd1812cb2121541f5f414d447aafe70bb9b9d93912cbc4c54f0c01418c8d19cad0370b78be485e630', }); // full node - retrieve account information call nock('https://api.shasta.trongrid.io') .get('/v1/accounts/TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE') .reply(200, { data: [ { latest_opration_time: 1676487672000, owner_permission: { keys: [ { address: 'TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE', weight: 1, }, { address: 'TDtGJarCHn1HN9APyvh3q2HVk6kW3qnpmF', weight: 1, }, { address: 'TGqQdH1jEJwsUTY5Pyfz8GBMio8BgPb6nK', weight: 1, }, ], threshold: 2, permission_name: 'owner', }, account_resource: { latest_consume_time_for_energy: 1676487672000, }, active_permission: [ { operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000', keys: [ { address: 'TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE', weight: 1, }, { address: 'TDtGJarCHn1HN9APyvh3q2HVk6kW3qnpmF', weight: 1, }, { address: 'TGqQdH1jEJwsUTY5Pyfz8GBMio8BgPb6nK', weight: 1, }, ], threshold: 2, id: 2, type: 'Active', permission_name: 'active0', }, ], frozenV2: [ {}, { type: 'ENERGY', }, { type: 'UNKNOWN_ENUM_VALUE_ResourceCode_2', }, ], address: '41e7e11df2c5704888c3cb63fb43a9498bd1812cb2', balance: 901147400, create_time: 1676487288000, trc20: [], latest_consume_free_time: 1676487672000, }, ], success: true, meta: { at: 1676655089952, page_size: 1, }, }); }; module.exports.nockTronReceiveRecovery = function () { // full node - sendTrx from tronweb, build transaction call nock('https://api.shasta.trongrid.io') .post('/wallet/createtransaction') .reply(200, { visible: false, txID: 'cb9a1b5569e8c09197d1e9bba51357159ffa8b7e6b18306ea615073fc8842b64', raw_data: { contract: [ { parameter: { value: { amount: 199000000, owner_address: '418b04ecdc3db7e8da7cd838492f66e424a051e2cd', to_address: '4132c753bf8d3de7358748a75fcf299f146dff6e4e', }, type_url: 'type.googleapis.com/protocol.TransferContract', }, type: 'TransferContract', }, ], ref_block_bytes: '81e0', ref_block_hash: '5b1b20e9ebeaa4f8', expiration: 1685952282000, timestamp: 1685952224483, }, raw_data_hex: '0a0281e022085b1b20e9ebeaa4f84090fbd8d488315a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a15418b04ecdc3db7e8da7cd838492f66e424a051e2cd12154132c753bf8d3de7358748a75fcf299f146dff6e4e18c0fff15e70e3b9d5d48831', }); // full node - retrieve account information call // Zero Balance nock('https://api.shasta.trongrid.io') .get('/v1/accounts/TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE') .reply(200, { data: [ { latest_opration_time: 1685950887000, owner_permission: { keys: [ { address: 'TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE', weight: 1, }, { address: 'TDtGJarCHn1HN9APyvh3q2HVk6kW3qnpmF', weight: 1, }, { address: 'TGqQdH1jEJwsUTY5Pyfz8GBMio8BgPb6nK', weight: 1, }, ], threshold: 2, permission_name: 'owner', }, free_net_usage: 335, account_resource: { latest_consume_time_for_energy: 1676487672000, energy_window_size: 28800, }, active_permission: [ { operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000', keys: [ { address: 'TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE', weight: 1, }, { address: 'TDtGJarCHn1HN9APyvh3q2HVk6kW3qnpmF', weight: 1, }, { address: 'TGqQdH1jEJwsUTY5Pyfz8GBMio8BgPb6nK', weight: 1, }, ], threshold: 2, id: 2, type: 'Active', permission_name: 'active0', }, ], frozenV2: [ {}, { type: 'ENERGY', }, { type: 'UNKNOWN_ENUM_VALUE_ResourceCode_2', }, ], address: '41e7e11df2c5704888c3cb63fb43a9498bd1812cb2', create_time: 1676487288000, trc20: [], latest_consume_free_time: 1685950887000, net_window_size: 28800, }, ], success: true, meta: { at: 1685951137816, page_size: 1, }, }); // receive address with balance nock('https://api.shasta.trongrid.io') .get('/v1/accounts/TNeGpwAurk7kjQLdcdWhFr8YP8E9Za8w1x') .reply(200, { data: [ { owner_permission: { keys: [ { address: 'TNeGpwAurk7kjQLdcdWhFr8YP8E9Za8w1x', weight: 1, }, ], threshold: 1, permission_name: 'owner', }, account_resource: { energy_window_size: 28800, }, active_permission: [ { operations: '7fff1fc0033ec307000000000000000000000000000000000000000000000000', keys: [ { address: 'TNeGpwAurk7kjQLdcdWhFr8YP8E9Za8w1x', weight: 1, }, ], threshold: 1, id: 2, type: 'Active', permission_name: 'active', }, ], frozenV2: [ {}, { type: 'ENERGY', }, { type: 'UNKNOWN_ENUM_VALUE_ResourceCode_2', }, ], address: '418b04ecdc3db7e8da7cd838492f66e424a051e2cd', balance: 200000000, create_time: 1685952000000, trc20: [], net_window_size: 28800, }, ], success: true, meta: { at: 1685952122106, page_size: 1, }, }); }; module.exports.nockTronReceiveRecoveryZeroFunds = function () { // full node - retrieve account information call // Nocking Zero Balance nock('https://api.shasta.trongrid.io') .persist() .get((uri) => uri.includes('/v1/accounts/')) .reply(200, { data: [ { latest_opration_time: 1685950887000, owner_permission: { keys: [ { address: 'TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE', weight: 1, }, { address: 'TDtGJarCHn1HN9APyvh3q2HVk6kW3qnpmF', weight: 1, }, { address: 'TGqQdH1jEJwsUTY5Pyfz8GBMio8BgPb6nK', weight: 1, }, ], threshold: 2, permission_name: 'owner', }, free_net_usage: 335, account_resource: { latest_consume_time_for_energy: 1676487672000, energy_window_size: 28800, }, active_permission: [ { operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000', keys: [ { address: 'TX7GmmrfbgTGYK6a2C8vnBr5TuQbrGmVHE', weight: 1, }, { address: 'TDtGJarCHn1HN9APyvh3q2HVk6kW3qnpmF', weight: 1, }, { address: 'TGqQdH1jEJwsUTY5Pyfz8GBMio8BgPb6nK', weight: 1, }, ], threshold: 2, id: 2, type: 'Active', permission_name: 'active0', }, ], frozenV2: [ {}, { type: 'ENERGY', }, { type: 'UNKNOWN_ENUM_VALUE_ResourceCode_2', }, ], address: '41e7e11df2c5704888c3cb63fb43a9498bd1812cb2', create_time: 1676487288000, trc20: [], latest_consume_free_time: 1685950887000, net_window_size: 28800, }, ], success: true, meta: { at: 1685951137816, page_size: 1, }, }); }; module.exports.nockTronTokenRecovery = function () { // full node - sendTrx from tronweb, build transaction call nock('https://api.shasta.trongrid.io') .post('/wallet/triggersmartcontract') .reply(200, { result: { result: true, }, transaction: { visible: false, txID: '06d51eb1b4bd35d1f323c6edd6d63d7f11b1651b024e548ea2a8872a8fad7f5c', raw_data: { contract: [ { parameter: { value: { data: 'a9059cbb000000000000000000000000f5f414d447aafe70bb9b9d93912cbc4c54f0c0140000000000000000000000000000000000000000000000000000000124101100', owner_address: '416a0a05e098c628f7f3ca63dbb5756e5c0c018521', contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0', }, type_url: 'type.googleapis.com/protocol.TriggerSmartContract', }, type: 'TriggerSmartContract', }, ], ref_block_bytes: 'a71c', ref_block_hash: 'd0ecb53aa03882a6', expiration: 1676659815000, fee_limit: 100000000, timestamp: 1676659758242, }, raw_data_hex: '0a02a71c2208d0ecb53aa03882a640d8e4d985e6305aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a15416a0a05e098c628f7f3ca63dbb5756e5c0c01852112154142a1e39aefa49290f2b3f9ed688d7cecf86cd6e02244a9059cbb000000000000000000000000f5f414d447aafe70bb9b9d93912cbc4c54f0c014000000000000000000000000000000000000000000000000000000012410110070a2a9d685e630900180c2d72f', }, }); // full node - retrieve account information call nock('https://api.shasta.trongrid.io') .get('/v1/accounts/TKdtdoNiqqEyGsMmJyb5pgwSYf7dTCcmKY') .reply(200, { data: [ { latest_opration_time: 1676487351000, owner_permission: { keys: [ { address: 'TKdtdoNiqqEyGsMmJyb5pgwSYf7dTCcmKY', weight: 1, }, { address: 'TQmVnE97fXeP6wEhzrmSWLbUQGsmgSy1KE', weight: 1, }, { address: 'TYdnm79iTh4ZEY83HpjkpKk55htujxYtc9', weight: 1, }, ], threshold: 2, permission_name: 'owner', }, account_resource: { latest_consume_time_for_energy: 1676487351000, }, active_permission: [ { operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000', keys: [ { address: 'TKdtdoNiqqEyGsMmJyb5pgwSYf7dTCcmKY', weight: 1, }, { address: 'TQmVnE97fXeP6wEhzrmSWLbUQGsmgSy1KE', weight: 1, }, { address: 'TYdnm79iTh4ZEY83HpjkpKk55htujxYtc9', weight: 1, }, ], threshold: 2, id: 2, type: 'Active', permission_name: 'active0', }, ], frozenV2: [ {}, { type: 'ENERGY', }, { type: 'UNKNOWN_ENUM_VALUE_ResourceCode_2', }, ], address: '416a0a05e098c628f7f3ca63dbb5756e5c0c018521', balance: 3889047400, create_time: 1676486460000, trc20: [ { TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs: '4900000000', }, ], latest_consume_free_time: 1676487351000, }, ], success: true, meta: { at: 1676654983645, page_size: 1, }, }); }; module.exports.nockEosRecovery = function () { nock('https://kylin.eosn.io').post('*').reply(502); nock('https://kylin.eosn.io') .post('/v1/chain/get_info') .reply(200, { server_version: '14185431', chain_id: '2a02a0053e5a8cf73a56ba0fda11e4d92e0238a4a2aa74fccf46d5a910746840', head_block_num: 39752030, last_irreversible_block_num: 39751705, last_irreversible_block_id: '025e90194fbe7ba5773af4b3ed099aaed0fb26b8f7750e414ea0ee975a04cdc1', head_block_id: '025e915eff653f4ad408e1b36e40f6b4d842afde81672446f91ca1e615ebf03c', head_block_time: '2019-07-18T17:52:49.000', head_block_producer: 'eosnationftw', virtual_block_cpu_limit: 200000000, virtual_block_net_limit: 524288000, block_cpu_limit: 199900, block_net_limit: 524288, server_version_string: 'v1.8.1', fork_db_head_block_num: 39752030, fork_db_head_block_id: '025e915eff653f4ad408e1b36e40f6b4d842afde81672446f91ca1e615ebf03c', }) .post('/v1/chain/get_block', { block_num_or_id: 39752030 }) .reply(200, { timestamp: '2019-07-18T17:52:49.000', producer: 'eosnationftw', confirmed: 0, previous: '025e915dcf7ce855a5818f17c78f3bedc16bfa505aa8d27b26860fe875112e5e', transaction_mroot: '0000000000000000000000000000000000000000000000000000000000000000', action_mroot: 'd71fc942fb9fcd337692f037d3fb967d76ddd2b30bae40450d1feef50f56ceec', schedule_version: 245, new_producers: null, header_extensions: [], producer_signature: 'SIG_K1_JwDWGq1SxPHw5xTwUzZ1Hf4YCdvzsYvAoh9nNvGXjyXjk57pLb5fc8in3vop9h1mMdZtsRhEYa4bV9P4fMvHXcqiFjw83y', transactions: [], block_extensions: [], id: '025e915eff653f4ad408e1b36e40f6b4d842afde81672446f91ca1e615ebf03c', block_num: 39752030, ref_block_prefix: 3017869524, }) .post('/v1/chain/get_account', { account_name: 'jzjkpn1bjnti' }) .reply(200, { account_name: 'jzjkpn1bjnti', head_block_num: 39739576, head_block_time: '2019-07-18T16:08:34.500', privileged: false, last_code_update: '1970-01-01T00:00:00.000', created: '2019-07-18T12:52:10.000', core_liquid_balance: '99.0000 EOS', ram_quota: 9586, net_weight: 0, cpu_weight: 0, net_limit: { used: 161, available: 0, max: 0, }, cpu_limit: { used: 419, available: 0, max: 0, }, ram_usage: 3324, permissions: [ { perm_name: 'active', parent: 'owner', required_auth: { threshold: 2, keys: [ { key: 'EOS5ecwm5UH1b2ggGJTq5r1aqd1cgKsi3NUYPJbLakana57E1anP2', weight: 1, }, { key: 'EOS5oyoziJUH2u3KJu9fUFmahrkMC1x86hdBs5768tA9N3R7zENHx', weight: 1, }, { key: 'EOS6dZzCHfSVGGjJ9VegMpu9utsNERqrmnwoEntQcgfCUyyuciQm9', weight: 1, }, ], accounts: [], waits: [], }, }, { perm_name: 'owner', parent: '', required_auth: { threshold: 2, keys: [ { key: 'EOS5ecwm5UH1b2ggGJTq5r1aqd1cgKsi3NUYPJbLakana57E1anP2', weight: 1, }, { key: 'EOS5oyoziJUH2u3KJu9fUFmahrkMC1x86hdBs5768tA9N3R7zENHx', weight: 1, }, { key: 'EOS6dZzCHfSVGGjJ9VegMpu9utsNERqrmnwoEntQcgfCUyyuciQm9', weight: 1, }, ], accounts: [], waits: [], }, }, ], total_resources: { owner: 'jzjkpn1bjnti', net_weight: '0.0000 EOS', cpu_weight: '0.0000 EOS', ram_bytes: 8186, }, self_delegated_bandwidth: null, refund_request: null, voter_info: null, }) .post('/v1/chain/get_account', { account_name: 'kiyjcn1ixftp' }) .reply(200, { account_name: 'kiyjcn1ixftp', head_block_num: 39739505, head_block_time: '2019-07-18T16:07:59.000', privileged: false, last_code_update: '1970-01-01T00:00:00.000', created: '2019-07-18T15:57:05.500', core_liquid_balance: '100.0000 EOS', ram_quota: 9587, net_weight: 0, cpu_weight: 0, net_limit: { used: 0, available: 0, max: 0, }, cpu_limit: { used: 0, available: 0, max: 0, }, ram_usage: 3196, permissions: [ { perm_name: 'active', parent: 'owner', required_auth: { threshold: 2, keys: [ { key: 'EOS5sxRZCyaKAowNZBVrAvUHYQioMXf8Qru7XADoJwr53iFDJPsGC', weight: 1, }, { key: 'EOS64hsH9DiP1eSQuYKEaFD5SQp4cLRPvTYaCUvV2AfcWBVy7CjjN', weight: 1, }, { key: 'EOS741DEx6Gstbi2cdmQyjGrBi8rndGeSBw7hM5uYiKft2ptmKRgd', weight: 1, }, ], accounts: [], waits: [], }, }, { perm_name: 'owner', parent: '', required_auth: { threshold: 2, keys: [ { key: 'EOS5sxRZCyaKAowNZBVrAvUHYQioMXf8Qru7XADoJwr53iFDJPsGC', weight: 1, }, { key: 'EOS64