@bitgo/sdk-coin-eth 25.3.2 → 25.3.3
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/test/fixtures/eth.d.ts +39 -0
- package/dist/test/fixtures/eth.d.ts.map +1 -0
- package/dist/test/fixtures/eth.js +262 -0
- package/dist/test/resources/erc1155Abi.d.ts +40 -0
- package/dist/test/resources/erc1155Abi.d.ts.map +1 -0
- package/dist/test/resources/erc1155Abi.js +329 -0
- package/dist/test/resources/erc721Abi.d.ts +12 -0
- package/dist/test/resources/erc721Abi.d.ts.map +1 -0
- package/dist/test/resources/erc721Abi.js +34 -0
- package/dist/test/resources/eth.d.ts +51 -0
- package/dist/test/resources/eth.d.ts.map +1 -0
- package/dist/test/resources/eth.js +72 -0
- package/dist/test/resources/nftEncodings.d.ts +4 -0
- package/dist/test/resources/nftEncodings.d.ts.map +1 -0
- package/dist/test/resources/nftEncodings.js +7 -0
- package/dist/test/resources/walletSimpleAbi.d.ts +12 -0
- package/dist/test/resources/walletSimpleAbi.d.ts.map +1 -0
- package/dist/test/resources/walletSimpleAbi.js +44 -0
- package/dist/test/unit/eth.d.ts +2 -0
- package/dist/test/unit/eth.d.ts.map +1 -0
- package/dist/test/unit/eth.js +1171 -0
- package/dist/test/unit/ethWallet.d.ts +2 -0
- package/dist/test/unit/ethWallet.d.ts.map +1 -0
- package/dist/test/unit/ethWallet.js +472 -0
- package/dist/test/unit/fixtures/ethMultiSigBackupKey.d.ts +4 -0
- package/dist/test/unit/fixtures/ethMultiSigBackupKey.d.ts.map +1 -0
- package/dist/test/unit/fixtures/ethMultiSigBackupKey.js +10 -0
- package/dist/test/unit/fixtures/ethTssBackupKey.d.ts +5 -0
- package/dist/test/unit/fixtures/ethTssBackupKey.d.ts.map +1 -0
- package/dist/test/unit/fixtures/ethTssBackupKey.js +25 -0
- package/dist/test/unit/getBuilder.d.ts +3 -0
- package/dist/test/unit/getBuilder.d.ts.map +1 -0
- package/dist/test/unit/getBuilder.js +10 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +175 -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 +96 -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 +101 -0
- package/dist/test/unit/transactionBuilder/contractCall.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/contractCall.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/contractCall.js +101 -0
- package/dist/test/unit/transactionBuilder/flushCoins.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/flushCoins.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/flushCoins.js +133 -0
- package/dist/test/unit/transactionBuilder/flushTokens.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/flushTokens.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/flushTokens.js +281 -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 +331 -0
- package/dist/test/unit/transactionBuilder/sendNFT.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/sendNFT.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/sendNFT.js +250 -0
- package/dist/test/unit/transactionBuilder/singleSigSend.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/singleSigSend.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/singleSigSend.js +196 -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 +423 -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 +124 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +74 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -7
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -1858
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ethTssBackupKey = void 0;
|
|
4
|
+
exports.ethTssBackupKey = {
|
|
5
|
+
key: '{"iv":"Ey2zqYIcM9hxKt3C/kByKQ==","v":1,"iter":10000,"ks":256,"ts":64,"mode"' +
|
|
6
|
+
':"ccm","adata":"","cipher":"aes","salt":"0oz4+AWEElQ=","ct":"nscqpkbEdSrEWJ' +
|
|
7
|
+
'MhOJvzWRgJknMSdH2kAwfP8CxLtl2rELJZXMHDrgUf9PV4jovOh7FQaqqEoek5+VHzPLTby1s0V' +
|
|
8
|
+
'XyncaKWN1Ti9E+1IfSdclhyPGx54SLRKRReYt+0OInnbS1QLzQco804iinndAWTVxA898xDgm98' +
|
|
9
|
+
'QDXvDhlq+vKZkRHvCwHgJc9GRNvQYdBMO6Hg0nrmnwFcvNdVqoG2OTvzmkMTlCZx+NC3JdeUPdb' +
|
|
10
|
+
'qjMKbQRZY9mN0xazC6xoEZJpXoDBMjGtNoLb0PlWDry7K5GvMjkxk2OYIpxscL0XIMibkMQTYR6' +
|
|
11
|
+
'am+qExdnkJHInmxxMG6iRWwJzHdjpKiD6o5a21kTnMBXC3gthj31XngVeDDANUrXW1P0qieXkTw' +
|
|
12
|
+
'4KKco+wamby6GLz6Ym2Tj/NC8U974Qahgm8rUp5nUHzrcNSJKQYYsA0ch58jQRgypDqyTjewoSP' +
|
|
13
|
+
'ed5KyqawIBQSVBaCxvGTnlVmjKqxE0ixz58sAEjIVSVH6o0RQlvJrDm+8CZEswq9KBEW5QWb/ys' +
|
|
14
|
+
'/cskLT69UozkeVG31VAlR41dkqXKmQvXUIQznT9yACLLKqwgk8nijpPugZSic3qjCWac8GrL+1P' +
|
|
15
|
+
'aM4EC/TQydecDWlHeSysf2sDumscFYneaQDj5lhTJLWl7xPbqlJXPjbtAzVf9/tnyvn1I3iBUYV' +
|
|
16
|
+
'k3p6RSSRcG1KM9unlQ8dhdru7evKESCrYji75dvPnaKFrSUkP/8BDreZop7yq7RXVnmHybyFVQM' +
|
|
17
|
+
'sKHD+veGgTUcO+q2ZHjGemmAZCee+IbEJoOj8nt85gBkqT079mjMsrb916UQW2RN/0S3B/6MX+p' +
|
|
18
|
+
'0T8Ksu2liHupXiHUN/1ZlYJpAkB890vJxWRdq27IZN/UUSKFxotYTkCSGWlPsWQQB2aLc/XSXx+' +
|
|
19
|
+
'xxeFQIChR3UR6QWDZqK66DK1B64Tze84/q7WNehNGbdr85E9e90DNFbIrrrAGGWVcy8y2Qhx9Op' +
|
|
20
|
+
'm+5GwjhcyFYSuEu5U8SI/JKpGjfc4em8tGLNwZRJ2P4Oeg9snyq7fLyc0nIPYdcddqIL9j/Z+Ey' +
|
|
21
|
+
'p3rpVSdohR/Iob1hMGgnd0MbjD2JIvtSYmE="}',
|
|
22
|
+
commonKeychain: '0379fc629ddd0430beb608283bfd9de33e9a9895752bcaa1009b256ef83248a90f2a3ea7c05' +
|
|
23
|
+
'457c081b579e8ed39efed510615c19c14395839d1415f6cecb8c28f',
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoVHNzQmFja3VwS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L2ZpeHR1cmVzL2V0aFRzc0JhY2t1cEtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGVBQWUsR0FBRztJQUM3QixHQUFHLEVBQ0QsNkVBQTZFO1FBQzdFLDZFQUE2RTtRQUM3RSw2RUFBNkU7UUFDN0UsNkVBQTZFO1FBQzdFLDZFQUE2RTtRQUM3RSw2RUFBNkU7UUFDN0UsNkVBQTZFO1FBQzdFLDZFQUE2RTtRQUM3RSw2RUFBNkU7UUFDN0UsNkVBQTZFO1FBQzdFLDZFQUE2RTtRQUM3RSw2RUFBNkU7UUFDN0UsNkVBQTZFO1FBQzdFLDZFQUE2RTtRQUM3RSw2RUFBNkU7UUFDN0UsNkVBQTZFO1FBQzdFLHdDQUF3QztJQUMxQyxjQUFjLEVBQ1osNkVBQTZFO1FBQzdFLHlEQUF5RDtDQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGV0aFRzc0JhY2t1cEtleSA9IHtcbiAga2V5OlxuICAgICd7XCJpdlwiOlwiRXkyenFZSWNNOWh4S3QzQy9rQnlLUT09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIicgK1xuICAgICc6XCJjY21cIixcImFkYXRhXCI6XCJcIixcImNpcGhlclwiOlwiYWVzXCIsXCJzYWx0XCI6XCIwb3o0K0FXRUVsUT1cIixcImN0XCI6XCJuc2NxcGtiRWRTckVXSicgK1xuICAgICdNaE9KdnpXUmdKa25NU2RIMmtBd2ZQOEN4THRsMnJFTEpaWE1IRHJnVWY5UFY0am92T2g3RlFhcXFFb2VrNStWSHpQTFRieTFzMFYnICtcbiAgICAnWHluY2FLV04xVGk5RSsxSWZTZGNsaHlQR3g1NFNMUktSUmVZdCswT0lubmJTMVFMelFjbzgwNGlpbm5kQVdUVnhBODk4eERnbTk4JyArXG4gICAgJ1FEWHZEaGxxK3ZLWmtSSHZDd0hnSmM5R1JOdlFZZEJNTzZIZzBucm1ud0Zjdk5kVnFvRzJPVHZ6bWtNVGxDWngrTkMzSmRlVVBkYicgK1xuICAgICdxak1LYlFSWlk5bU4weGF6QzZ4b0VaSnBYb0RCTWpHdE5vTGIwUGxXRHJ5N0s1R3ZNamt4azJPWUlweHNjTDBYSU1pYmtNUVRZUjYnICtcbiAgICAnYW0rcUV4ZG5rSkhJbm14eE1HNmlSV3dKekhkanBLaUQ2bzVhMjFrVG5NQlhDM2d0aGozMVhuZ1ZlRERBTlVyWFcxUDBxaWVYa1R3JyArXG4gICAgJzRLS2NvK3dhbWJ5NkdMejZZbTJUai9OQzhVOTc0UWFoZ204clVwNW5VSHpyY05TSktRWVlzQTBjaDU4alFSZ3lwRHF5VGpld29TUCcgK1xuICAgICdlZDVLeXFhd0lCUVNWQmFDeHZHVG5sVm1qS3F4RTBpeHo1OHNBRWpJVlNWSDZvMFJRbHZKckRtKzhDWkVzd3E5S0JFVzVRV2IveXMnICtcbiAgICAnL2Nza0xUNjlVb3prZVZHMzFWQWxSNDFka3FYS21RdlhVSVF6blQ5eUFDTExLcXdnazhuaWpwUHVnWlNpYzNxakNXYWM4R3JMKzFQJyArXG4gICAgJ2FNNEVDL1RReWRlY0RXbEhlU3lzZjJzRHVtc2NGWW5lYVFEajVsaFRKTFdsN3hQYnFsSlhQamJ0QXpWZjkvdG55dm4xSTNpQlVZVicgK1xuICAgICdrM3A2UlNTUmNHMUtNOXVubFE4ZGhkcnU3ZXZLRVNDcllqaTc1ZHZQbmFLRnJTVWtQLzhCRHJlWm9wN3lxN1JYVm5tSHlieUZWUU0nICtcbiAgICAnc0tIRCt2ZUdnVFVjTytxMlpIakdlbW1BWkNlZStJYkVKb09qOG50ODVnQmtxVDA3OW1qTXNyYjkxNlVRVzJSTi8wUzNCLzZNWCtwJyArXG4gICAgJzBUOEtzdTJsaUh1cFhpSFVOLzFabFlKcEFrQjg5MHZKeFdSZHEyN0laTi9VVVNLRnhvdFlUa0NTR1dsUHNXUVFCMmFMYy9YU1h4KycgK1xuICAgICd4eGVGUUlDaFIzVVI2UVdEWnFLNjZESzFCNjRUemU4NC9xN1dOZWhOR2Jkcjg1RTllOTBETkZiSXJyckFHR1dWY3k4eTJRaHg5T3AnICtcbiAgICAnbSs1R3dqaGN5RllTdUV1NVU4U0kvSktwR2pmYzRlbTh0R0xOd1pSSjJQNE9lZzlzbnlxN2ZMeWMwbklQWWRjZGRxSUw5ai9aK0V5JyArXG4gICAgJ3AzcnBWU2RvaFIvSW9iMWhNR2duZDBNYmpEMkpJdnRTWW1FPVwifScsXG4gIGNvbW1vbktleWNoYWluOlxuICAgICcwMzc5ZmM2MjlkZGQwNDMwYmViNjA4MjgzYmZkOWRlMzNlOWE5ODk1NzUyYmNhYTEwMDliMjU2ZWY4MzI0OGE5MGYyYTNlYTdjMDUnICtcbiAgICAnNDU3YzA4MWI1NzllOGVkMzllZmVkNTEwNjE1YzE5YzE0Mzk1ODM5ZDE0MTVmNmNlY2I4YzI4ZicsXG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/getBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,kBAEzC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBuilder = void 0;
|
|
4
|
+
const src_1 = require("../../src");
|
|
5
|
+
const statics_1 = require("@bitgo/statics");
|
|
6
|
+
const getBuilder = (coin) => {
|
|
7
|
+
return new src_1.TransactionBuilder(statics_1.coins.get(coin));
|
|
8
|
+
};
|
|
9
|
+
exports.getBuilder = getBuilder;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9nZXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUErQztBQUMvQyw0Q0FBdUM7QUFFaEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQXNCLEVBQUU7SUFDN0QsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFGVyxRQUFBLFVBQVUsY0FFckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRCdWlsZGVyID0gKGNvaW46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciA9PiB7XG4gIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldChjb2luKSk7XG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../test/unit/keyPair.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,175 @@
|
|
|
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 assert_1 = __importDefault(require("assert"));
|
|
40
|
+
const should_1 = __importDefault(require("should"));
|
|
41
|
+
const src_1 = require("../../src");
|
|
42
|
+
const nacl = __importStar(require("tweetnacl"));
|
|
43
|
+
describe('Eth KeyPair', function () {
|
|
44
|
+
// these are all encodings of the same key so the test suite will show that they we can interchange between them
|
|
45
|
+
const xprv = 'xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2';
|
|
46
|
+
const xpub = 'xpub661MyMwAqRbcFhCvdhTAfpEEDV58oqDvv65YNHC686NNs4KbH8YZQJWVmrfbve7aAVHzxw8bKFxA7MLeDK6BbLfkE3bqkvHLPgaGHHtYGeY';
|
|
47
|
+
const prv = '82A34E3867EA7EA4E67E27865D500AE84E98D07AB1BAB06526F0A5A5FDCC3EBA';
|
|
48
|
+
const pub = '03D63D9FD9FD772A989C5B90EDB37716406356E98273E5F98FE07652247A3A8275';
|
|
49
|
+
const uncompressedPub = '04D63D9FD9FD772A989C5B90EDB37716406356E98273E5F98FE07652247A3A827503E948A2FDBF74A981D4E0054F10EDA7042C2D469F44473D3C7791E0E326E355';
|
|
50
|
+
const address = '0xeb317b9f2e0891d66c061ddc3f5ee7ed42d70a44';
|
|
51
|
+
const invalidPrivateKeyErrorMessage = 'Unsupported private key';
|
|
52
|
+
describe('should create a KeyPair', function () {
|
|
53
|
+
it('from an xpub', () => {
|
|
54
|
+
const keyPair = new src_1.KeyPair({ pub: xpub });
|
|
55
|
+
const defaultKeys = keyPair.getKeys();
|
|
56
|
+
should_1.default.not.exist(defaultKeys.prv);
|
|
57
|
+
defaultKeys.pub.should.equal('03D63D9FD9FD772A989C5B90EDB37716406356E98273E5F98FE07652247A3A8275');
|
|
58
|
+
const extendedKeys = keyPair.getExtendedKeys();
|
|
59
|
+
should_1.default.not.exist(extendedKeys.xprv);
|
|
60
|
+
extendedKeys.xpub.should.equal(xpub);
|
|
61
|
+
});
|
|
62
|
+
it('from an xprv', () => {
|
|
63
|
+
const keyPair = new src_1.KeyPair({ prv: xprv });
|
|
64
|
+
const defaultKeys = keyPair.getKeys();
|
|
65
|
+
defaultKeys.prv.should.equal(prv);
|
|
66
|
+
defaultKeys.pub.should.equal(pub);
|
|
67
|
+
const extendedKeys = keyPair.getExtendedKeys();
|
|
68
|
+
extendedKeys.xprv.should.equal(xprv);
|
|
69
|
+
extendedKeys.xpub.should.equal(xpub);
|
|
70
|
+
});
|
|
71
|
+
it('from an uncompressed public key', () => {
|
|
72
|
+
const keyPair = new src_1.KeyPair({ pub: uncompressedPub });
|
|
73
|
+
const defaultKeys = keyPair.getKeys();
|
|
74
|
+
should_1.default.not.exist(defaultKeys.prv);
|
|
75
|
+
defaultKeys.pub.should.equal(uncompressedPub);
|
|
76
|
+
assert_1.default.throws(() => keyPair.getExtendedKeys());
|
|
77
|
+
});
|
|
78
|
+
it('from a compressed public key', () => {
|
|
79
|
+
const keyPair = new src_1.KeyPair({ pub });
|
|
80
|
+
const defaultKeys = keyPair.getKeys();
|
|
81
|
+
should_1.default.not.exist(defaultKeys.prv);
|
|
82
|
+
defaultKeys.pub.should.equal(uncompressedPub);
|
|
83
|
+
assert_1.default.throws(() => keyPair.getExtendedKeys());
|
|
84
|
+
});
|
|
85
|
+
it('from a raw private key', () => {
|
|
86
|
+
const keyPair = new src_1.KeyPair({ prv });
|
|
87
|
+
const defaultKeys = keyPair.getKeys();
|
|
88
|
+
defaultKeys.prv.should.equal(prv);
|
|
89
|
+
defaultKeys.pub.should.equal(uncompressedPub);
|
|
90
|
+
assert_1.default.throws(() => keyPair.getExtendedKeys());
|
|
91
|
+
});
|
|
92
|
+
it('from an empty value', () => {
|
|
93
|
+
const keyPair = new src_1.KeyPair();
|
|
94
|
+
should_1.default.exists(keyPair.getKeys().prv);
|
|
95
|
+
should_1.default.exists(keyPair.getKeys().pub);
|
|
96
|
+
should_1.default.equal(keyPair.getKeys().prv.length, 64);
|
|
97
|
+
should_1.default.equal(keyPair.getKeys().pub.length, 66);
|
|
98
|
+
});
|
|
99
|
+
it('from seed', () => {
|
|
100
|
+
const seed = nacl.randomBytes(64);
|
|
101
|
+
const keyPair = new src_1.KeyPair({ seed: Buffer.from(seed) });
|
|
102
|
+
keyPair.getKeys().should.have.property('pub');
|
|
103
|
+
keyPair.getKeys().should.have.property('prv');
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
describe('should fail to create a KeyPair', function () {
|
|
107
|
+
it('from an invalid public key', () => {
|
|
108
|
+
const source = {
|
|
109
|
+
pub: '01D63D',
|
|
110
|
+
};
|
|
111
|
+
assert_1.default.throws(() => new src_1.KeyPair(source));
|
|
112
|
+
});
|
|
113
|
+
it('from an invalid private key', () => {
|
|
114
|
+
const source = {
|
|
115
|
+
prv: '82A34E',
|
|
116
|
+
};
|
|
117
|
+
assert_1.default.throws(() => new src_1.KeyPair(source));
|
|
118
|
+
assert_1.default.throws(() => new src_1.KeyPair({ prv: prv + pub }), (e) => e.message === invalidPrivateKeyErrorMessage);
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
describe('getAddress', function () {
|
|
122
|
+
it('should get an address from xprv', () => {
|
|
123
|
+
const keyPair = new src_1.KeyPair({ prv: xprv });
|
|
124
|
+
const calculatedAddress = keyPair.getAddress();
|
|
125
|
+
calculatedAddress.should.equal(address);
|
|
126
|
+
});
|
|
127
|
+
it('should get an address from xpub', () => {
|
|
128
|
+
const keyPair = new src_1.KeyPair({ pub: xpub });
|
|
129
|
+
const calculatedAddress = keyPair.getAddress();
|
|
130
|
+
calculatedAddress.should.equal(address);
|
|
131
|
+
});
|
|
132
|
+
it('should get an address from prv', () => {
|
|
133
|
+
const keyPair = new src_1.KeyPair({ prv });
|
|
134
|
+
const calculatedAddress = keyPair.getAddress();
|
|
135
|
+
calculatedAddress.should.equal(address);
|
|
136
|
+
});
|
|
137
|
+
it('should get an address from pub', () => {
|
|
138
|
+
const keyPair = new src_1.KeyPair({ pub });
|
|
139
|
+
const calculatedAddress = keyPair.getAddress();
|
|
140
|
+
calculatedAddress.should.equal(address);
|
|
141
|
+
});
|
|
142
|
+
it('should get an address from uncompressed pub', () => {
|
|
143
|
+
const keyPair = new src_1.KeyPair({ pub: uncompressedPub });
|
|
144
|
+
const calculatedAddress = keyPair.getAddress();
|
|
145
|
+
calculatedAddress.should.equal(address);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
describe('getExtendedKeys', function () {
|
|
149
|
+
it('should get the keys in extended format from xprv', () => {
|
|
150
|
+
const keyPair = new src_1.KeyPair({ prv: xprv });
|
|
151
|
+
const { xprv: calculatedXprv, xpub: calculatedXpub } = keyPair.getExtendedKeys();
|
|
152
|
+
calculatedXprv.should.equal(xprv);
|
|
153
|
+
calculatedXpub.should.equal(xpub);
|
|
154
|
+
});
|
|
155
|
+
it('should get the keys in extended format from xpub', () => {
|
|
156
|
+
const keyPair = new src_1.KeyPair({ pub: xpub });
|
|
157
|
+
const { xprv: calculatedXprv, xpub: calculatedXpub } = keyPair.getExtendedKeys();
|
|
158
|
+
should_1.default.not.exist(calculatedXprv);
|
|
159
|
+
calculatedXpub.should.equal(xpub);
|
|
160
|
+
});
|
|
161
|
+
it('should not be able to get keys from prv', () => {
|
|
162
|
+
const keyPair = new src_1.KeyPair({ prv });
|
|
163
|
+
assert_1.default.throws(() => keyPair.getExtendedKeys());
|
|
164
|
+
});
|
|
165
|
+
it('should get the keys in extended format from pub', () => {
|
|
166
|
+
const keyPair = new src_1.KeyPair({ pub });
|
|
167
|
+
assert_1.default.throws(() => keyPair.getExtendedKeys());
|
|
168
|
+
});
|
|
169
|
+
it('should get the keys in extended format from uncompressed pub', () => {
|
|
170
|
+
const keyPair = new src_1.KeyPair({ pub: uncompressedPub });
|
|
171
|
+
assert_1.default.throws(() => keyPair.getExtendedKeys());
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUU1QixtQ0FBb0M7QUFDcEMsZ0RBQWtDO0FBRWxDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsZ0hBQWdIO0lBQ2hILE1BQU0sSUFBSSxHQUNSLGlIQUFpSCxDQUFDO0lBQ3BILE1BQU0sSUFBSSxHQUNSLGlIQUFpSCxDQUFDO0lBQ3BILE1BQU0sR0FBRyxHQUFHLGtFQUFrRSxDQUFDO0lBQy9FLE1BQU0sR0FBRyxHQUFHLG9FQUFvRSxDQUFDO0lBQ2pGLE1BQU0sZUFBZSxHQUNuQixvSUFBb0ksQ0FBQztJQUN2SSxNQUFNLE9BQU8sR0FBRyw0Q0FBNEMsQ0FBQztJQUM3RCxNQUFNLDZCQUE2QixHQUFHLHlCQUF5QixDQUFDO0lBRWhFLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtRQUNsQyxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtZQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxnQkFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1lBRW5HLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQyxnQkFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLFlB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QUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5cbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuXG5kZXNjcmliZSgnRXRoIEtleVBhaXInLCBmdW5jdGlvbiAoKSB7XG4gIC8vIHRoZXNlIGFyZSBhbGwgZW5jb2RpbmdzIG9mIHRoZSBzYW1lIGtleSBzbyB0aGUgdGVzdCBzdWl0ZSB3aWxsIHNob3cgdGhhdCB0aGV5IHdlIGNhbiBpbnRlcmNoYW5nZSBiZXR3ZWVuIHRoZW1cbiAgY29uc3QgeHBydiA9XG4gICAgJ3hwcnY5czIxWnJRSDE0M0szRDhUWGZ2QUpnSFZmVEVlUU5XNVlzOXdadG5VWmtxUHpGelNqYkVKcldDMXZaNEduWEN2UjdyUUwyVUZYM1JTdVllVTlNckVSbTFYQnZBQ293N2MzNnZuejVpWXlqMic7XG4gIGNvbnN0IHhwdWIgPVxuICAgICd4cHViNjYxTXlNd0FxUmJjRmhDdmRoVEFmcEVFRFY1OG9xRHZ2NjVZTkhDNjg2Tk5zNEtiSDhZWlFKV1ZtcmZidmU3YUFWSHp4dzhiS0Z4QTdNTGVESzZCYkxma0UzYnFrdkhMUGdhR0hIdFlHZVknO1xuICBjb25zdCBwcnYgPSAnODJBMzRFMzg2N0VBN0VBNEU2N0UyNzg2NUQ1MDBBRTg0RTk4RDA3QUIxQkFCMDY1MjZGMEE1QTVGRENDM0VCQSc7XG4gIGNvbnN0IHB1YiA9ICcwM0Q2M0Q5RkQ5RkQ3NzJBOTg5QzVCOTBFREIzNzcxNjQwNjM1NkU5ODI3M0U1Rjk4RkUwNzY1MjI0N0EzQTgyNzUnO1xuICBjb25zdCB1bmNvbXByZXNzZWRQdWIgPVxuICAgICcwNEQ2M0Q5RkQ5RkQ3NzJBOTg5QzVCOTBFREIzNzcxNjQwNjM1NkU5ODI3M0U1Rjk4RkUwNzY1MjI0N0EzQTgyNzUwM0U5NDhBMkZEQkY3NEE5ODFENEUwMDU0RjEwRURBNzA0MkMyRDQ2OUY0NDQ3M0QzQzc3OTFFMEUzMjZFMzU1JztcbiAgY29uc3QgYWRkcmVzcyA9ICcweGViMzE3YjlmMmUwODkxZDY2YzA2MWRkYzNmNWVlN2VkNDJkNzBhNDQnO1xuICBjb25zdCBpbnZhbGlkUHJpdmF0ZUtleUVycm9yTWVzc2FnZSA9ICdVbnN1cHBvcnRlZCBwcml2YXRlIGtleSc7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBjcmVhdGUgYSBLZXlQYWlyJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdmcm9tIGFuIHhwdWInLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHhwdWIgfSk7XG4gICAgICBjb25zdCBkZWZhdWx0S2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChkZWZhdWx0S2V5cy5wcnYpO1xuICAgICAgZGVmYXVsdEtleXMucHViLnNob3VsZC5lcXVhbCgnMDNENjNEOUZEOUZENzcyQTk4OUM1QjkwRURCMzc3MTY0MDYzNTZFOTgyNzNFNUY5OEZFMDc2NTIyNDdBM0E4Mjc1Jyk7XG5cbiAgICAgIGNvbnN0IGV4dGVuZGVkS2V5cyA9IGtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCk7XG4gICAgICBzaG91bGQubm90LmV4aXN0KGV4dGVuZGVkS2V5cy54cHJ2KTtcbiAgICAgIGV4dGVuZGVkS2V5cy54cHViLnNob3VsZC5lcXVhbCh4cHViKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGFuIHhwcnYnLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwcnY6IHhwcnYgfSk7XG4gICAgICBjb25zdCBkZWZhdWx0S2V5cyA9IGtleVBhaXIuZ2V0S2V5cygpO1xuICAgICAgZGVmYXVsdEtleXMucHJ2IS5zaG91bGQuZXF1YWwocHJ2KTtcbiAgICAgIGRlZmF1bHRLZXlzLnB1Yi5zaG91bGQuZXF1YWwocHViKTtcblxuICAgICAgY29uc3QgZXh0ZW5kZWRLZXlzID0ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKTtcbiAgICAgIGV4dGVuZGVkS2V5cy54cHJ2IS5zaG91bGQuZXF1YWwoeHBydik7XG4gICAgICBleHRlbmRlZEtleXMueHB1Yi5zaG91bGQuZXF1YWwoeHB1Yik7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiB1bmNvbXByZXNzZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1YjogdW5jb21wcmVzc2VkUHViIH0pO1xuICAgICAgY29uc3QgZGVmYXVsdEtleXMgPSBrZXlQYWlyLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3QoZGVmYXVsdEtleXMucHJ2KTtcbiAgICAgIGRlZmF1bHRLZXlzLnB1Yi5zaG91bGQuZXF1YWwodW5jb21wcmVzc2VkUHViKTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGEgY29tcHJlc3NlZCBwdWJsaWMga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHViIH0pO1xuICAgICAgY29uc3QgZGVmYXVsdEtleXMgPSBrZXlQYWlyLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3QoZGVmYXVsdEtleXMucHJ2KTtcbiAgICAgIGRlZmF1bHRLZXlzLnB1Yi5zaG91bGQuZXF1YWwodW5jb21wcmVzc2VkUHViKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhIHJhdyBwcml2YXRlIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydiB9KTtcbiAgICAgIGNvbnN0IGRlZmF1bHRLZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG4gICAgICBkZWZhdWx0S2V5cy5wcnYhLnNob3VsZC5lcXVhbChwcnYpO1xuICAgICAgZGVmYXVsdEtleXMucHViLnNob3VsZC5lcXVhbCh1bmNvbXByZXNzZWRQdWIpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXIuZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gZW1wdHkgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoKTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5UGFpci5nZXRLZXlzKCkucHJ2KTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5UGFpci5nZXRLZXlzKCkucHViKTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlQYWlyLmdldEtleXMoKS5wcnYhLmxlbmd0aCwgNjQpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleVBhaXIuZ2V0S2V5cygpLnB1Yi5sZW5ndGgsIDY2KTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIHNlZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzZWVkID0gbmFjbC5yYW5kb21CeXRlcyg2NCk7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBzZWVkOiBCdWZmZXIuZnJvbShzZWVkKSB9KTtcbiAgICAgIGtleVBhaXIuZ2V0S2V5cygpLnNob3VsZC5oYXZlLnByb3BlcnR5KCdwdWInKTtcbiAgICAgIGtleVBhaXIuZ2V0S2V5cygpLnNob3VsZC5oYXZlLnByb3BlcnR5KCdwcnYnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBmYWlsIHRvIGNyZWF0ZSBhIEtleVBhaXInLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ2Zyb20gYW4gaW52YWxpZCBwdWJsaWMga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0ge1xuICAgICAgICBwdWI6ICcwMUQ2M0QnLFxuICAgICAgfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gbmV3IEtleVBhaXIoc291cmNlKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiBpbnZhbGlkIHByaXZhdGUga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0ge1xuICAgICAgICBwcnY6ICc4MkEzNEUnLFxuICAgICAgfTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gbmV3IEtleVBhaXIoc291cmNlKSk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBuZXcgS2V5UGFpcih7IHBydjogcHJ2ICsgcHViIH0pLFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09IGludmFsaWRQcml2YXRlS2V5RXJyb3JNZXNzYWdlXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0QWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGdldCBhbiBhZGRyZXNzIGZyb20geHBydicsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjogeHBydiB9KTtcbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRBZGRyZXNzID0ga2V5UGFpci5nZXRBZGRyZXNzKCk7XG4gICAgICBjYWxjdWxhdGVkQWRkcmVzcy5zaG91bGQuZXF1YWwoYWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGdldCBhbiBhZGRyZXNzIGZyb20geHB1YicsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1YjogeHB1YiB9KTtcbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRBZGRyZXNzID0ga2V5UGFpci5nZXRBZGRyZXNzKCk7XG4gICAgICBjYWxjdWxhdGVkQWRkcmVzcy5zaG91bGQuZXF1YWwoYWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGdldCBhbiBhZGRyZXNzIGZyb20gcHJ2JywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2IH0pO1xuICAgICAgY29uc3QgY2FsY3VsYXRlZEFkZHJlc3MgPSBrZXlQYWlyLmdldEFkZHJlc3MoKTtcbiAgICAgIGNhbGN1bGF0ZWRBZGRyZXNzLnNob3VsZC5lcXVhbChhZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2V0IGFuIGFkZHJlc3MgZnJvbSBwdWInLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWIgfSk7XG4gICAgICBjb25zdCBjYWxjdWxhdGVkQWRkcmVzcyA9IGtleVBhaXIuZ2V0QWRkcmVzcygpO1xuICAgICAgY2FsY3VsYXRlZEFkZHJlc3Muc2hvdWxkLmVxdWFsKGFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZXQgYW4gYWRkcmVzcyBmcm9tIHVuY29tcHJlc3NlZCBwdWInLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHVuY29tcHJlc3NlZFB1YiB9KTtcbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRBZGRyZXNzID0ga2V5UGFpci5nZXRBZGRyZXNzKCk7XG4gICAgICBjYWxjdWxhdGVkQWRkcmVzcy5zaG91bGQuZXF1YWwoYWRkcmVzcyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRFeHRlbmRlZEtleXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBnZXQgdGhlIGtleXMgaW4gZXh0ZW5kZWQgZm9ybWF0IGZyb20geHBydicsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydjogeHBydiB9KTtcbiAgICAgIGNvbnN0IHsgeHBydjogY2FsY3VsYXRlZFhwcnYsIHhwdWI6IGNhbGN1bGF0ZWRYcHViIH0gPSBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpO1xuICAgICAgY2FsY3VsYXRlZFhwcnYhLnNob3VsZC5lcXVhbCh4cHJ2KTtcbiAgICAgIGNhbGN1bGF0ZWRYcHViLnNob3VsZC5lcXVhbCh4cHViKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2V0IHRoZSBrZXlzIGluIGV4dGVuZGVkIGZvcm1hdCBmcm9tIHhwdWInLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHhwdWIgfSk7XG4gICAgICBjb25zdCB7IHhwcnY6IGNhbGN1bGF0ZWRYcHJ2LCB4cHViOiBjYWxjdWxhdGVkWHB1YiB9ID0ga2V5UGFpci5nZXRFeHRlbmRlZEtleXMoKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3QoY2FsY3VsYXRlZFhwcnYpO1xuICAgICAgY2FsY3VsYXRlZFhwdWIuc2hvdWxkLmVxdWFsKHhwdWIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBub3QgYmUgYWJsZSB0byBnZXQga2V5cyBmcm9tIHBydicsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHBydiB9KTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2V0IHRoZSBrZXlzIGluIGV4dGVuZGVkIGZvcm1hdCBmcm9tIHB1YicsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1YiB9KTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2V0IHRoZSBrZXlzIGluIGV4dGVuZGVkIGZvcm1hdCBmcm9tIHVuY29tcHJlc3NlZCBwdWInLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IHVuY29tcHJlc3NlZFB1YiB9KTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBrZXlQYWlyLmdldEV4dGVuZGVkS2V5cygpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../test/unit/transaction.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
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 assert_1 = __importDefault(require("assert"));
|
|
40
|
+
const should_1 = __importDefault(require("should"));
|
|
41
|
+
const statics_1 = require("@bitgo/statics");
|
|
42
|
+
const src_1 = require("../../src");
|
|
43
|
+
const testData = __importStar(require("../resources/eth"));
|
|
44
|
+
const mocha_1 = require("mocha");
|
|
45
|
+
describe('ETH Transaction', () => {
|
|
46
|
+
const coinConfig = statics_1.coins.get('teth');
|
|
47
|
+
const common = (0, src_1.getCommon)(coinConfig.network);
|
|
48
|
+
/**
|
|
49
|
+
* @param data
|
|
50
|
+
*/
|
|
51
|
+
function getTransaction(data) {
|
|
52
|
+
return new src_1.Transaction(coinConfig, common, data);
|
|
53
|
+
}
|
|
54
|
+
describe('should throw ', () => {
|
|
55
|
+
it('an empty transaction', () => {
|
|
56
|
+
const tx = getTransaction();
|
|
57
|
+
assert_1.default.throws(() => tx.toJson());
|
|
58
|
+
assert_1.default.throws(() => tx.toBroadcastFormat());
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
const testParams = [
|
|
62
|
+
['Legacy', testData.LEGACY_TXDATA, testData.UNSIGNED_LEGACY_TX, testData.ENCODED_LEGACY_TRANSACTION],
|
|
63
|
+
['EIP1559', testData.EIP1559_TXDATA, testData.UNSIGNED_EIP1559_TX, testData.ENCODED_EIP1559_TRANSACTION],
|
|
64
|
+
];
|
|
65
|
+
describe('should return', () => {
|
|
66
|
+
testParams.map(([txnType, txData, unsignedTx]) => {
|
|
67
|
+
(0, mocha_1.test)(`a valid ${txnType} transaction`, () => {
|
|
68
|
+
const tx = getTransaction(txData);
|
|
69
|
+
should_1.default.deepEqual(tx.toJson(), txData);
|
|
70
|
+
should_1.default.deepEqual(tx.toBroadcastFormat(), unsignedTx);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
describe('should sign', () => {
|
|
75
|
+
it('invalid', () => {
|
|
76
|
+
const tx = getTransaction();
|
|
77
|
+
return tx.sign(testData.KEYPAIR_PRV).should.be.rejected();
|
|
78
|
+
});
|
|
79
|
+
testParams.map(([txnType, txData]) => {
|
|
80
|
+
it(`should create a valid ${txnType} signature`, () => {
|
|
81
|
+
const tx = getTransaction(txData);
|
|
82
|
+
return tx.sign(testData.KEYPAIR_PRV).should.be.fulfilled();
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('should return encoded tx', () => {
|
|
87
|
+
testParams.map(([txnType, txData, _, encodedTxData]) => {
|
|
88
|
+
it(`should create a valid ${txnType} encoded transaction`, async () => {
|
|
89
|
+
const tx = getTransaction(txData);
|
|
90
|
+
await tx.sign(testData.KEYPAIR_PRV);
|
|
91
|
+
should_1.default.equal(tx.toBroadcastFormat(), encodedTxData);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLDRDQUF3RDtBQUN4RCxtQ0FBMkQ7QUFDM0QsMkRBQTZDO0FBQzdDLGlDQUE2QjtBQUU3QixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBQSxlQUFTLEVBQUMsVUFBVSxDQUFDLE9BQTBCLENBQUMsQ0FBQztJQUNoRTs7T0FFRztJQUNILFNBQVMsY0FBYyxDQUFDLElBQWE7UUFDbkMsT0FBTyxJQUFJLGlCQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDN0IsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtZQUM5QixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNqQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBRztRQUNqQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsMEJBQTBCLENBQUM7UUFDcEcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLDJCQUEyQixDQUFDO0tBQ2hHLENBQUM7SUFFWCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtRQUM3QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBQSxZQUFJLEVBQUMsV0FBVyxPQUFPLGNBQWMsRUFBRSxHQUFHLEVBQUU7Z0JBQzFDLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNqQixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxFQUFFLENBQUMseUJBQXlCLE9BQU8sWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDcEQsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN4QyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQ3JELEVBQUUsQ0FBQyx5QkFBeUIsT0FBTyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDcEUsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IGNvaW5zLCBFdGhlcmV1bU5ldHdvcmsgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBnZXRDb21tb24sIFRyYW5zYWN0aW9uLCBUeERhdGEgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vcmVzb3VyY2VzL2V0aCc7XG5pbXBvcnQgeyB0ZXN0IH0gZnJvbSAnbW9jaGEnO1xuXG5kZXNjcmliZSgnRVRIIFRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KCd0ZXRoJyk7XG4gIGNvbnN0IGNvbW1vbiA9IGdldENvbW1vbihjb2luQ29uZmlnLm5ldHdvcmsgYXMgRXRoZXJldW1OZXR3b3JrKTtcbiAgLyoqXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqL1xuICBmdW5jdGlvbiBnZXRUcmFuc2FjdGlvbihkYXRhPzogVHhEYXRhKSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbihjb2luQ29uZmlnLCBjb21tb24sIGRhdGEpO1xuICB9XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCB0aHJvdyAnLCAoKSA9PiB7XG4gICAgaXQoJ2FuIGVtcHR5IHRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbigpO1xuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB0eC50b0pzb24oKSk7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBjb25zdCB0ZXN0UGFyYW1zID0gW1xuICAgIFsnTGVnYWN5JywgdGVzdERhdGEuTEVHQUNZX1RYREFUQSwgdGVzdERhdGEuVU5TSUdORURfTEVHQUNZX1RYLCB0ZXN0RGF0YS5FTkNPREVEX0xFR0FDWV9UUkFOU0FDVElPTl0sXG4gICAgWydFSVAxNTU5JywgdGVzdERhdGEuRUlQMTU1OV9UWERBVEEsIHRlc3REYXRhLlVOU0lHTkVEX0VJUDE1NTlfVFgsIHRlc3REYXRhLkVOQ09ERURfRUlQMTU1OV9UUkFOU0FDVElPTl0sXG4gIF0gYXMgY29uc3Q7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCByZXR1cm4nLCAoKSA9PiB7XG4gICAgdGVzdFBhcmFtcy5tYXAoKFt0eG5UeXBlLCB0eERhdGEsIHVuc2lnbmVkVHhdKSA9PiB7XG4gICAgICB0ZXN0KGBhIHZhbGlkICR7dHhuVHlwZX0gdHJhbnNhY3Rpb25gLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24odHhEYXRhKTtcbiAgICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eC50b0pzb24oKSwgdHhEYXRhKTtcbiAgICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB1bnNpZ25lZFR4KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIHNpZ24nLCAoKSA9PiB7XG4gICAgaXQoJ2ludmFsaWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGdldFRyYW5zYWN0aW9uKCk7XG4gICAgICByZXR1cm4gdHguc2lnbih0ZXN0RGF0YS5LRVlQQUlSX1BSVikuc2hvdWxkLmJlLnJlamVjdGVkKCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0UGFyYW1zLm1hcCgoW3R4blR5cGUsIHR4RGF0YV0pID0+IHtcbiAgICAgIGl0KGBzaG91bGQgY3JlYXRlIGEgdmFsaWQgJHt0eG5UeXBlfSBzaWduYXR1cmVgLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24odHhEYXRhKTtcbiAgICAgICAgcmV0dXJuIHR4LnNpZ24odGVzdERhdGEuS0VZUEFJUl9QUlYpLnNob3VsZC5iZS5mdWxmaWxsZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIHJldHVybiBlbmNvZGVkIHR4JywgKCkgPT4ge1xuICAgIHRlc3RQYXJhbXMubWFwKChbdHhuVHlwZSwgdHhEYXRhLCBfLCBlbmNvZGVkVHhEYXRhXSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCBjcmVhdGUgYSB2YWxpZCAke3R4blR5cGV9IGVuY29kZWQgdHJhbnNhY3Rpb25gLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24odHhEYXRhKTtcbiAgICAgICAgYXdhaXQgdHguc2lnbih0ZXN0RGF0YS5LRVlQQUlSX1BSVik7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCBlbmNvZGVkVHhEYXRhKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addressInitialization.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/addressInitialization.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,101 @@
|
|
|
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/sdk-core");
|
|
41
|
+
const testData = __importStar(require("../../resources/eth"));
|
|
42
|
+
const getBuilder_1 = require("../getBuilder");
|
|
43
|
+
describe('Eth address initialization', () => {
|
|
44
|
+
it('should fail if there is no contract address', async () => {
|
|
45
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('teth');
|
|
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 not fail if there is no contract counter', async () => {
|
|
55
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('teth');
|
|
56
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
57
|
+
txBuilder.fee({
|
|
58
|
+
fee: '10',
|
|
59
|
+
gasLimit: '1000',
|
|
60
|
+
});
|
|
61
|
+
txBuilder.counter(1);
|
|
62
|
+
txBuilder.contract(testData.CONTRACT_ADDRESS);
|
|
63
|
+
const tx = await txBuilder.build();
|
|
64
|
+
const txJson = tx.toJson();
|
|
65
|
+
should_1.default.equal(txJson.to, testData.CONTRACT_ADDRESS);
|
|
66
|
+
});
|
|
67
|
+
it('should build properly from serialized', async () => {
|
|
68
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('eth');
|
|
69
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
70
|
+
txBuilder.from(testData.UNSIGNED_ADDRESS_INIT);
|
|
71
|
+
const tx = await txBuilder.build();
|
|
72
|
+
const txJson = tx.toJson();
|
|
73
|
+
should_1.default.equal(txJson.to, testData.CONTRACT_ADDRESS);
|
|
74
|
+
});
|
|
75
|
+
it('should build properly from signed serialized', async () => {
|
|
76
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('eth');
|
|
77
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
78
|
+
txBuilder.from(testData.SIGNED_ADDRESS_INIT);
|
|
79
|
+
const tx = await txBuilder.build();
|
|
80
|
+
const txJson = tx.toJson();
|
|
81
|
+
should_1.default.equal(txJson.to, '0x1522900b6dafac587d499a862861c0869be6e428');
|
|
82
|
+
should_1.default.equal(txJson.from, '0x00bdb5699745f5b860228c8f939abf1b9ae374ed');
|
|
83
|
+
});
|
|
84
|
+
it('should build properly and return a correct address', async () => {
|
|
85
|
+
const txBuilder = (0, getBuilder_1.getBuilder)('teth');
|
|
86
|
+
txBuilder.type(sdk_core_1.TransactionType.AddressInitialization);
|
|
87
|
+
txBuilder.fee({
|
|
88
|
+
fee: '10',
|
|
89
|
+
gasLimit: '1000',
|
|
90
|
+
});
|
|
91
|
+
txBuilder.counter(1);
|
|
92
|
+
txBuilder.contract(testData.CONTRACT_ADDRESS);
|
|
93
|
+
txBuilder.contractCounter(2);
|
|
94
|
+
txBuilder.sign({ key: testData.KEYPAIR_PRV.getKeys().prv });
|
|
95
|
+
const tx = await txBuilder.build();
|
|
96
|
+
const txJson = tx.toJson();
|
|
97
|
+
should_1.default.equal(txJson.deployedAddress, '0x858c7a9c3bda553f4d0f15e5e33231dd863cb9d4');
|
|
98
|
+
should_1.default.equal(txJson.to, testData.CONTRACT_ADDRESS);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci9hZGRyZXNzSW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsOENBQWtEO0FBRWxELDhEQUFnRDtBQUNoRCw4Q0FBMkM7QUFFM0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtJQUMxQyxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7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LENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvZXRoJztcbmltcG9ydCB7IGdldEJ1aWxkZXIgfSBmcm9tICcuLi9nZXRCdWlsZGVyJztcblxuZGVzY3JpYmUoJ0V0aCBhZGRyZXNzIGluaXRpYWxpemF0aW9uJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGZhaWwgaWYgdGhlcmUgaXMgbm8gY29udHJhY3QgYWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0ZXRoJykgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZmVlOiAnMTAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigxKTtcbiAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKS5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdJbnZhbGlkIHRyYW5zYWN0aW9uOiBtaXNzaW5nIGNvbnRyYWN0IGFkZHJlc3MnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBub3QgZmFpbCBpZiB0aGVyZSBpcyBubyBjb250cmFjdCBjb3VudGVyJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoJ3RldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbik7XG4gICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICBmZWU6ICcxMCcsXG4gICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5jb3VudGVyKDEpO1xuICAgIHR4QnVpbGRlci5jb250cmFjdCh0ZXN0RGF0YS5DT05UUkFDVF9BRERSRVNTKTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkNPTlRSQUNUX0FERFJFU1MpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIHByb3Blcmx5IGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCdldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbik7XG4gICAgdHhCdWlsZGVyLmZyb20odGVzdERhdGEuVU5TSUdORURfQUREUkVTU19JTklUKTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkNPTlRSQUNUX0FERFJFU1MpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIHByb3Blcmx5IGZyb20gc2lnbmVkIHNlcmlhbGl6ZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcignZXRoJykgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mcm9tKHRlc3REYXRhLlNJR05FRF9BRERSRVNTX0lOSVQpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgJzB4MTUyMjkwMGI2ZGFmYWM1ODdkNDk5YTg2Mjg2MWMwODY5YmU2ZTQyOCcpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24uZnJvbSwgJzB4MDBiZGI1Njk5NzQ1ZjViODYwMjI4YzhmOTM5YWJmMWI5YWUzNzRlZCcpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIHByb3Blcmx5IGFuZCByZXR1cm4gYSBjb3JyZWN0IGFkZHJlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndGV0aCcpIGFzIFRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGZlZTogJzEwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgfSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMSk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkNPTlRSQUNUX0FERFJFU1MpO1xuICAgIHR4QnVpbGRlci5jb250cmFjdENvdW50ZXIoMik7XG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IHRlc3REYXRhLktFWVBBSVJfUFJWLmdldEtleXMoKS5wcnYgfSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLmRlcGxveWVkQWRkcmVzcywgJzB4ODU4YzdhOWMzYmRhNTUzZjRkMGYxNWU1ZTMzMjMxZGQ4NjNjYjlkNCcpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24udG8sIHRlc3REYXRhLkNPTlRSQUNUX0FERFJFU1MpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractCall.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/contractCall.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,101 @@
|
|
|
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/sdk-core");
|
|
41
|
+
const testData = __importStar(require("../../resources/eth"));
|
|
42
|
+
const getBuilder_1 = require("../getBuilder");
|
|
43
|
+
describe('Eth contract call transaction builder', () => {
|
|
44
|
+
let txBuilder;
|
|
45
|
+
let contractAddress;
|
|
46
|
+
const rawTx = '0xf889398506fc23ac0083be8c72947fc37878dca69c9ac48397500279305f798b157280a42bf90baacecf367fdc11132a0ccfeb91692cb31ff126083c353459e0572a0b34c48e952377a0206c902a536c5327ea2861965538963b6180f7d13e36ffd4abb7aa9628f72eb9a05ee209b7b02a2ea3fbf6033701d6e959dfc1e78452235245cf2b8d3f9110c6af';
|
|
47
|
+
beforeEach(() => {
|
|
48
|
+
contractAddress = '0x8f977e912ef500548a0c3be6ddde9899f1199b81';
|
|
49
|
+
// testData.KEYPAIR_PRV.getKeys().prv as string;
|
|
50
|
+
txBuilder = (0, getBuilder_1.getBuilder)('teth');
|
|
51
|
+
txBuilder.type(sdk_core_1.TransactionType.ContractCall);
|
|
52
|
+
txBuilder.fee({
|
|
53
|
+
fee: '30000000000',
|
|
54
|
+
gasLimit: '12487794',
|
|
55
|
+
});
|
|
56
|
+
txBuilder.counter(57);
|
|
57
|
+
});
|
|
58
|
+
it('should build a contract call type transaction', async () => {
|
|
59
|
+
txBuilder.contract('0x7Fc37878DCa69C9AC48397500279305F798b1572');
|
|
60
|
+
txBuilder.data('0x2bf90baacecf367fdc11132a0ccfeb91692cb31ff126083c353459e0572a0b34c48e9523');
|
|
61
|
+
txBuilder.sign({ key: '064A3BF8B08A3426E8A719AE5E4115228A75E7A1449CB1B734E51C7DC8A867BE' });
|
|
62
|
+
const tx = await txBuilder.build();
|
|
63
|
+
should_1.default.exist(tx);
|
|
64
|
+
should_1.default.equal(tx.toBroadcastFormat(), rawTx);
|
|
65
|
+
});
|
|
66
|
+
it('should deserialize an serialize raw transaction', async () => {
|
|
67
|
+
txBuilder.from(rawTx);
|
|
68
|
+
const tx = await txBuilder.build();
|
|
69
|
+
should_1.default.equal(tx.toBroadcastFormat(), rawTx);
|
|
70
|
+
});
|
|
71
|
+
it('should build a contract call type transaction, deserialize it, sign it and serialize it again', async () => {
|
|
72
|
+
txBuilder.contract('0x7Fc37878DCa69C9AC48397500279305F798b1572');
|
|
73
|
+
txBuilder.data('0x2bf90baacecf367fdc11132a0ccfeb91692cb31ff126083c353459e0572a0b34c48e9523');
|
|
74
|
+
const txUnsigned = await txBuilder.build();
|
|
75
|
+
const builderFrom = (0, getBuilder_1.getBuilder)('teth');
|
|
76
|
+
builderFrom.from(txUnsigned.toBroadcastFormat());
|
|
77
|
+
builderFrom.sign({ key: '064A3BF8B08A3426E8A719AE5E4115228A75E7A1449CB1B734E51C7DC8A867BE' });
|
|
78
|
+
const tx = await builderFrom.build();
|
|
79
|
+
should_1.default.equal(tx.toBroadcastFormat(), rawTx);
|
|
80
|
+
should_1.default.equal(txUnsigned.toJson().v, '0x77');
|
|
81
|
+
});
|
|
82
|
+
it('should thrown if contract or data is missing', async () => {
|
|
83
|
+
await txBuilder.build().should.be.rejectedWith('Invalid transaction: missing contract address');
|
|
84
|
+
txBuilder.contract(contractAddress);
|
|
85
|
+
await txBuilder.build().should.be.rejectedWith('Invalid transaction: missing contract call data field');
|
|
86
|
+
});
|
|
87
|
+
it('should properly build tx for eth2 staking staking deposit', async () => {
|
|
88
|
+
txBuilder.contract(testData.ETH2_STAKING_CONTRACT_ADDRESS);
|
|
89
|
+
txBuilder.data(testData.ETH2_STAKING_CONTRACT_DATA);
|
|
90
|
+
txBuilder.sign({ key: '064A3BF8B08A3426E8A719AE5E4115228A75E7A1449CB1B734E51C7DC8A867BE' });
|
|
91
|
+
const tx = await txBuilder.build();
|
|
92
|
+
should_1.default.exist(tx);
|
|
93
|
+
const txData = tx.toJson();
|
|
94
|
+
should_1.default.equal(txData.to, testData.ETH2_STAKING_CONTRACT_ADDRESS);
|
|
95
|
+
should_1.default.equal(txData.from, '0x14fc903e3025a3aad66fad7a7862b1ec232f8df2');
|
|
96
|
+
should_1.default.equal(txData.data, testData.ETH2_STAKING_CONTRACT_DATA);
|
|
97
|
+
should_1.default.equal(txData.nonce, 57);
|
|
98
|
+
should_1.default.equal(txData.chainId, '0x2a');
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RDYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci9jb250cmFjdENhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFFNUIsOENBQWtEO0FBQ2xELDhEQUFnRDtBQUNoRCw4Q0FBMkM7QUFFM0MsUUFBUSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRTtJQUNyRCxJQUFJLFNBQVMsQ0FBQztJQUNkLElBQUksZUFBZSxDQUFDO0lBQ3BCLE1BQU0sS0FBSyxHQUNULDBSQUEwUixDQUFDO0lBRTdSLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxlQUFlLEdBQUcsNENBQTRDLENBQUM7UUFDL0QsZ0RBQWdEO1FBQ2hELFNBQVMsR0FBRyxJQUFBLHVCQUFVLEVBQUMsTUFBTSxDQUF1QixDQUFDO1FBQ3JELFNBQVMsQ0FBQyxJQUFJLENBQUMsMEJBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLGFBQWE7WUFDbEIsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQ0FBK0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3RCxTQUFTLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDakUsU0FBUyxDQUFDLElBQUksQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBQzdGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsa0VBQWtFLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFD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SyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL2V0aCc7XG5pbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnLi4vZ2V0QnVpbGRlcic7XG5cbmRlc2NyaWJlKCdFdGggY29udHJhY3QgY2FsbCB0cmFuc2FjdGlvbiBidWlsZGVyJywgKCkgPT4ge1xuICBsZXQgdHhCdWlsZGVyO1xuICBsZXQgY29udHJhY3RBZGRyZXNzO1xuICBjb25zdCByYXdUeCA9XG4gICAgJzB4Zjg4OTM5ODUwNmZjMjNhYzAwODNiZThjNzI5NDdmYzM3ODc4ZGNhNjljOWFjNDgzOTc1MDAyNzkzMDVmNzk4YjE1NzI4MGE0MmJmOTBiYWFjZWNmMzY3ZmRjMTExMzJhMGNjZmViOTE2OTJjYjMxZmYxMjYwODNjMzUzNDU5ZTA1NzJhMGIzNGM0OGU5NTIzNzdhMDIwNmM5MDJhNTM2YzUzMjdlYTI4NjE5NjU1Mzg5NjNiNjE4MGY3ZDEzZTM2ZmZkNGFiYjdhYTk2MjhmNzJlYjlhMDVlZTIwOWI3YjAyYTJlYTNmYmY2MDMzNzAxZDZlOTU5ZGZjMWU3ODQ1MjIzNTI0NWNmMmI4ZDNmOTExMGM2YWYnO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnRyYWN0QWRkcmVzcyA9ICcweDhmOTc3ZTkxMmVmNTAwNTQ4YTBjM2JlNmRkZGU5ODk5ZjExOTliODEnO1xuICAgIC8vIHRlc3REYXRhLktFWVBBSVJfUFJWLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nO1xuICAgIHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoJ3RldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCk7XG4gICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICBmZWU6ICczMDAwMDAwMDAwMCcsXG4gICAgICBnYXNMaW1pdDogJzEyNDg3Nzk0JyxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcig1Nyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgYSBjb250cmFjdCBjYWxsIHR5cGUgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KCcweDdGYzM3ODc4RENhNjlDOUFDNDgzOTc1MDAyNzkzMDVGNzk4YjE1NzInKTtcbiAgICB0eEJ1aWxkZXIuZGF0YSgnMHgyYmY5MGJhYWNlY2YzNjdmZGMxMTEzMmEwY2NmZWI5MTY5MmNiMzFmZjEyNjA4M2MzNTM0NTllMDU3MmEwYjM0YzQ4ZTk1MjMnKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogJzA2NEEzQkY4QjA4QTM0MjZFOEE3MTlBRTVFNDExNTIyOEE3NUU3QTE0NDlDQjFCNzM0RTUxQzdEQzhBODY3QkUnIH0pO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmV4aXN0KHR4KTtcbiAgICBzaG91bGQuZXF1YWwodHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgcmF3VHgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGRlc2VyaWFsaXplIGFuIHNlcmlhbGl6ZSByYXcgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgdHhCdWlsZGVyLmZyb20ocmF3VHgpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHJhd1R4KTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBhIGNvbnRyYWN0IGNhbGwgdHlwZSB0cmFuc2FjdGlvbiwgZGVzZXJpYWxpemUgaXQsIHNpZ24gaXQgYW5kIHNlcmlhbGl6ZSBpdCBhZ2FpbicsIGFzeW5jICgpID0+IHtcbiAgICB0eEJ1aWxkZXIuY29udHJhY3QoJzB4N0ZjMzc4NzhEQ2E2OUM5QUM0ODM5NzUwMDI3OTMwNUY3OThiMTU3MicpO1xuICAgIHR4QnVpbGRlci5kYXRhKCcweDJiZjkwYmFhY2VjZjM2N2ZkYzExMTMyYTBjY2ZlYjkxNjkyY2IzMWZmMTI2MDgzYzM1MzQ1OWUwNTcyYTBiMzRjNDhlOTUyMycpO1xuICAgIGNvbnN0IHR4VW5zaWduZWQgPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcblxuICAgIGNvbnN0IGJ1aWxkZXJGcm9tID0gZ2V0QnVpbGRlcigndGV0aCcpIGFzIFRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgICBidWlsZGVyRnJvbS5mcm9tKHR4VW5zaWduZWQudG9Ccm9hZGNhc3RGb3JtYXQoKSk7XG4gICAgYnVpbGRlckZyb20uc2lnbih7IGtleTogJzA2NEEzQkY4QjA4QTM0MjZFOEE3MTlBRTVFNDExNTIyOEE3NUU3QTE0NDlDQjFCNzM0RTUxQzdEQzhBODY3QkUnIH0pO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlckZyb20uYnVpbGQoKTtcblxuICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCByYXdUeCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4VW5zaWduZWQudG9Kc29uKCkudiwgJzB4NzcnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB0aHJvd24gaWYgY29udHJhY3Qgb3IgZGF0YSBpcyBtaXNzaW5nJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgY29udHJhY3QgYWRkcmVzcycpO1xuICAgIHR4QnVpbGRlci5jb250cmFjdChjb250cmFjdEFkZHJlc3MpO1xuICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgY29udHJhY3QgY2FsbCBkYXRhIGZpZWxkJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcHJvcGVybHkgYnVpbGQgdHggZm9yIGV0aDIgc3Rha2luZyBzdGFraW5nIGRlcG9zaXQnLCBhc3luYyAoKSA9PiB7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkVUSDJfU1RBS0lOR19DT05UUkFDVF9BRERSRVNTKTtcbiAgICB0eEJ1aWxkZXIuZGF0YSh0ZXN0RGF0YS5FVEgyX1NUQUtJTkdfQ09OVFJBQ1RfREFUQSk7XG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6ICcwNjRBM0JGOEIwOEEzNDI2RThBNzE5QUU1RTQxMTUyMjhBNzVFN0ExNDQ5Q0IxQjczNEU1MUM3REM4QTg2N0JFJyB9KTtcblxuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmV4aXN0KHR4KTtcblxuICAgIGNvbnN0IHR4RGF0YSA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eERhdGEudG8sIHRlc3REYXRhLkVUSDJfU1RBS0lOR19DT05UUkFDVF9BRERSRVNTKTtcbiAgICBzaG91bGQuZXF1YWwodHhEYXRhLmZyb20sICcweDE0ZmM5MDNlMzAyNWEzYWFkNjZmYWQ3YTc4NjJiMWVjMjMyZjhkZjInKTtcbiAgICBzaG91bGQuZXF1YWwodHhEYXRhLmRhdGEsIHRlc3REYXRhLkVUSDJfU1RBS0lOR19DT05UUkFDVF9EQVRBKTtcbiAgICBzaG91bGQuZXF1YWwodHhEYXRhLm5vbmNlLCA1Nyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4RGF0YS5jaGFpbklkLCAnMHgyYScpO1xuICB9KTtcbn0pO1xuIl19
|