@bitgo-beta/sdk-coin-eth 4.4.1-beta.172 → 4.4.1-beta.1721

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.
Files changed (101) hide show
  1. package/dist/src/erc20Token.d.ts +1 -1
  2. package/dist/src/erc20Token.d.ts.map +1 -1
  3. package/dist/src/erc20Token.js +47 -26
  4. package/dist/src/erc721Token.d.ts +60 -0
  5. package/dist/src/erc721Token.d.ts.map +1 -0
  6. package/dist/src/erc721Token.js +334 -0
  7. package/dist/src/eth.d.ts +8 -8
  8. package/dist/src/eth.d.ts.map +1 -1
  9. package/dist/src/eth.js +40 -33
  10. package/dist/src/index.d.ts +1 -0
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +7 -2
  13. package/dist/src/lib/index.d.ts +1 -0
  14. package/dist/src/lib/index.d.ts.map +1 -1
  15. package/dist/src/lib/index.js +7 -2
  16. package/dist/src/lib/messages/index.d.ts +3 -0
  17. package/dist/src/lib/messages/index.d.ts.map +1 -0
  18. package/dist/src/lib/messages/index.js +6 -0
  19. package/dist/src/lib/transactionBuilder.d.ts +9 -4
  20. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  21. package/dist/src/lib/transactionBuilder.js +12 -6
  22. package/dist/src/register.d.ts +2 -0
  23. package/dist/src/register.d.ts.map +1 -1
  24. package/dist/src/register.js +25 -2
  25. package/dist/test/fixtures/eth.d.ts +39 -0
  26. package/dist/test/fixtures/eth.d.ts.map +1 -0
  27. package/dist/test/fixtures/eth.js +262 -0
  28. package/dist/test/resources/erc1155Abi.d.ts +40 -0
  29. package/dist/test/resources/erc1155Abi.d.ts.map +1 -0
  30. package/dist/test/resources/erc1155Abi.js +329 -0
  31. package/dist/test/resources/erc721Abi.d.ts +12 -0
  32. package/dist/test/resources/erc721Abi.d.ts.map +1 -0
  33. package/dist/test/resources/erc721Abi.js +34 -0
  34. package/dist/test/resources/eth.d.ts +51 -0
  35. package/dist/test/resources/eth.d.ts.map +1 -0
  36. package/dist/test/resources/eth.js +72 -0
  37. package/dist/test/resources/nftEncodings.d.ts +4 -0
  38. package/dist/test/resources/nftEncodings.d.ts.map +1 -0
  39. package/dist/test/resources/nftEncodings.js +7 -0
  40. package/dist/test/resources/walletSimpleAbi.d.ts +12 -0
  41. package/dist/test/resources/walletSimpleAbi.d.ts.map +1 -0
  42. package/dist/test/resources/walletSimpleAbi.js +44 -0
  43. package/dist/test/unit/eth.d.ts +2 -0
  44. package/dist/test/unit/eth.d.ts.map +1 -0
  45. package/dist/test/unit/eth.js +2149 -0
  46. package/dist/test/unit/ethWallet.d.ts +2 -0
  47. package/dist/test/unit/ethWallet.d.ts.map +1 -0
  48. package/dist/test/unit/ethWallet.js +472 -0
  49. package/dist/test/unit/fixtures/ethMultiSigBackupKey.d.ts +4 -0
  50. package/dist/test/unit/fixtures/ethMultiSigBackupKey.d.ts.map +1 -0
  51. package/dist/test/unit/fixtures/ethMultiSigBackupKey.js +10 -0
  52. package/dist/test/unit/fixtures/ethTssBackupKey.d.ts +5 -0
  53. package/dist/test/unit/fixtures/ethTssBackupKey.d.ts.map +1 -0
  54. package/dist/test/unit/fixtures/ethTssBackupKey.js +25 -0
  55. package/dist/test/unit/getBuilder.d.ts +3 -0
  56. package/dist/test/unit/getBuilder.d.ts.map +1 -0
  57. package/dist/test/unit/getBuilder.js +10 -0
  58. package/dist/test/unit/keyPair.d.ts +2 -0
  59. package/dist/test/unit/keyPair.d.ts.map +1 -0
  60. package/dist/test/unit/keyPair.js +175 -0
  61. package/dist/test/unit/register.d.ts +2 -0
  62. package/dist/test/unit/register.d.ts.map +1 -0
  63. package/dist/test/unit/register.js +71 -0
  64. package/dist/test/unit/transaction.d.ts +2 -0
  65. package/dist/test/unit/transaction.d.ts.map +1 -0
  66. package/dist/test/unit/transaction.js +96 -0
  67. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +2 -0
  68. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +1 -0
  69. package/dist/test/unit/transactionBuilder/addressInitialization.js +101 -0
  70. package/dist/test/unit/transactionBuilder/contractCall.d.ts +2 -0
  71. package/dist/test/unit/transactionBuilder/contractCall.d.ts.map +1 -0
  72. package/dist/test/unit/transactionBuilder/contractCall.js +101 -0
  73. package/dist/test/unit/transactionBuilder/flushCoins.d.ts +2 -0
  74. package/dist/test/unit/transactionBuilder/flushCoins.d.ts.map +1 -0
  75. package/dist/test/unit/transactionBuilder/flushCoins.js +133 -0
  76. package/dist/test/unit/transactionBuilder/flushTokens.d.ts +2 -0
  77. package/dist/test/unit/transactionBuilder/flushTokens.d.ts.map +1 -0
  78. package/dist/test/unit/transactionBuilder/flushTokens.js +281 -0
  79. package/dist/test/unit/transactionBuilder/send.d.ts +2 -0
  80. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  81. package/dist/test/unit/transactionBuilder/send.js +331 -0
  82. package/dist/test/unit/transactionBuilder/sendNFT.d.ts +2 -0
  83. package/dist/test/unit/transactionBuilder/sendNFT.d.ts.map +1 -0
  84. package/dist/test/unit/transactionBuilder/sendNFT.js +295 -0
  85. package/dist/test/unit/transactionBuilder/singleSigSend.d.ts +2 -0
  86. package/dist/test/unit/transactionBuilder/singleSigSend.d.ts.map +1 -0
  87. package/dist/test/unit/transactionBuilder/singleSigSend.js +196 -0
  88. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
  89. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  90. package/dist/test/unit/transactionBuilder/walletInitialization.js +436 -0
  91. package/dist/test/unit/transferBuilder.d.ts +2 -0
  92. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  93. package/dist/test/unit/transferBuilder.js +124 -0
  94. package/dist/test/unit/utils.d.ts +2 -0
  95. package/dist/test/unit/utils.d.ts.map +1 -0
  96. package/dist/test/unit/utils.js +74 -0
  97. package/dist/tsconfig.tsbuildinfo +1 -0
  98. package/package.json +17 -13
  99. package/.eslintignore +0 -5
  100. package/.mocharc.yml +0 -8
  101. package/CHANGELOG.md +0 -501
