@bitgo-beta/sdk-coin-arbeth 1.0.1-beta.162 → 1.0.1-beta.1621
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/arbeth.d.ts +8 -2
- package/dist/src/arbeth.d.ts.map +1 -1
- package/dist/src/arbeth.js +15 -3
- package/dist/src/arbethToken.d.ts +4 -1
- package/dist/src/arbethToken.d.ts.map +1 -1
- package/dist/src/arbethToken.js +8 -1
- package/dist/src/lib/index.js +18 -8
- package/dist/src/lib/transactionBuilder.js +1 -1
- package/dist/src/lib/utils.js +2 -3
- package/dist/test/fixtures/arbeth.d.ts +59 -0
- package/dist/test/fixtures/arbeth.d.ts.map +1 -0
- package/dist/test/fixtures/arbeth.js +71 -0
- package/dist/test/getBuilder.d.ts +3 -0
- package/dist/test/getBuilder.d.ts.map +1 -0
- package/dist/test/getBuilder.js +9 -0
- package/dist/test/resources.d.ts +31 -0
- package/dist/test/resources.d.ts.map +1 -0
- package/dist/test/resources.js +45 -0
- package/dist/test/unit/arbeth.d.ts +2 -0
- package/dist/test/unit/arbeth.d.ts.map +1 -0
- package/dist/test/unit/arbeth.js +680 -0
- package/dist/test/unit/arbethToken.d.ts +2 -0
- package/dist/test/unit/arbethToken.d.ts.map +1 -0
- package/dist/test/unit/arbethToken.js +161 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +92 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/addressInitialization.js +120 -0
- package/dist/test/unit/transactionBuilder/send.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/send.js +173 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/walletInitialization.js +135 -0
- package/dist/test/unit/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transferBuilder.js +137 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +15 -12
- package/.eslintignore +0 -4
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -889
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arbethToken.d.ts","sourceRoot":"","sources":["../../../test/unit/arbethToken.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const should = __importStar(require("should"));
|
|
40
|
+
const sdk_test_1 = require("@bitgo-beta/sdk-test");
|
|
41
|
+
const nock_1 = __importDefault(require("nock"));
|
|
42
|
+
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
43
|
+
const sdk_api_1 = require("@bitgo-beta/sdk-api");
|
|
44
|
+
const src_1 = require("../../src");
|
|
45
|
+
const mockData = __importStar(require("../fixtures/arbeth"));
|
|
46
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
47
|
+
describe('Arbeth Token:', function () {
|
|
48
|
+
let bitgo;
|
|
49
|
+
let arbethTokenCoin;
|
|
50
|
+
const baseUrl = sdk_core_1.common.Environments.test.arbiscanBaseUrl;
|
|
51
|
+
const tokenName = 'tarbeth:link';
|
|
52
|
+
const walletContractAddress = '0xdf07117705a9f8dc4c2a78de66b7f1797dba9d4e';
|
|
53
|
+
const tokenContractAddress = '0xe5b6c29411b3ad31c3613bba0145293fc9957256';
|
|
54
|
+
const recipientAddress = '0xa9c34eb3d3631501de56d9cfc5363f9335cfcff6';
|
|
55
|
+
before(function () {
|
|
56
|
+
bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
|
|
57
|
+
src_1.ArbethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
|
|
58
|
+
bitgo.safeRegister(name, coinConstructor);
|
|
59
|
+
});
|
|
60
|
+
bitgo.initializeTestVars();
|
|
61
|
+
arbethTokenCoin = bitgo.coin(tokenName);
|
|
62
|
+
});
|
|
63
|
+
it('should return constants', function () {
|
|
64
|
+
arbethTokenCoin.getChain().should.equal('tarbeth:link');
|
|
65
|
+
arbethTokenCoin.getBaseChain().should.equal('tarbeth');
|
|
66
|
+
arbethTokenCoin.getFullName().should.equal('Arbeth Token');
|
|
67
|
+
arbethTokenCoin.getBaseFactor().should.equal(1e18);
|
|
68
|
+
arbethTokenCoin.type.should.equal(tokenName);
|
|
69
|
+
arbethTokenCoin.name.should.equal('Arbitrum Test LINK');
|
|
70
|
+
arbethTokenCoin.coin.should.equal('tarbeth');
|
|
71
|
+
arbethTokenCoin.network.should.equal('Testnet');
|
|
72
|
+
arbethTokenCoin.decimalPlaces.should.equal(18);
|
|
73
|
+
});
|
|
74
|
+
it('should return same token by contract address', function () {
|
|
75
|
+
const tokencoinBycontractAddress = bitgo.coin(arbethTokenCoin.tokenContractAddress);
|
|
76
|
+
arbethTokenCoin.should.deepEqual(tokencoinBycontractAddress);
|
|
77
|
+
});
|
|
78
|
+
it('should generate an unsigned sweep', async function () {
|
|
79
|
+
const userXpub = 'xpub661MyMwAqRbcEeTc8789MK5PUGEYiPG4F4V17n2Rd2LoTATA1XoCnJT5FAYAShQxSxtFjpo5NHmcWwTp2LiWGBMwpUcAA3HywhxivgYfq7q';
|
|
80
|
+
const backupXpub = 'xpub661MyMwAqRbcFZX15xpZf4ERCGHiVSJm8r5C4yh1yXV2GrdZCUPYo4WQr6tN9oUywKXsgSHo7Risf9r22GH5joVD2hEEEhqnSCvK8qy11wW';
|
|
81
|
+
const backupKeyAddress = '0x4f2c4830cc37f2785c646f89ded8a919219fa0e9';
|
|
82
|
+
(0, nock_1.default)(baseUrl)
|
|
83
|
+
.get('/api')
|
|
84
|
+
.twice()
|
|
85
|
+
.query(mockData.getTxListRequest(backupKeyAddress))
|
|
86
|
+
.reply(200, mockData.getTxListResponse);
|
|
87
|
+
(0, nock_1.default)(baseUrl)
|
|
88
|
+
.get('/api')
|
|
89
|
+
.query(mockData.getTokenBalanceRequest(tokenContractAddress, walletContractAddress))
|
|
90
|
+
.reply(200, mockData.getTokenBalanceResponse);
|
|
91
|
+
(0, nock_1.default)(baseUrl)
|
|
92
|
+
.get('/api')
|
|
93
|
+
.query(mockData.getBalanceRequest(backupKeyAddress))
|
|
94
|
+
.reply(200, mockData.getBalanceResponse);
|
|
95
|
+
(0, nock_1.default)(baseUrl).get('/api').query(mockData.getContractCallRequest).reply(200, mockData.getContractCallResponse);
|
|
96
|
+
const transaction = (await arbethTokenCoin.recover({
|
|
97
|
+
userKey: userXpub,
|
|
98
|
+
backupKey: backupXpub,
|
|
99
|
+
walletContractAddress: walletContractAddress,
|
|
100
|
+
tokenContractAddress,
|
|
101
|
+
recoveryDestination: recipientAddress,
|
|
102
|
+
eip1559: { maxFeePerGas: 20000000000, maxPriorityFeePerGas: 10000000000 },
|
|
103
|
+
gasLimit: 8000000,
|
|
104
|
+
}));
|
|
105
|
+
should.exist(transaction);
|
|
106
|
+
transaction.should.have.property('txHex');
|
|
107
|
+
transaction.should.have.property('contractSequenceId');
|
|
108
|
+
transaction.should.have.property('expireTime');
|
|
109
|
+
transaction.should.have.property('gasLimit');
|
|
110
|
+
transaction.gasLimit.should.equal('8000000');
|
|
111
|
+
transaction.should.have.property('walletContractAddress');
|
|
112
|
+
transaction.walletContractAddress.should.equal(walletContractAddress);
|
|
113
|
+
transaction.should.have.property('recipients');
|
|
114
|
+
const recipient = transaction.recipients[0];
|
|
115
|
+
recipient.should.have.property('address');
|
|
116
|
+
recipient.address.should.equal(recipientAddress);
|
|
117
|
+
recipient.should.have.property('amount');
|
|
118
|
+
recipient.amount.should.equal('9999999999999999948');
|
|
119
|
+
});
|
|
120
|
+
it('should construct a recovery transaction without BitGo', async function () {
|
|
121
|
+
const backupKeyAddress = '0x6d22efdd634996248170c948e5726007fc251bb3';
|
|
122
|
+
(0, nock_1.default)(baseUrl).get('/api').query(mockData.getTxListRequest(backupKeyAddress)).reply(200, mockData.getTxListResponse);
|
|
123
|
+
(0, nock_1.default)(baseUrl)
|
|
124
|
+
.get('/api')
|
|
125
|
+
.query(mockData.getBalanceRequest(walletContractAddress))
|
|
126
|
+
.reply(200, mockData.getBalanceResponse);
|
|
127
|
+
(0, nock_1.default)(baseUrl)
|
|
128
|
+
.get('/api')
|
|
129
|
+
.query(mockData.getTokenBalanceRequest(tokenContractAddress, walletContractAddress))
|
|
130
|
+
.reply(200, mockData.getTokenBalanceResponse);
|
|
131
|
+
(0, nock_1.default)(baseUrl)
|
|
132
|
+
.get('/api')
|
|
133
|
+
.query(mockData.getBalanceRequest(backupKeyAddress))
|
|
134
|
+
.reply(200, mockData.getBalanceResponse);
|
|
135
|
+
(0, nock_1.default)(baseUrl).get('/api').query(mockData.getContractCallRequest).reply(200, mockData.getContractCallResponse);
|
|
136
|
+
const transaction = (await arbethTokenCoin.recover({
|
|
137
|
+
userKey: '{"iv":"VFZ3jvXhxo1Z+Yaf2MtZnA==","v":1,"iter":10000,"ks":256,"ts":64,"mode"\n' +
|
|
138
|
+
':"ccm","adata":"","cipher":"aes","salt":"p+fkHuLa/8k=","ct":"hYG7pvljLIgCjZ\n' +
|
|
139
|
+
'53PBlCde5KZRmlUKKHLtDMk+HJfuU46hW+x+C9WsIAO4gFPnTCvFVmQ8x7czCtcNFub5AO2otOG\n' +
|
|
140
|
+
'OsX4GE2gXOEmCl1TpWwwNhm7yMUjGJUpgW6ZZgXSXdDitSKi4V/hk78SGSzjFOBSPYRa6I="}\n',
|
|
141
|
+
backupKey: '{"iv":"AbsCtv1qwPIhOgyrCpNagA==","v":1,"iter":10000,"ks":256,"ts":64,"mode"\n' +
|
|
142
|
+
':"ccm","adata":"","cipher":"aes","salt":"5vpUDBUlzm8=","ct":"PapYYCjBXRLUKA\n' +
|
|
143
|
+
'JbOsB/EJ9B8fUmVQTxMPjUnQyAky12me9K66GiMEAxTD7kd6bYAQJuuTkATXKU7Bnf7vK9JxNOw\n' +
|
|
144
|
+
'oji7HF9eFH0aD4/hX5SWFfHF2Qfi+TnXv6hVsMAoisDZs3/F67/ZUaDYR0ZsdrQ4Q/cLD0="}\n',
|
|
145
|
+
walletContractAddress: walletContractAddress,
|
|
146
|
+
tokenContractAddress,
|
|
147
|
+
walletPassphrase: 'oPXkPN5Q0c8i44i0',
|
|
148
|
+
recoveryDestination: recipientAddress,
|
|
149
|
+
gasLimit: 500000,
|
|
150
|
+
}));
|
|
151
|
+
should.exist(transaction);
|
|
152
|
+
transaction.should.have.property('tx');
|
|
153
|
+
transaction.should.have.property('id');
|
|
154
|
+
const decodedTx = abstract_eth_1.optionalDeps.EthTx.Transaction.fromSerializedTx(abstract_eth_1.optionalDeps.ethUtil.toBuffer(transaction.tx));
|
|
155
|
+
decodedTx.should.have.property('gasPrice');
|
|
156
|
+
decodedTx.should.have.property('nonce');
|
|
157
|
+
decodedTx.should.have.property('to');
|
|
158
|
+
decodedTx.data.toString('hex').should.startWith('0dcd7a6c');
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJiZXRoVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvYXJiZXRoVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsbURBQStEO0FBQy9ELGdEQUF3QjtBQUN4QiwyREFBNEU7QUFDNUUsaURBQStDO0FBRS9DLG1DQUF3QztBQUN4Qyw2REFBK0M7QUFDL0MsbURBQThDO0FBRTlDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7SUFDeEIsSUFBSSxLQUFtQixDQUFDO0lBQ3hCLElBQUksZUFBZSxDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUF5QixDQUFDO0lBQ25FLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztJQUNqQyxNQUFNLHFCQUFxQixHQUFHLDRDQUE0QyxDQUFDO0lBQzNFLE1BQU0sb0JBQW9CLEdBQUcsNENBQTRDLENBQUM7SUFDMUUsTUFBTSxnQkFBZ0IsR0FBRyw0Q0FBNEMsQ0FBQztJQUV0RSxNQUFNLENBQUM7UUFDTCxLQUFLLEdBQUcsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGlCQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1lBQzFFLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFF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IjpbImltcG9ydCAqIGFzIHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVGVzdEJpdEdvLCBUZXN0Qml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstdGVzdCc7XG5pbXBvcnQgbm9jayBmcm9tICdub2NrJztcbmltcG9ydCB7IE9mZmxpbmVWYXVsdFR4SW5mbywgb3B0aW9uYWxEZXBzIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWFwaSc7XG5cbmltcG9ydCB7IEFyYmV0aFRva2VuIH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCAqIGFzIG1vY2tEYXRhIGZyb20gJy4uL2ZpeHR1cmVzL2FyYmV0aCc7XG5pbXBvcnQgeyBjb21tb24gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmRlc2NyaWJlKCdBcmJldGggVG9rZW46JywgZnVuY3Rpb24gKCkge1xuICBsZXQgYml0Z286IFRlc3RCaXRHb0FQSTtcbiAgbGV0IGFyYmV0aFRva2VuQ29pbjtcbiAgY29uc3QgYmFzZVVybCA9IGNvbW1vbi5FbnZpcm9ubWVudHMudGVzdC5hcmJpc2NhbkJhc2VVcmwgYXMgc3RyaW5nO1xuICBjb25zdCB0b2tlbk5hbWUgPSAndGFyYmV0aDpsaW5rJztcbiAgY29uc3Qgd2FsbGV0Q29udHJhY3RBZGRyZXNzID0gJzB4ZGYwNzExNzcwNWE5ZjhkYzRjMmE3OGRlNjZiN2YxNzk3ZGJhOWQ0ZSc7XG4gIGNvbnN0IHRva2VuQ29udHJhY3RBZGRyZXNzID0gJzB4ZTViNmMyOTQxMWIzYWQzMWMzNjEzYmJhMDE0NTI5M2ZjOTk1NzI1Nic7XG4gIGNvbnN0IHJlY2lwaWVudEFkZHJlc3MgPSAnMHhhOWMzNGViM2QzNjMxNTAxZGU1NmQ5Y2ZjNTM2M2Y5MzM1Y2ZjZmY2JztcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ3Rlc3QnIH0pO1xuICAgIEFyYmV0aFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgICAgYml0Z28uc2FmZVJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgfSk7XG4gICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gICAgYXJiZXRoVG9rZW5Db2luID0gYml0Z28uY29pbih0b2tlbk5hbWUpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBjb25zdGFudHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXJiZXRoVG9rZW5Db2luLmdldENoYWluKCkuc2hvdWxkLmVxdWFsKCd0YXJiZXRoOmxpbmsnKTtcbiAgICBhcmJldGhUb2tlbkNvaW4uZ2V0QmFzZUNoYWluKCkuc2hvdWxkLmVxdWFsKCd0YXJiZXRoJyk7XG4gICAgYXJiZXRoVG9rZW5Db2luLmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKCdBcmJldGggVG9rZW4nKTtcbiAgICBhcmJldGhUb2tlbkNvaW4uZ2V0QmFzZUZhY3RvcigpLnNob3VsZC5lcXVhbCgxZTE4KTtcbiAgICBhcmJldGhUb2tlbkNvaW4udHlwZS5zaG91bGQuZXF1YWwodG9rZW5OYW1lKTtcbiAgICBhcmJldGhUb2tlbkNvaW4ubmFtZS5zaG91bGQuZXF1YWwoJ0FyYml0cnVtIFRlc3QgTElOSycpO1xuICAgIGFyYmV0aFRva2VuQ29pbi5jb2luLnNob3VsZC5lcXVhbCgndGFyYmV0aCcpO1xuICAgIGFyYmV0aFRva2VuQ29pbi5uZXR3b3JrLnNob3VsZC5lcXVhbCgnVGVzdG5ldCcpO1xuICAgIGFyYmV0aFRva2VuQ29pbi5kZWNpbWFsUGxhY2VzLnNob3VsZC5lcXVhbCgxOCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIHNhbWUgdG9rZW4gYnkgY29udHJhY3QgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0b2tlbmNvaW5CeWNvbnRyYWN0QWRkcmVzcyA9IGJpdGdvLmNvaW4oYXJiZXRoVG9rZW5Db2luLnRva2VuQ29udHJhY3RBZGRyZXNzKTtcbiAgICBhcmJldGhUb2tlbkNvaW4uc2hvdWxkLmRlZXBFcXVhbCh0b2tlbmNvaW5CeWNvbnRyYWN0QWRkcmVzcyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2VuZXJhdGUgYW4gdW5zaWduZWQgc3dlZXAnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdXNlclhwdWIgPVxuICAgICAgJ3hwdWI2NjFNeU13QXFSYmNFZVRjODc4OU1LNVBVR0VZaVBHNEY0VjE3bjJSZDJMb1RBVEExWG9DbkpUNUZBWUFTaFF4U3h0RmpwbzVOSG1jV3dUcDJMaVdHQk13cFVjQUEzSHl3aHhpdmdZZnE3cSc7XG4gICAgY29uc3QgYmFja3VwWHB1YiA9XG4gICAgICAneHB1YjY2MU15TXdBcVJiY0ZaWDE1eHBaZjRFUkNHSGlWU0ptOHI1QzR5aDF5WFYyR3JkWkNVUFlvNFdRcjZ0TjlvVXl3S1hzZ1NIbzdSaXNmOXIyMkdINWpvVkQyaEVFRWhxblNDdks4cXkxMXdXJztcblxuICAgIGNvbnN0IGJhY2t1cEtleUFkZHJlc3MgPSAnMHg0ZjJjNDgzMGNjMzdmMjc4NWM2NDZmODlkZWQ4YTkxOTIxOWZhMGU5JztcbiAgICBub2NrKGJhc2VVcmwpXG4gICAgICAuZ2V0KCcvYXBpJylcbiAgICAgIC50d2ljZSgpXG4gICAgICAucXVlcnkobW9ja0RhdGEuZ2V0VHhMaXN0UmVxdWVzdChiYWNrdXBLZXlBZGRyZXNzKSlcbiAgICAgIC5yZXBseSgyMDAsIG1vY2tEYXRhLmdldFR4TGlzdFJlc3BvbnNlKTtcbiAgICBub2NrKGJhc2VVcmwpXG4gICAgICAuZ2V0KCcvYXBpJylcbiAgICAgIC5xdWVyeShtb2NrRGF0YS5nZXRUb2tlbkJhbGFuY2VSZXF1ZXN0KHRva2VuQ29udHJhY3RBZGRyZXNzLCB3YWxsZXRDb250cmFjdEFkZHJlc3MpKVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGEuZ2V0VG9rZW5CYWxhbmNlUmVzcG9uc2UpO1xuICAgIG5vY2soYmFzZVVybClcbiAgICAgIC5nZXQoJy9hcGknKVxuICAgICAgLnF1ZXJ5KG1vY2tEYXRhLmdldEJhbGFuY2VSZXF1ZXN0KGJhY2t1cEtleUFkZHJlc3MpKVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGEuZ2V0QmFsYW5jZVJlc3BvbnNlKTtcbiAgICBub2NrKGJhc2VVcmwpLmdldCgnL2FwaScpLnF1ZXJ5KG1vY2tEYXRhLmdldENvbnRyYWN0Q2FsbFJlcXVlc3QpLnJlcGx5KDIwMCwgbW9ja0RhdGEuZ2V0Q29udHJhY3RDYWxsUmVzcG9uc2UpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gKGF3YWl0IGFyYmV0aFRva2VuQ29pbi5yZWNvdmVyKHtcbiAgICAgIHVzZXJLZXk6IHVzZXJYcHViLFxuICAgICAgYmFja3VwS2V5OiBiYWNrdXBYcHViLFxuICAgICAgd2FsbGV0Q29udHJhY3RBZGRyZXNzOiB3YWxsZXRDb250cmFjdEFkZHJlc3MsXG4gICAgICB0b2tlbkNvbnRyYWN0QWRkcmVzcyxcbiAgICAgIHJlY292ZXJ5RGVzdGluYXRpb246IHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICBlaXAxNTU5OiB7IG1heEZlZVBlckdhczogMjAwMDAwMDAwMDAsIG1heFByaW9yaXR5RmVlUGVyR2FzOiAxMDAwMDAwMDAwMCB9LFxuICAgICAgZ2FzTGltaXQ6IDgwMDAwMDAsXG4gICAgfSkpIGFzIE9mZmxpbmVWYXVsdFR4SW5mbztcbiAgICBzaG91bGQuZXhpc3QodHJhbnNhY3Rpb24pO1xuICAgIHRyYW5zYWN0aW9uLnNob3VsZC5oYXZlLnByb3BlcnR5KCd0eEhleCcpO1xuICAgIHRyYW5zYWN0aW9uLnNob3VsZC5oYXZlLnByb3BlcnR5KCdjb250cmFjdFNlcXVlbmNlSWQnKTtcbiAgICB0cmFuc2FjdGlvbi5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnZXhwaXJlVGltZScpO1xuICAgIHRyYW5zYWN0aW9uLnNob3VsZC5oYXZlLnByb3BlcnR5KCdnYXNMaW1pdCcpO1xuICAgIHRyYW5zYWN0aW9uLmdhc0xpbWl0LnNob3VsZC5lcXVhbCgnODAwMDAwMCcpO1xuICAgIHRyYW5zYWN0aW9uLnNob3VsZC5oYXZlLnByb3BlcnR5KCd3YWxsZXRDb250cmFjdEFkZHJlc3MnKTtcbiAgICB0cmFuc2FjdGlvbi53YWxsZXRDb250cmFjdEFkZHJlc3Muc2hvdWxkLmVxdWFsKHdhbGxldENvbnRyYWN0QWRkcmVzcyk7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3JlY2lwaWVudHMnKTtcbiAgICBjb25zdCByZWNpcGllbnQgPSB0cmFuc2FjdGlvbi5yZWNpcGllbnRzWzBdO1xuICAgIHJlY2lwaWVudC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnYWRkcmVzcycpO1xuICAgIHJlY2lwaWVudC5hZGRyZXNzLnNob3VsZC5lcXVhbChyZWNpcGllbnRBZGRyZXNzKTtcbiAgICByZWNpcGllbnQuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2Ftb3VudCcpO1xuICAgIHJlY2lwaWVudC5hbW91bnQuc2hvdWxkLmVxdWFsKCc5OTk5OTk5OTk5OTk5OTk5OTQ4Jyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29uc3RydWN0IGEgcmVjb3ZlcnkgdHJhbnNhY3Rpb24gd2l0aG91dCBCaXRHbycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBiYWNrdXBLZXlBZGRyZXNzID0gJzB4NmQyMmVmZGQ2MzQ5OTYyNDgxNzBjOTQ4ZTU3MjYwMDdmYzI1MWJiMyc7XG4gICAgbm9jayhiYXNlVXJsKS5nZXQoJy9hcGknKS5xdWVyeShtb2NrRGF0YS5nZXRUeExpc3RSZXF1ZXN0KGJhY2t1cEtleUFkZHJlc3MpKS5yZXBseSgyMDAsIG1vY2tEYXRhLmdldFR4TGlzdFJlc3BvbnNlKTtcbiAgICBub2NrKGJhc2VVcmwpXG4gICAgICAuZ2V0KCcvYXBpJylcbiAgICAgIC5xdWVyeShtb2NrRGF0YS5nZXRCYWxhbmNlUmVxdWVzdCh3YWxsZXRDb250cmFjdEFkZHJlc3MpKVxuICAgICAgLnJlcGx5KDIwMCwgbW9ja0RhdGEuZ2V0QmFsYW5jZVJlc3BvbnNlKTtcblxuICAgIG5vY2soYmFzZVVybClcbiAgICAgIC5nZXQoJy9hcGknKVxuICAgICAgLnF1ZXJ5KG1vY2tEYXRhLmdldFRva2VuQmFsYW5jZVJlcXVlc3QodG9rZW5Db250cmFjdEFkZHJlc3MsIHdhbGxldENvbnRyYWN0QWRkcmVzcykpXG4gICAgICAucmVwbHkoMjAwLCBtb2NrRGF0YS5nZXRUb2tlbkJhbGFuY2VSZXNwb25zZSk7XG4gICAgbm9jayhiYXNlVXJsKVxuICAgICAgLmdldCgnL2FwaScpXG4gICAgICAucXVlcnkobW9ja0RhdGEuZ2V0QmFsYW5jZVJlcXVlc3QoYmFja3VwS2V5QWRkcmVzcykpXG4gICAgICAucmVwbHkoMjAwLCBtb2NrRGF0YS5nZXRCYWxhbmNlUmVzcG9uc2UpO1xuICAgIG5vY2soYmFzZVVybCkuZ2V0KCcvYXBpJykucXVlcnkobW9ja0RhdGEuZ2V0Q29udHJhY3RDYWxsUmVxdWVzdCkucmVwbHkoMjAwLCBtb2NrRGF0YS5nZXRDb250cmFjdENhbGxSZXNwb25zZSk7XG5cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IChhd2FpdCBhcmJldGhUb2tlbkNvaW4ucmVjb3Zlcih7XG4gICAgICB1c2VyS2V5OlxuICAgICAgICAne1wiaXZcIjpcIlZGWjNqdlhoeG8xWitZYWYyTXRabkE9PVwiLFwidlwiOjEsXCJpdGVyXCI6MTAwMDAsXCJrc1wiOjI1NixcInRzXCI6NjQsXCJtb2RlXCJcXG4nICtcbiAgICAgICAgJzpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcInArZmtIdUxhLzhrPVwiLFwiY3RcIjpcImhZRzdwdmxqTElnQ2paXFxuJyArXG4gICAgICAgICc1M1BCbENkZTVLWlJtbFVLS0hMdERNaytISmZ1VTQ2aFcreCtDOVdzSUFPNGdGUG5UQ3ZGVm1ROHg3Y3pDdGNORnViNUFPMm90T0dcXG4nICtcbiAgICAgICAgJ09zWDRHRTJnWE9FbUNsMVRwV3d3TmhtN3lNVWpHSlVwZ1c2WlpnWFNYZERpdFNLaTRWL2hrNzhTR1N6akZPQlNQWVJhNkk9XCJ9XFxuJyxcbiAgICAgIGJhY2t1cEtleTpcbiAgICAgICAgJ3tcIml2XCI6XCJBYnNDdHYxcXdQSWhPZ3lyQ3BOYWdBPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiXFxuJyArXG4gICAgICAgICc6XCJjY21cIixcImFkYXRhXCI6XCJcIixcImNpcGhlclwiOlwiYWVzXCIsXCJzYWx0XCI6XCI1dnBVREJVbHptOD1cIixcImN0XCI6XCJQYXBZWUNqQlhSTFVLQVxcbicgK1xuICAgICAgICAnSmJPc0IvRUo5QjhmVW1WUVR4TVBqVW5ReUFreTEybWU5SzY2R2lNRUF4VEQ3a2Q2YllBUUp1dVRrQVRYS1U3Qm5mN3ZLOUp4Tk93XFxuJyArXG4gICAgICAgICdvamk3SEY5ZUZIMGFENC9oWDVTV0ZmSEYyUWZpK1RuWHY2aFZzTUFvaXNEWnMzL0Y2Ny9aVWFEWVIwWnNkclE0US9jTEQwPVwifVxcbicsXG5cbiAgICAgIHdhbGxldENvbnRyYWN0QWRkcmVzczogd2FsbGV0Q29udHJhY3RBZGRyZXNzLFxuICAgICAgdG9rZW5Db250cmFjdEFkZHJlc3MsXG4gICAgICB3YWxsZXRQYXNzcGhyYXNlOiAnb1BYa1BONVEwYzhpNDRpMCcsXG4gICAgICByZWNvdmVyeURlc3RpbmF0aW9uOiByZWNpcGllbnRBZGRyZXNzLFxuICAgICAgZ2FzTGltaXQ6IDUwMDAwMCxcbiAgICB9KSkgYXMgT2ZmbGluZVZhdWx0VHhJbmZvO1xuICAgIHNob3VsZC5leGlzdCh0cmFuc2FjdGlvbik7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ3R4Jyk7XG4gICAgdHJhbnNhY3Rpb24uc2hvdWxkLmhhdmUucHJvcGVydHkoJ2lkJyk7XG4gICAgY29uc3QgZGVjb2RlZFR4ID0gb3B0aW9uYWxEZXBzLkV0aFR4LlRyYW5zYWN0aW9uLmZyb21TZXJpYWxpemVkVHgob3B0aW9uYWxEZXBzLmV0aFV0aWwudG9CdWZmZXIodHJhbnNhY3Rpb24udHgpKTtcbiAgICBkZWNvZGVkVHguc2hvdWxkLmhhdmUucHJvcGVydHkoJ2dhc1ByaWNlJyk7XG4gICAgZGVjb2RlZFR4LnNob3VsZC5oYXZlLnByb3BlcnR5KCdub25jZScpO1xuICAgIGRlY29kZWRUeC5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgndG8nKTtcbiAgICBkZWNvZGVkVHguZGF0YS50b1N0cmluZygnaGV4Jykuc2hvdWxkLnN0YXJ0V2l0aCgnMGRjZDdhNmMnKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../test/unit/transaction.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const should_1 = __importDefault(require("should"));
|
|
40
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
41
|
+
const src_1 = require("../../src");
|
|
42
|
+
const utils_1 = require("../../src/lib/utils");
|
|
43
|
+
const testData = __importStar(require("../resources"));
|
|
44
|
+
describe('Arbeth Transaction', () => {
|
|
45
|
+
const coinConfig = statics_1.coins.get('tarbeth');
|
|
46
|
+
const common = (0, utils_1.getCommon)(coinConfig.network.type);
|
|
47
|
+
/**
|
|
48
|
+
* return a new transaction object
|
|
49
|
+
*/
|
|
50
|
+
function getTransaction() {
|
|
51
|
+
return new src_1.Transaction(coinConfig, common);
|
|
52
|
+
}
|
|
53
|
+
describe('should throw ', () => {
|
|
54
|
+
it('an empty transaction', () => {
|
|
55
|
+
const tx = getTransaction();
|
|
56
|
+
should_1.default.throws(() => {
|
|
57
|
+
tx.toJson();
|
|
58
|
+
});
|
|
59
|
+
should_1.default.throws(() => {
|
|
60
|
+
tx.toBroadcastFormat();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('should return', () => {
|
|
65
|
+
it('a valid transaction', () => {
|
|
66
|
+
const tx = getTransaction();
|
|
67
|
+
tx.setTransactionData(testData.TXDATA);
|
|
68
|
+
should_1.default.deepEqual(tx.toJson(), testData.TXDATA);
|
|
69
|
+
should_1.default.equal(tx.toBroadcastFormat(), testData.UNSIGNED_TX);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
describe('should sign', () => {
|
|
73
|
+
it('invalid', () => {
|
|
74
|
+
const tx = getTransaction();
|
|
75
|
+
return tx.sign(testData.KEYPAIR_PRV).should.be.rejected();
|
|
76
|
+
});
|
|
77
|
+
it('valid', () => {
|
|
78
|
+
const tx = getTransaction();
|
|
79
|
+
tx.setTransactionData(testData.TXDATA);
|
|
80
|
+
return tx.sign(testData.KEYPAIR_PRV).should.be.fulfilled();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
describe('should return encoded tx', () => {
|
|
84
|
+
it('valid sign', async function () {
|
|
85
|
+
const tx = getTransaction();
|
|
86
|
+
tx.setTransactionData(testData.TXDATA);
|
|
87
|
+
await tx.sign(testData.KEYPAIR_PRV);
|
|
88
|
+
should_1.default.equal(tx.toBroadcastFormat(), testData.ENCODED_TRANSACTION);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsaURBQTRDO0FBQzVDLG1DQUF3QztBQUN4QywrQ0FBZ0Q7QUFDaEQsdURBQXlDO0FBRXpDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7SUFDbEMsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFTLEVBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRDs7T0FFRztJQUNILFNBQVMsY0FBYztRQUNyQixPQUFPLElBQUksaUJBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1FBQzdCLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7WUFDOUIsTUFBTSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFDNUIsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNqQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztZQUNILGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDakIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDN0IsRUFBRSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtZQUM3QixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLGdCQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNqQixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNmLE1BQU0sRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQzVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsS0FBSztZQUNwQixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCB7IGdldENvbW1vbiB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuZGVzY3JpYmUoJ0FyYmV0aCBUcmFuc2FjdGlvbicsICgpID0+IHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCgndGFyYmV0aCcpO1xuICBjb25zdCBjb21tb24gPSBnZXRDb21tb24oY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBuZXcgdHJhbnNhY3Rpb24gb2JqZWN0XG4gICAqL1xuICBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbihjb2luQ29uZmlnLCBjb21tb24pO1xuICB9XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCB0aHJvdyAnLCAoKSA9PiB7XG4gICAgaXQoJ2FuIGVtcHR5IHRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgc2hvdWxkLnRocm93cygoKSA9PiB7XG4gICAgICAgIHR4LnRvSnNvbigpO1xuICAgICAgfSk7XG4gICAgICBzaG91bGQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIHJldHVybicsICgpID0+IHtcbiAgICBpdCgnYSB2YWxpZCB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHR4LnNldFRyYW5zYWN0aW9uRGF0YSh0ZXN0RGF0YS5UWERBVEEpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eC50b0pzb24oKSwgdGVzdERhdGEuVFhEQVRBKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5VTlNJR05FRF9UWCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgc2lnbicsICgpID0+IHtcbiAgICBpdCgnaW52YWxpZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHJldHVybiB0eC5zaWduKHRlc3REYXRhLktFWVBBSVJfUFJWKS5zaG91bGQuYmUucmVqZWN0ZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCd2YWxpZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHR4LnNldFRyYW5zYWN0aW9uRGF0YSh0ZXN0RGF0YS5UWERBVEEpO1xuICAgICAgcmV0dXJuIHR4LnNpZ24odGVzdERhdGEuS0VZUEFJUl9QUlYpLnNob3VsZC5iZS5mdWxmaWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCByZXR1cm4gZW5jb2RlZCB0eCcsICgpID0+IHtcbiAgICBpdCgndmFsaWQgc2lnbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHR4LnNldFRyYW5zYWN0aW9uRGF0YSh0ZXN0RGF0YS5UWERBVEEpO1xuICAgICAgYXdhaXQgdHguc2lnbih0ZXN0RGF0YS5LRVlQQUlSX1BSVik7XG4gICAgICBzaG91bGQuZXF1YWwodHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgdGVzdERhdGEuRU5DT0RFRF9UUkFOU0FDVElPTik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addressInitialization.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/addressInitialization.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const should_1 = __importDefault(require("should"));
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const testData = __importStar(require("../../resources"));
|
|
42
|
+
const getBuilder_1 = require("../../getBuilder");
|
|
43
|
+
describe('Arbeth address initialization', () => {
|
|
44
|
+
it('should fail if there is no contract address', async () => {
|
|
45
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('tarbeth');
|
|
46
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
47
|
+
txBuilder.fee({
|
|
48
|
+
fee: '10',
|
|
49
|
+
gasLimit: '1000',
|
|
50
|
+
});
|
|
51
|
+
txBuilder.counter(1);
|
|
52
|
+
await txBuilder.build().should.be.rejectedWith('Invalid transaction: missing contract address');
|
|
53
|
+
});
|
|
54
|
+
it('should fail if forwarder version is invalid', async () => {
|
|
55
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('tarbeth');
|
|
56
|
+
try {
|
|
57
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
58
|
+
txBuilder.fee({
|
|
59
|
+
fee: '10',
|
|
60
|
+
gasLimit: '1000',
|
|
61
|
+
});
|
|
62
|
+
txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
|
|
63
|
+
txBuilder.forwarderVersion(3);
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
should_1.default.equal(e.message, 'Invalid forwarder version: 3');
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
it('should build properly and return a correct address', async () => {
|
|
70
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('tarbeth');
|
|
71
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
72
|
+
txBuilder.fee({
|
|
73
|
+
fee: '10',
|
|
74
|
+
gasLimit: '1000',
|
|
75
|
+
});
|
|
76
|
+
txBuilder.counter(1);
|
|
77
|
+
txBuilder.contract(testData.FORWARDER_FACTORY_ADDRESS);
|
|
78
|
+
txBuilder.baseAddress(testData.BASE_ADDRESS);
|
|
79
|
+
txBuilder.feeAddress(testData.FEE_ADDRESS);
|
|
80
|
+
txBuilder.forwarderVersion(4);
|
|
81
|
+
txBuilder.salt('0x1');
|
|
82
|
+
txBuilder.initCode(testData.FORWARDER_IMPLEMENTATION_ADDRESS);
|
|
83
|
+
txBuilder.sign({ key: testData.KEYPAIR_PRV.getKeys().prv });
|
|
84
|
+
const tx = await txBuilder.build();
|
|
85
|
+
const txJson = tx.toJson();
|
|
86
|
+
should_1.default.equal(txJson.deployedAddress, '0xd9d189aa6907a4fafd3c66e8cc178011b1f443f5');
|
|
87
|
+
should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
|
|
88
|
+
});
|
|
89
|
+
it('should build properly from serialized', async () => {
|
|
90
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('tarbeth');
|
|
91
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
92
|
+
txBuilder.from(testData.UNSIGNED_ADDRESS_INIT);
|
|
93
|
+
const tx = await txBuilder.build();
|
|
94
|
+
const txJson = tx.toJson();
|
|
95
|
+
should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
|
|
96
|
+
});
|
|
97
|
+
it('should build properly from signed serialized', async () => {
|
|
98
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('tarbeth');
|
|
99
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
100
|
+
txBuilder.from(testData.SIGNED_ADDRESS_INIT);
|
|
101
|
+
const tx = await txBuilder.build();
|
|
102
|
+
const txJson = tx.toJson();
|
|
103
|
+
should_1.default.equal(txJson.to, testData.FORWARDER_FACTORY_ADDRESS);
|
|
104
|
+
should_1.default.equal(txJson.from, '0xe6c43626f11312de29b0011fa9da71ea3bba0e9f');
|
|
105
|
+
});
|
|
106
|
+
it('should build properly createForwarder call for recovery', async () => {
|
|
107
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('tarbeth');
|
|
108
|
+
txBuilder.type(sdk_core_1.TransactionType.ContractCall);
|
|
109
|
+
txBuilder.contract(testData.BASE_ADDRESS);
|
|
110
|
+
txBuilder.data(testData.CREATE_FORWARDER_METHOD);
|
|
111
|
+
txBuilder.fee({
|
|
112
|
+
fee: '10',
|
|
113
|
+
gasLimit: '1000',
|
|
114
|
+
});
|
|
115
|
+
const tx = await txBuilder.build();
|
|
116
|
+
const txJson = tx.toJson();
|
|
117
|
+
should_1.default.equal(txJson.to, testData.BASE_ADDRESS);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci9hZGRyZXNzSW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbURBQXVEO0FBRXZELDBEQUE0QztBQUM1QyxpREFBOEM7QUFFOUMsUUFBUSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtJQUM3QyxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLFNBQVMsQ0FBdUIsQ0FBQztRQUM5RCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLFNBQVMsQ0FBdUIsQ0FBQztRQUM5RCxJQUFJLENBQUM7WUFDSCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO2dCQUNaLEdBQUcsRUFBRSxJQUFJO2dCQUNULFFBQVEsRUFBRSxNQUFN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QUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsNENBQTRDLENBQUMsQ0FBQztJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5REFBeUQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2RSxNQUFNLFNBQVMsR0FBRyxJQUFBLHVCQUFVLEVBQUMsU0FBUyxDQUF1QixDQUFDO1FBQzlELFNBQVMsQ0FBQyxJQUFJLENBQUMsMEJBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2pELFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDWixHQUFHLEVBQUUsSUFBSTtZQUNULFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQztRQUNILE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vZ2V0QnVpbGRlcic7XG5cbmRlc2NyaWJlKCdBcmJldGggYWRkcmVzcyBpbml0aWFsaXphdGlvbicsICgpID0+IHtcbiAgaXQoJ3Nob3VsZCBmYWlsIGlmIHRoZXJlIGlzIG5vIGNvbnRyYWN0IGFkZHJlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndGFyYmV0aCcpIGFzIFRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGZlZTogJzEwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgfSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMSk7XG4gICAgYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnSW52YWxpZCB0cmFuc2FjdGlvbjogbWlzc2luZyBjb250cmFjdCBhZGRyZXNzJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZmFpbCBpZiBmb3J3YXJkZXIgdmVyc2lvbiBpcyBpbnZhbGlkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoJ3RhcmJldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHJ5IHtcbiAgICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICAgIGZlZTogJzEwJyxcbiAgICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICAgIH0pO1xuICAgICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MpO1xuICAgICAgdHhCdWlsZGVyLmZvcndhcmRlclZlcnNpb24oMyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2hvdWxkLmVxdWFsKGUubWVzc2FnZSwgJ0ludmFsaWQgZm9yd2FyZGVyIHZlcnNpb246IDMnKTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgYW5kIHJldHVybiBhIGNvcnJlY3QgYWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0YXJiZXRoJykgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZmVlOiAnMTAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigxKTtcbiAgICB0eEJ1aWxkZXIuY29udHJhY3QodGVzdERhdGEuRk9SV0FSREVSX0ZBQ1RPUllfQUREUkVTUyk7XG4gICAgdHhCdWlsZGVyLmJhc2VBZGRyZXNzKHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gICAgdHhCdWlsZGVyLmZlZUFkZHJlc3ModGVzdERhdGEuRkVFX0FERFJFU1MpO1xuICAgIHR4QnVpbGRlci5mb3J3YXJkZXJWZXJzaW9uKDQpO1xuICAgIHR4QnVpbGRlci5zYWx0KCcweDEnKTtcbiAgICB0eEJ1aWxkZXIuaW5pdENvZGUodGVzdERhdGEuRk9SV0FSREVSX0lNUExFTUVOVEFUSU9OX0FERFJFU1MpO1xuICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiB0ZXN0RGF0YS5LRVlQQUlSX1BSVi5nZXRLZXlzKCkucHJ2IH0pO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5kZXBsb3llZEFkZHJlc3MsICcweGQ5ZDE4OWFhNjkwN2E0ZmFmZDNjNjZlOGNjMTc4MDExYjFmNDQzZjUnKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLnRvLCB0ZXN0RGF0YS5GT1JXQVJERVJfRkFDVE9SWV9BRERSRVNTKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBwcm9wZXJseSBmcm9tIHNlcmlhbGl6ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndGFyYmV0aCcpIGFzIFRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICB0eEJ1aWxkZXIuZnJvbSh0ZXN0RGF0YS5VTlNJR05FRF9BRERSRVNTX0lOSVQpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgdGVzdERhdGEuRk9SV0FSREVSX0ZBQ1RPUllfQUREUkVTUyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgZnJvbSBzaWduZWQgc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0YXJiZXRoJykgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mcm9tKHRlc3REYXRhLlNJR05FRF9BRERSRVNTX0lOSVQpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgdGVzdERhdGEuRk9SV0FSREVSX0ZBQ1RPUllfQUREUkVTUyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5mcm9tLCAnMHhlNmM0MzYyNmYxMTMxMmRlMjliMDAxMWZhOWRhNzFlYTNiYmEwZTlmJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgY3JlYXRlRm9yd2FyZGVyIGNhbGwgZm9yIHJlY292ZXJ5JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoJ3RhcmJldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gICAgdHhCdWlsZGVyLmRhdGEodGVzdERhdGEuQ1JFQVRFX0ZPUldBUkRFUl9NRVRIT0QpO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZmVlOiAnMTAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICB9KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkJBU0VfQUREUkVTUyk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/send.ts"],"names":[],"mappings":""}
|