Skip to content

Commit fac28e9

Browse files
Merge pull request #5602 from BitGo/WIN-4290
fix: updating coredao api url
2 parents 6eb3acf + 9f79847 commit fac28e9

File tree

3 files changed

+64
-59
lines changed

3 files changed

+64
-59
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
const getTxListRequestNonBitGoRecovery: Record<string, string> = {
2+
module: 'account',
3+
action: 'txlist',
4+
sort: 'desc',
5+
address: '0x594886d686261172b95fae7401841843504f156b',
6+
};
7+
8+
const getTxListResponseNonBitGoRecovery: Record<string, unknown> = {
9+
status: '1',
10+
result: [
11+
{
12+
hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
13+
nonce: '23',
14+
from: '0x594886d686261172b95fae7401841843504f156b',
15+
},
16+
],
17+
message: 'OK',
18+
};
19+
20+
const getBalanceRequestNonBitGoRecovery: Record<string, string> = {
21+
module: 'account',
22+
action: 'balance',
23+
address: '0x594886d686261172b95fae7401841843504f156b',
24+
};
25+
26+
const getBalanceResponseNonBitGoRecovery: Record<string, unknown> = {
27+
status: '1',
28+
result: 100000000000000000,
29+
message: 'OK',
30+
};
31+
32+
export const mockDataNonBitGoRecovery = {
33+
recoveryDestination: '0x224056675da79dac836c330704e9b091a7fc2e1c',
34+
userKeyData:
35+
'{"iv":"1j/pXswlTT5JEkqmopflwA==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"yA1ls3UYGwk=","ct":"DWf+iaYWSig20VhHWiNYurPyONJO4rAMC0Erxp06SUlLVdLAiD4bHsjNhh3t8OeuVQLlAkfqDBOufVV6DGFcRaBK5KE/mjON2XSIVk+GW8K/ZbdxYpvyFX2zKQtONUP4OXhSrKghgJb7nHCTWtHFPuP734IIKTA1s+iPp4Ojafd7nwXh9uKV5lfD8hSKKt6oWcAqGIeyTk2EUl948wbKdxECgXA3noGHGeDEd4i17VnR44gu9A7A2YB2hQamrn5u1T6uAbNJomYcvD2szzo3bqEi9vFA8WMrX6MYvmTlH21NM5KsxZPPSIHaBlBL/w1bnwgrC6qLEQChnWOIinVepUmWj+NQWkRADbyz9gJLQZtYIcOO1YOoNMKr96a/0zKoktjOrL4d6e617RSWyeOC+OMCtIwBw/LHaQyFzCtuwdtSaG6xoDJIkT0mW7AFX6veu6xK6DM2S2/dNrFlF2cT8a0KO+L4uiA5QcsznPiYv7uUmC2SbX2nskBd2xe6+TpF9VcMMYNk6P01YXj+w9zVUtZRNRv9ke8rMq0Tg8LdorfDqCS15TB86P5iSEOgjP4xXzw5s+5QVhO1Y+4RQuDFW7tDRto0XWZlY7jFg/ NJ7PXOipNPasFjBKHROhM9gq5V4sT5opjbetUHqFGaJC4sRY4HvO9Y+oxFk7khJkK40EFlQzvDCkmDOTjVv/fb5N2kJjq7IGeZTsEeFA90fogUM2DGvwnBB0icggHLS2px40/RHlK2jz3V1XQp5ecddhLzc38/lik9MUsmtTlK3VB5WjGfDRSLBZqy1hjsvKlvKTbpVkg937X/Wun62c4kquYzSJIHd0UanAKd5D7O+oIoUZR7FgpbDQoutRhVflDTyYpOq7tSJOrYbjA1qEJVWJqeFIKdfQ9ZboT9aFq3aGQxuk7mz9CyrKVRQfPBrjzEbW8mKCqpJLUshKXkcETnlNzSBbOuPokIRz+nM3rlYFevk4oiA418QdH3rK+gPQv4NkKHGcZlb3Vzro85seOZVqzgITXadXUznBG0/mYmY+Iqe1zHI1nDDGrxCqzpK4v31M2e7xyPu/kMHZYKNvM0k2jy"}',
36+
backupKeyData:
37+
'{"iv":"LYD8I6UEfqMEmFgwC/YR+w==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"IxVKifwPPWU=","ct":"qw+MmwAoinYPgyAbVKGbKDKFaNv+tyj9W1ird+MdVrLBurYoccf1wESdBpLVIIEaljXHZD/uxXSxOHtIjM4tUpnwajI5fSG0pYa2p048uN4K54tBtCJqj1W1jPyDVdaGEi6TheI5jGjKPEnI3J4ZPbQ7BfeT0WceIX3S9dT+VETug6vAf4axU8phIejCRuHgnvtErx/xiKH3zSDnc3oOSjHfoz0ujR/ZLtb4FRPaXujgRDISqoR4CtN7io3myq2NArzNsYi6PluD/jp80My+1jImIrmDqY+DVgGTDBAOz97eL9lXS2uiw3VuoPUSsQCdCrIjnhsq0BtL/W53eZbrXH565Bykm6L6DqJLJeVOrIMUAG/An1X9iUSqmHDFr7SW2z6NCy624vC3ulBRUcji44XHcmm4eVU1SgZDlzB00wBTNxHObIVJwWX8ZP33bYjeav3WBClXrC3b0CqEVzY7F3nLT8I6q1bb0WrRzB3blX7Avf0FylnUN0QbN1mQLUA01LZYof3+gPFCfDEzT/qX8EpgcxLpGgd8T4sj7RKjv0rHBZ462l1yh4lN2PqmZW/10UkyTYYqr0Jw3neYFHQTLoS2FqBNkftyBYkO8eiVXvbeaHuCugiDBB963cNR3nE1a6UqHH1Ime1K6chAoUZlq5arfT3OPR4lPpWXXwigznNcUMMJVQhGVJI1siEOXR1b78fe12VTD1PKhRQC5J9UvE3nBRoXoEWkj1b3/UQfUF6ITQQYDg8lZYKdRYyOlrQDS56oVI1HF8uR0+IQSbtshWSw4OrN6FPHf6ZuhcwX3PSvZwXpNVndxKII8pgFAn0SyQAFsWVY/4OKCO/O+PJkg7ODcJo/S9BAqcxmInBWgnaLMEhCGl77xVELW/B8wVOEVC3ApGtQsjg1CQg/PWsJY5EDkVykejiRTZyim9C84hZSL6bSpDCGOWnEEkI1U9gQlE0kkj1ZBQpe7xxOJ7jhWqNC800orDNsSIdOlDvD/SXX1zHf88aby9VNkUUwb6D9cUItuVkL4gllk/7aTnt0UIoiy8X6Z3w3z3tQi4i9pEZNeM3kG0nlQX12Q7788YNR"}',
38+
walletRootAddress: '0x594886d686261172b95fae7401841843504f156b',
39+
walletPassphrase: 'test_1234_test',
40+
getTxListRequest: getTxListRequestNonBitGoRecovery,
41+
getTxListResponse: getTxListResponseNonBitGoRecovery,
42+
getBalanceRequest: getBalanceRequestNonBitGoRecovery,
43+
getBalanceResponse: getBalanceResponseNonBitGoRecovery,
44+
};