@@ -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,3 @@
1
+ import { TransactionBuilder } from '../../src';
2
+ export declare const getBuilder: (coin: string) => TransactionBuilder;
3
+ //# sourceMappingURL=getBuilder.d.ts.map
@@ -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-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9nZXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUErQztBQUMvQyxpREFBNEM7QUFFckMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQXNCLEVBQUU7SUFDN0QsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFGVyxRQUFBLFVBQVUsY0FFckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNvbnN0IGdldEJ1aWxkZXIgPSAoY29pbjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyID0+IHtcbiAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KGNvaW4pKTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyPair.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../test/unit/register.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sinon_1 = __importDefault(require("sinon"));
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const sdk_api_1 = require("@bitgo-beta/sdk-api");
9
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
+ const statics_1 = require("@bitgo-beta/statics");
11
+ const register_1 = require("../../src/register");
12
+ const erc20Token_1 = require("../../src/erc20Token");
13
+ const erc721Token_1 = require("../../src/erc721Token");
14
+ describe('ETH Register', function () {
15
+ let bitgo;
16
+ let registerSpy;
17
+ let registerTokenSpy;
18
+ beforeEach(function () {
19
+ bitgo = new sdk_api_1.BitGoAPI({ env: 'test' });
20
+ registerSpy = sinon_1.default.spy(bitgo, 'register');
21
+ registerTokenSpy = sinon_1.default.spy(sdk_core_1.GlobalCoinFactory, 'registerToken');
22
+ });
23
+ afterEach(function () {
24
+ registerSpy.restore();
25
+ registerTokenSpy.restore();
26
+ });
27
+ describe('register', function () {
28
+ it('should register base coins and token constructors', function () {
29
+ (0, register_1.register)(bitgo);
30
+ const registeredNames = registerSpy.getCalls().map((call) => call.args[0]);
31
+ // Base coins should be registered
32
+ assert_1.default.ok(registeredNames.includes('eth'));
33
+ assert_1.default.ok(registeredNames.includes('gteth'));
34
+ assert_1.default.ok(registeredNames.includes('teth'));
35
+ assert_1.default.ok(registeredNames.includes('hteth'));
36
+ // ERC20 and ERC721 tokens should be registered
37
+ const erc20Count = erc20Token_1.Erc20Token.createTokenConstructors().length;
38
+ const erc721Count = erc721Token_1.Erc721Token.createTokenConstructors().length;
39
+ assert_1.default.strictEqual(registerSpy.callCount, 4 + erc20Count + erc721Count);
40
+ });
41
+ });
42
+ describe('registerWithCoinMap', function () {
43
+ it('should call register internally for base coins and tokens', function () {
44
+ (0, register_1.registerWithCoinMap)(bitgo, statics_1.coins);
45
+ const registeredNames = registerSpy.getCalls().map((call) => call.args[0]);
46
+ // Base coins should be registered via register()
47
+ assert_1.default.ok(registeredNames.includes('eth'));
48
+ assert_1.default.ok(registeredNames.includes('gteth'));
49
+ assert_1.default.ok(registeredNames.includes('teth'));
50
+ assert_1.default.ok(registeredNames.includes('hteth'));
51
+ });
52
+ it('should add dynamic ERC20 tokens to the global coin map', function () {
53
+ (0, register_1.registerWithCoinMap)(bitgo, statics_1.coins);
54
+ // registerToken should have been called for dynamic tokens
55
+ assert_1.default.ok(registerTokenSpy.callCount > 0);
56
+ // Each call should pass a valid coin from the coinMap
57
+ for (let i = 0; i < registerTokenSpy.callCount; i++) {
58
+ const call = registerTokenSpy.getCall(i);
59
+ const staticsCoin = call.args[0];
60
+ assert_1.default.ok(statics_1.coins.has(staticsCoin.name), `${staticsCoin.name} should exist in the coin map`);
61
+ }
62
+ });
63
+ it('should not add tokens to the global coin map when coin map has no ERC20 tokens', function () {
64
+ const limitedCoinMap = statics_1.coins.filter((coin) => !(coin instanceof statics_1.Erc20Coin));
65
+ (0, register_1.registerWithCoinMap)(bitgo, limitedCoinMap);
66
+ // registerToken should not be called since no ERC20 tokens are in the map
67
+ assert_1.default.strictEqual(registerTokenSpy.callCount, 0);
68
+ });
69
+ });
70
+ });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLGlEQUErQztBQUMvQyxtREFBeUQ7QUFDekQsaURBQXVEO0FBQ3ZELGlEQUFtRTtBQUNuRSxxREFBa0Q7QUFDbEQsdURBQW9EO0FBRXBELFFBQVEsQ0FBQyxjQUFjLEVBQUU7SUFDdkIsSUFBSSxLQUFlLENBQUM7SUFDcEIsSUFBSSxXQUEyQixDQUFDO0lBQ2hDLElBQUksZ0JBQWdDLENBQUM7SUFFckMsVUFBVSxDQUFDO1FBQ1QsS0FBSyxHQUFHLElBQUksa0JBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLFdBQVcsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzQyxnQkFBZ0IsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLDRCQUFpQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDO1FBQ1IsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUNuQixFQUFFLENBQUMsbURBQW1ELEVBQUU7WUFDdEQsSUFBQSxtQkFBUSxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWhCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUzRSxrQ0FBa0M7WUFDbEMsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsZUFB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QUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstYXBpJztcbmltcG9ydCB7IEdsb2JhbENvaW5GYWN0b3J5IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgY29pbnMsIEVyYzIwQ29pbiB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgcmVnaXN0ZXIsIHJlZ2lzdGVyV2l0aENvaW5NYXAgfSBmcm9tICcuLi8uLi9zcmMvcmVnaXN0ZXInO1xuaW1wb3J0IHsgRXJjMjBUb2tlbiB9IGZyb20gJy4uLy4uL3NyYy9lcmMyMFRva2VuJztcbmltcG9ydCB7IEVyYzcyMVRva2VuIH0gZnJvbSAnLi4vLi4vc3JjL2VyYzcyMVRva2VuJztcblxuZGVzY3JpYmUoJ0VUSCBSZWdpc3RlcicsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBCaXRHb0FQSTtcbiAgbGV0IHJlZ2lzdGVyU3B5OiBzaW5vbi5TaW5vblNweTtcbiAgbGV0IHJlZ2lzdGVyVG9rZW5TcHk6IHNpbm9uLlNpbm9uU3B5O1xuXG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gbmV3IEJpdEdvQVBJKHsgZW52OiAndGVzdCcgfSk7XG4gICAgcmVnaXN0ZXJTcHkgPSBzaW5vbi5zcHkoYml0Z28sICdyZWdpc3RlcicpO1xuICAgIHJlZ2lzdGVyVG9rZW5TcHkgPSBzaW5vbi5zcHkoR2xvYmFsQ29pbkZhY3RvcnksICdyZWdpc3RlclRva2VuJyk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgcmVnaXN0ZXJTcHkucmVzdG9yZSgpO1xuICAgIHJlZ2lzdGVyVG9rZW5TcHkucmVzdG9yZSgpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVnaXN0ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZWdpc3RlciBiYXNlIGNvaW5zIGFuZCB0b2tlbiBjb25zdHJ1Y3RvcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZWdpc3RlcihiaXRnbyk7XG5cbiAgICAgIGNvbnN0IHJlZ2lzdGVyZWROYW1lcyA9IHJlZ2lzdGVyU3B5LmdldENhbGxzKCkubWFwKChjYWxsKSA9PiBjYWxsLmFyZ3NbMF0pO1xuXG4gICAgICAvLyBCYXNlIGNvaW5zIHNob3VsZCBiZSByZWdpc3RlcmVkXG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCdldGgnKSk7XG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCdndGV0aCcpKTtcbiAgICAgIGFzc2VydC5vayhyZWdpc3RlcmVkTmFtZXMuaW5jbHVkZXMoJ3RldGgnKSk7XG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCdodGV0aCcpKTtcblxuICAgICAgLy8gRVJDMjAgYW5kIEVSQzcyMSB0b2tlbnMgc2hvdWxkIGJlIHJlZ2lzdGVyZWRcbiAgICAgIGNvbnN0IGVyYzIwQ291bnQgPSBFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkubGVuZ3RoO1xuICAgICAgY29uc3QgZXJjNzIxQ291bnQgPSBFcmM3MjFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmxlbmd0aDtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWdpc3RlclNweS5jYWxsQ291bnQsIDQgKyBlcmMyMENvdW50ICsgZXJjNzIxQ291bnQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVnaXN0ZXJXaXRoQ29pbk1hcCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGNhbGwgcmVnaXN0ZXIgaW50ZXJuYWxseSBmb3IgYmFzZSBjb2lucyBhbmQgdG9rZW5zJywgZnVuY3Rpb24gKCkge1xuICAgICAgcmVnaXN0ZXJXaXRoQ29pbk1hcChiaXRnbywgY29pbnMpO1xuXG4gICAgICBjb25zdCByZWdpc3RlcmVkTmFtZXMgPSByZWdpc3RlclNweS5nZXRDYWxscygpLm1hcCgoY2FsbCkgPT4gY2FsbC5hcmdzWzBdKTtcblxuICAgICAgLy8gQmFzZSBjb2lucyBzaG91bGQgYmUgcmVnaXN0ZXJlZCB2aWEgcmVnaXN0ZXIoKVxuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyZWROYW1lcy5pbmNsdWRlcygnZXRoJykpO1xuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyZWROYW1lcy5pbmNsdWRlcygnZ3RldGgnKSk7XG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCd0ZXRoJykpO1xuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyZWROYW1lcy5pbmNsdWRlcygnaHRldGgnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFkZCBkeW5hbWljIEVSQzIwIHRva2VucyB0byB0aGUgZ2xvYmFsIGNvaW4gbWFwJywgZnVuY3Rpb24gKCkge1xuICAgICAgcmVnaXN0ZXJXaXRoQ29pbk1hcChiaXRnbywgY29pbnMpO1xuXG4gICAgICAvLyByZWdpc3RlclRva2VuIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGZvciBkeW5hbWljIHRva2Vuc1xuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyVG9rZW5TcHkuY2FsbENvdW50ID4gMCk7XG5cbiAgICAgIC8vIEVhY2ggY2FsbCBzaG91bGQgcGFzcyBhIHZhbGlkIGNvaW4gZnJvbSB0aGUgY29pbk1hcFxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWdpc3RlclRva2VuU3B5LmNhbGxDb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNhbGwgPSByZWdpc3RlclRva2VuU3B5LmdldENhbGwoaSk7XG4gICAgICAgIGNvbnN0IHN0YXRpY3NDb2luID0gY2FsbC5hcmdzWzBdO1xuICAgICAgICBhc3NlcnQub2soY29pbnMuaGFzKHN0YXRpY3NDb2luLm5hbWUpLCBgJHtzdGF0aWNzQ29pbi5uYW1lfSBzaG91bGQgZXhpc3QgaW4gdGhlIGNvaW4gbWFwYCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBhZGQgdG9rZW5zIHRvIHRoZSBnbG9iYWwgY29pbiBtYXAgd2hlbiBjb2luIG1hcCBoYXMgbm8gRVJDMjAgdG9rZW5zJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbGltaXRlZENvaW5NYXAgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+ICEoY29pbiBpbnN0YW5jZW9mIEVyYzIwQ29pbikpO1xuXG4gICAgICByZWdpc3RlcldpdGhDb2luTWFwKGJpdGdvLCBsaW1pdGVkQ29pbk1hcCk7XG5cbiAgICAgIC8vIHJlZ2lzdGVyVG9rZW4gc2hvdWxkIG5vdCBiZSBjYWxsZWQgc2luY2Ugbm8gRVJDMjAgdG9rZW5zIGFyZSBpbiB0aGUgbWFwXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVnaXN0ZXJUb2tlblNweS5jYWxsQ291bnQsIDApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transaction.d.ts.map
@@ -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-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLGlEQUE2RDtBQUM3RCxtQ0FBMkQ7QUFDM0QsMkRBQTZDO0FBQzdDLGlDQUE2QjtBQUU3QixRQUFRLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO0lBQy9CLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBQSxlQUFTLEVBQUMsVUFBVSxDQUFDLE9BQTBCLENBQUMsQ0FBQztJQUNoRTs7T0FFRztJQUNILFNBQVMsY0FBYyxDQUFDLElBQWE7UUFDbkMsT0FBTyxJQUFJLGlCQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDN0IsRUFBRSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtZQUM5QixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNqQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBRztRQUNqQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsMEJBQTBCLENBQUM7UUFDcEcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLDJCQUEyQixDQUFDO0tBQ2hHLENBQUM7SUFFWCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtRQUM3QixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsSUFBQSxZQUFJLEVBQUMsV0FBVyxPQUFPLGNBQWMsRUFBRSxHQUFHLEVBQUU7Z0JBQzFDLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNqQixNQUFNLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxFQUFFLENBQUMseUJBQXlCLE9BQU8sWUFBWSxFQUFFLEdBQUcsRUFBRTtnQkFDcEQsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN4QyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQ3JELEVBQUUsQ0FBQyx5QkFBeUIsT0FBTyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDcEUsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IGNvaW5zLCBFdGhlcmV1bU5ldHdvcmsgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGdldENvbW1vbiwgVHJhbnNhY3Rpb24sIFR4RGF0YSB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgKiBhcyB0ZXN0RGF0YSBmcm9tICcuLi9yZXNvdXJjZXMvZXRoJztcbmltcG9ydCB7IHRlc3QgfSBmcm9tICdtb2NoYSc7XG5cbmRlc2NyaWJlKCdFVEggVHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoJ3RldGgnKTtcbiAgY29uc3QgY29tbW9uID0gZ2V0Q29tbW9uKGNvaW5Db25maWcubmV0d29yayBhcyBFdGhlcmV1bU5ldHdvcmspO1xuICAvKipcbiAgICogQHBhcmFtIGRhdGFcbiAgICovXG4gIGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uKGRhdGE/OiBUeERhdGEpIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uKGNvaW5Db25maWcsIGNvbW1vbiwgZGF0YSk7XG4gIH1cblxuICBkZXNjcmliZSgnc2hvdWxkIHRocm93ICcsICgpID0+IHtcbiAgICBpdCgnYW4gZW1wdHkgdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCB0eCA9IGdldFRyYW5zYWN0aW9uKCk7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4LnRvSnNvbigpKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0IHRlc3RQYXJhbXMgPSBbXG4gICAgWydMZWdhY3knLCB0ZXN0RGF0YS5MRUdBQ1lfVFhEQVRBLCB0ZXN0RGF0YS5VTlNJR05FRF9MRUdBQ1lfVFgsIHRlc3REYXRhLkVOQ09ERURfTEVHQUNZX1RSQU5TQUNUSU9OXSxcbiAgICBbJ0VJUDE1NTknLCB0ZXN0RGF0YS5FSVAxNTU5X1RYREFUQSwgdGVzdERhdGEuVU5TSUdORURfRUlQMTU1OV9UWCwgdGVzdERhdGEuRU5DT0RFRF9FSVAxNTU5X1RSQU5TQUNUSU9OXSxcbiAgXSBhcyBjb25zdDtcblxuICBkZXNjcmliZSgnc2hvdWxkIHJldHVybicsICgpID0+IHtcbiAgICB0ZXN0UGFyYW1zLm1hcCgoW3R4blR5cGUsIHR4RGF0YSwgdW5zaWduZWRUeF0pID0+IHtcbiAgICAgIHRlc3QoYGEgdmFsaWQgJHt0eG5UeXBlfSB0cmFuc2FjdGlvbmAsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbih0eERhdGEpO1xuICAgICAgICBzaG91bGQuZGVlcEVxdWFsKHR4LnRvSnNvbigpLCB0eERhdGEpO1xuICAgICAgICBzaG91bGQuZGVlcEVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHVuc2lnbmVkVHgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgc2lnbicsICgpID0+IHtcbiAgICBpdCgnaW52YWxpZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHR4ID0gZ2V0VHJhbnNhY3Rpb24oKTtcbiAgICAgIHJldHVybiB0eC5zaWduKHRlc3REYXRhLktFWVBBSVJfUFJWKS5zaG91bGQuYmUucmVqZWN0ZWQoKTtcbiAgICB9KTtcblxuICAgIHRlc3RQYXJhbXMubWFwKChbdHhuVHlwZSwgdHhEYXRhXSkgPT4ge1xuICAgICAgaXQoYHNob3VsZCBjcmVhdGUgYSB2YWxpZCAke3R4blR5cGV9IHNpZ25hdHVyZWAsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbih0eERhdGEpO1xuICAgICAgICByZXR1cm4gdHguc2lnbih0ZXN0RGF0YS5LRVlQQUlSX1BSVikuc2hvdWxkLmJlLmZ1bGZpbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgcmV0dXJuIGVuY29kZWQgdHgnLCAoKSA9PiB7XG4gICAgdGVzdFBhcmFtcy5tYXAoKFt0eG5UeXBlLCB0eERhdGEsIF8sIGVuY29kZWRUeERhdGFdKSA9PiB7XG4gICAgICBpdChgc2hvdWxkIGNyZWF0ZSBhIHZhbGlkICR7dHhuVHlwZX0gZW5jb2RlZCB0cmFuc2FjdGlvbmAsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgdHggPSBnZXRUcmFuc2FjdGlvbih0eERhdGEpO1xuICAgICAgICBhd2FpdCB0eC5zaWduKHRlc3REYXRhLktFWVBBSVJfUFJWKTtcbiAgICAgICAgc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIGVuY29kZWRUeERhdGEpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=addressInitialization.d.ts.map
@@ -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-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci9hZGRyZXNzSW5pdGlhbGl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbURBQXVEO0FBRXZELDhEQUFnRDtBQUNoRCw4Q0FBMkM7QUFFM0MsUUFBUSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtJQUMxQyxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBdUIsQ0FBQztRQUMzRCxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUFlLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDLENBQUM7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LENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcy9ldGgnO1xuaW1wb3J0IHsgZ2V0QnVpbGRlciB9IGZyb20gJy4uL2dldEJ1aWxkZXInO1xuXG5kZXNjcmliZSgnRXRoIGFkZHJlc3MgaW5pdGlhbGl6YXRpb24nLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgZmFpbCBpZiB0aGVyZSBpcyBubyBjb250cmFjdCBhZGRyZXNzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoJ3RldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbik7XG4gICAgdHhCdWlsZGVyLmZlZSh7XG4gICAgICBmZWU6ICcxMCcsXG4gICAgICBnYXNMaW1pdDogJzEwMDAnLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5jb3VudGVyKDEpO1xuICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgY29udHJhY3QgYWRkcmVzcycpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIG5vdCBmYWlsIGlmIHRoZXJlIGlzIG5vIGNvbnRyYWN0IGNvdW50ZXInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndGV0aCcpIGFzIFRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGZlZTogJzEwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMCcsXG4gICAgfSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMSk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0KHRlc3REYXRhLkNPTlRSQUNUX0FERFJFU1MpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgdGVzdERhdGEuQ09OVFJBQ1RfQUREUkVTUyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgZnJvbSBzZXJpYWxpemVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGdldEJ1aWxkZXIoJ2V0aCcpIGFzIFRyYW5zYWN0aW9uQnVpbGRlcjtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uKTtcbiAgICB0eEJ1aWxkZXIuZnJvbSh0ZXN0RGF0YS5VTlNJR05FRF9BRERSRVNTX0lOSVQpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgdGVzdERhdGEuQ09OVFJBQ1RfQUREUkVTUyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgZnJvbSBzaWduZWQgc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCdldGgnKSBhcyBUcmFuc2FjdGlvbkJ1aWxkZXI7XG4gICAgdHhCdWlsZGVyLnR5cGUoVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbik7XG4gICAgdHhCdWlsZGVyLmZyb20odGVzdERhdGEuU0lHTkVEX0FERFJFU1NfSU5JVCk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLnRvLCAnMHgxNTIyOTAwYjZkYWZhYzU4N2Q0OTlhODYyODYxYzA4NjliZTZlNDI4Jyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi5mcm9tLCAnMHgwMGJkYjU2OTk3NDVmNWI4NjAyMjhjOGY5MzlhYmYxYjlhZTM3NGVkJyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgcHJvcGVybHkgYW5kIHJldHVybiBhIGNvcnJlY3QgYWRkcmVzcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0ZXRoJykgYXMgVHJhbnNhY3Rpb25CdWlsZGVyO1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb24pO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZmVlOiAnMTAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwJyxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigxKTtcbiAgICB0eEJ1aWxkZXIuY29udHJhY3QodGVzdERhdGEuQ09OVFJBQ1RfQUREUkVTUyk7XG4gICAgdHhCdWlsZGVyLmNvbnRyYWN0Q291bnRlcigyKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuS0VZUEFJUl9QUlYuZ2V0S2V5cygpLnBydiB9KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24uZGVwbG95ZWRBZGRyZXNzLCAnMHg4NThjN2E5YzNiZGE1NTNmNGQwZjE1ZTVlMzMyMzFkZDg2M2NiOWQ0Jyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4SnNvbi50bywgdGVzdERhdGEuQ09OVFJBQ1RfQUREUkVTUyk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contractCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractCall.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/contractCall.ts"],"names":[],"mappings":""}