modules/sdk-coin-coredao/test/unit/coredao.ts

Lines changed: 18 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import * as should from 'should';
33
import { TestBitGo, TestBitGoAPI } from '@bitgo/sdk-test';
44
import { BitGoAPI } from '@bitgo/sdk-api';
55

6-
import { Coredao, Tcoredao } from '../../src/index';
6+
import { Coredao, Tcoredao } from '../../src';
77
import nock from 'nock';
88

99
import { FeeMarketEIP1559Transaction } from '@ethereumjs/tx';
1010
import { stripHexPrefix } from '@ethereumjs/util';
11+
import { common } from '@bitgo/sdk-core';
12+
import { mockDataNonBitGoRecovery } from '../resources';
1113

1214
const bitgo: TestBitGoAPI = TestBitGo.decorate(BitGoAPI, { env: 'test' });
1315

@@ -46,67 +48,26 @@ describe('Coredao', function () {
4648

4749
describe('Build Recover Transaction', function () {
4850
const bitgo = TestBitGo.decorate(BitGoAPI, { env: 'test' });
49-
const getTxListRequest: Record<string, string> = {
50-
module: 'account',
51-
action: 'txlist',
52-
sort: 'desc',
53-
address: '0x594886d686261172b95fae7401841843504f156b',
54-
};
55-
56-
const getTxListResponse: Record<string, unknown> = {
57-
status: '1',
58-
result: [
59-
{
60-
hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
61-
nonce: '23',
62-
from: '0x594886d686261172b95fae7401841843504f156b',
63-
},
64-
],
65-
message: 'OK',
66-
};
67-
68-
const getBalanceRequest: Record<string, string> = {
69-
module: 'account',
70-
action: 'balance',
71-
address: '0x594886d686261172b95fae7401841843504f156b',
72-
};
73-
74-
const getBalanceResponse: Record<string, unknown> = {
75-
status: '1',
76-
result: 100000000000000000,
77-
message: 'OK',
78-
};
79-
80-
const mockData = {
81-
recoveryDestination: '0x224056675da79dac836c330704e9b091a7fc2e1c',
82-
userKeyData:
83-
'{"iv":"1j/pXswlTT5JEkqmopflwA==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"yA1ls3UYGwk=","ct":"DWf+iaYWSig20VhHWiNYurPyONJO4rAMC0Erxp06SUlLVdLAiD4bHsjNhh3t8OeuVQLlAkfqDBOufVV6DGFcRaBK5KE/mjON2XSIVk+GW8K/ZbdxYpvyFX2zKQtONUP4OXhSrKghgJb7nHCTWtHFPuP734IIKTA1s+iPp4Ojafd7nwXh9uKV5lfD8hSKKt6oWcAqGIeyTk2EUl948wbKdxECgXA3noGHGeDEd4i17VnR44gu9A7A2YB2hQamrn5u1T6uAbNJomYcvD2szzo3bqEi9vFA8WMrX6MYvmTlH21NM5KsxZPPSIHaBlBL/w1bnwgrC6qLEQChnWOIinVepUmWj+NQWkRADbyz9gJLQZtYIcOO1YOoNMKr96a/0zKoktjOrL4d6e617RSWyeOC+OMCtIwBw/LHaQyFzCtuwdtSaG6xoDJIkT0mW7AFX6veu6xK6DM2S2/dNrFlF2cT8a0KO+L4uiA5QcsznPiYv7uUmC2SbX2nskBd2xe6+TpF9VcMMYNk6P01YXj+w9zVUtZRNRv9ke8rMq0Tg8LdorfDqCS15TB86P5iSEOgjP4xXzw5s+5QVhO1Y+4RQuDFW7tDRto0XWZlY7jFg/ NJ7PXOipNPasFjBKHROhM9gq5V4sT5opjbetUHqFGaJC4sRY4HvO9Y+oxFk7khJkK40EFlQzvDCkmDOTjVv/fb5N2kJjq7IGeZTsEeFA90fogUM2DGvwnBB0icggHLS2px40/RHlK2jz3V1XQp5ecddhLzc38/lik9MUsmtTlK3VB5WjGfDRSLBZqy1hjsvKlvKTbpVkg937X/Wun62c4kquYzSJIHd0UanAKd5D7O+oIoUZR7FgpbDQoutRhVflDTyYpOq7tSJOrYbjA1qEJVWJqeFIKdfQ9ZboT9aFq3aGQxuk7mz9CyrKVRQfPBrjzEbW8mKCqpJLUshKXkcETnlNzSBbOuPokIRz+nM3rlYFevk4oiA418QdH3rK+gPQv4NkKHGcZlb3Vzro85seOZVqzgITXadXUznBG0/mYmY+Iqe1zHI1nDDGrxCqzpK4v31M2e7xyPu/kMHZYKNvM0k2jy"}',
84-
backupKeyData:
85-
'{"iv":"LYD8I6UEfqMEmFgwC/YR+w==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"IxVKifwPPWU=","ct":"qw+MmwAoinYPgyAbVKGbKDKFaNv+tyj9W1ird+MdVrLBurYoccf1wESdBpLVIIEaljXHZD/uxXSxOHtIjM4tUpnwajI5fSG0pYa2p048uN4K54tBtCJqj1W1jPyDVdaGEi6TheI5jGjKPEnI3J4ZPbQ7BfeT0WceIX3S9dT+VETug6vAf4axU8phIejCRuHgnvtErx/xiKH3zSDnc3oOSjHfoz0ujR/ZLtb4FRPaXujgRDISqoR4CtN7io3myq2NArzNsYi6PluD/jp80My+1jImIrmDqY+DVgGTDBAOz97eL9lXS2uiw3VuoPUSsQCdCrIjnhsq0BtL/W53eZbrXH565Bykm6L6DqJLJeVOrIMUAG/An1X9iUSqmHDFr7SW2z6NCy624vC3ulBRUcji44XHcmm4eVU1SgZDlzB00wBTNxHObIVJwWX8ZP33bYjeav3WBClXrC3b0CqEVzY7F3nLT8I6q1bb0WrRzB3blX7Avf0FylnUN0QbN1mQLUA01LZYof3+gPFCfDEzT/qX8EpgcxLpGgd8T4sj7RKjv0rHBZ462l1yh4lN2PqmZW/10UkyTYYqr0Jw3neYFHQTLoS2FqBNkftyBYkO8eiVXvbeaHuCugiDBB963cNR3nE1a6UqHH1Ime1K6chAoUZlq5arfT3OPR4lPpWXXwigznNcUMMJVQhGVJI1siEOXR1b78fe12VTD1PKhRQC5J9UvE3nBRoXoEWkj1b3/UQfUF6ITQQYDg8lZYKdRYyOlrQDS56oVI1HF8uR0+IQSbtshWSw4OrN6FPHf6ZuhcwX3PSvZwXpNVndxKII8pgFAn0SyQAFsWVY/4OKCO/O+PJkg7ODcJo/S9BAqcxmInBWgnaLMEhCGl77xVELW/B8wVOEVC3ApGtQsjg1CQg/PWsJY5EDkVykejiRTZyim9C84hZSL6bSpDCGOWnEEkI1U9gQlE0kkj1ZBQpe7xxOJ7jhWqNC800orDNsSIdOlDvD/SXX1zHf88aby9VNkUUwb6D9cUItuVkL4gllk/7aTnt0UIoiy8X6Z3w3z3tQi4i9pEZNeM3kG0nlQX12Q7788YNR"}',
86-
walletRootAddress: '0x594886d686261172b95fae7401841843504f156b',
87-
walletPassphrase: 'test_1234_test',
88-
explorerUrl: 'https://app.test.btcs.network',
89-
getTxListRequest: getTxListRequest,
90-
getTxListResponse: getTxListResponse,
91-
getBalanceRequest: getBalanceRequest,
92-
getBalanceResponse: getBalanceResponse,
93-
};
51+
const explorerUrl = common.Environments[bitgo.getEnv()].coredaoExplorerBaseUrl as string;
9452

9553
it('should generate a signed non-bitgo recovery tx', async () => {
96-
nock(mockData.explorerUrl)
54+
nock(explorerUrl)
9755
.get('/api')
9856
.twice()
99-
.query(mockData.getTxListRequest)
100-
.reply(200, mockData.getTxListResponse);
101-
nock(mockData.explorerUrl).get('/api').query(mockData.getBalanceRequest).reply(200, mockData.getBalanceResponse);
57+
.query(mockDataNonBitGoRecovery.getTxListRequest)
58+
.reply(200, mockDataNonBitGoRecovery.getTxListResponse);
59+
nock(explorerUrl)
60+
.get('/api')
61+
.query(mockDataNonBitGoRecovery.getBalanceRequest)
62+
.reply(200, mockDataNonBitGoRecovery.getBalanceResponse);
10263

10364
const baseCoin: any = bitgo.coin('tcoredao');
10465
const transaction = await baseCoin.recover({
105-
userKey: mockData.userKeyData,
106-
backupKey: mockData.backupKeyData,
107-
walletContractAddress: mockData.walletRootAddress,
108-
walletPassphrase: mockData.walletPassphrase,
109-
recoveryDestination: mockData.recoveryDestination,
66+
userKey: mockDataNonBitGoRecovery.userKeyData,
67+
backupKey: mockDataNonBitGoRecovery.backupKeyData,
68+
walletContractAddress: mockDataNonBitGoRecovery.walletRootAddress,
69+
walletPassphrase: mockDataNonBitGoRecovery.walletPassphrase,
70+
recoveryDestination: mockDataNonBitGoRecovery.recoveryDestination,
11071
isTss: true,
11172
eip1559: { maxFeePerGas: 20000000000, maxPriorityFeePerGas: 10000000000 },
11273
gasLimit: 500000,
@@ -119,10 +80,10 @@ describe('Coredao', function () {
11980
transaction.should.have.property('id');
12081
transaction.should.have.property('tx');
12182
const tx = FeeMarketEIP1559Transaction.fromSerializedTx(Buffer.from(stripHexPrefix(transaction.tx), 'hex'));
122-
tx.getSenderAddress().toString().should.equal(mockData.walletRootAddress);
83+
tx.getSenderAddress().toString().should.equal(mockDataNonBitGoRecovery.walletRootAddress);
12384
const jsonTx = tx.toJSON();
12485
jsonTx.chainId?.should.equal('0x45a');
125-
jsonTx.to?.should.equal(mockData.recoveryDestination);
86+
jsonTx.to?.should.equal(mockDataNonBitGoRecovery.recoveryDestination);
12687
});
12788
});
12889
});

modules/sdk-core/src/bitgo/environments.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ const mainnetBase: EnvironmentTemplate = {
164164
hmacVerificationEnforced: true,
165165
suiNodeUrl: 'https://fullnode.mainnet.sui.io',
166166
etcNodeUrl: 'https://etc.blockscout.com',
167-
coredaoExplorerBaseUrl: 'https://app.coredao.org/',
167+
coredaoExplorerBaseUrl: 'https://openapi.coredao.org',
168168
oasExplorerBaseUrl: 'https://explorer.oasys.games',
169169
rosettaNodeURL: 'http://localhost:8081', //TODO(WIN-4242): update when rosetta node is available
170170
};
@@ -220,7 +220,7 @@ const testnetBase: EnvironmentTemplate = {
220220
hmacVerificationEnforced: false,
221221
suiNodeUrl: 'https://fullnode.testnet.sui.io',
222222
etcNodeUrl: 'https://etc-mordor.blockscout.com',
223-
coredaoExplorerBaseUrl: 'https://app.test.btcs.network',
223+
coredaoExplorerBaseUrl: 'https://api.test2.btcs.network',
224224
oasExplorerBaseUrl: 'https://explorer.testnet.oasys.games',
225225
rosettaNodeURL: 'http://localhost:8081', //TODO(WIN-4242): update when rosetta node is available
226226
};

0 commit comments

Comments
 (0)