@bitgo/sdk-coin-avaxc 6.4.2 → 6.4.4

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 (35) hide show
  1. package/dist/test/resources/avaxc.d.ts +122 -0
  2. package/dist/test/resources/avaxc.d.ts.map +1 -0
  3. package/dist/test/resources/avaxc.js +137 -0
  4. package/dist/test/unit/avaxc.d.ts +2 -0
  5. package/dist/test/unit/avaxc.d.ts.map +1 -0
  6. package/dist/test/unit/avaxc.js +1104 -0
  7. package/dist/test/unit/avaxcToken.d.ts +2 -0
  8. package/dist/test/unit/avaxcToken.d.ts.map +1 -0
  9. package/dist/test/unit/avaxcToken.js +68 -0
  10. package/dist/test/unit/getBuilder.d.ts +3 -0
  11. package/dist/test/unit/getBuilder.d.ts.map +1 -0
  12. package/dist/test/unit/getBuilder.js +10 -0
  13. package/dist/test/unit/helpers.d.ts +15 -0
  14. package/dist/test/unit/helpers.d.ts.map +1 -0
  15. package/dist/test/unit/helpers.js +54 -0
  16. package/dist/test/unit/keyPair.d.ts +2 -0
  17. package/dist/test/unit/keyPair.d.ts.map +1 -0
  18. package/dist/test/unit/keyPair.js +135 -0
  19. package/dist/test/unit/transactionBuilder/transfer.d.ts +2 -0
  20. package/dist/test/unit/transactionBuilder/transfer.d.ts.map +1 -0
  21. package/dist/test/unit/transactionBuilder/transfer.js +223 -0
  22. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.d.ts +2 -0
  23. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.d.ts.map +1 -0
  24. package/dist/test/unit/transactionBuilder/walletInitializationBuilder.js +174 -0
  25. package/dist/test/unit/transferBuilder.d.ts +2 -0
  26. package/dist/test/unit/transferBuilder.d.ts.map +1 -0
  27. package/dist/test/unit/transferBuilder.js +119 -0
  28. package/dist/test/unit/util.d.ts +2 -0
  29. package/dist/test/unit/util.d.ts.map +1 -0
  30. package/dist/test/unit/util.js +235 -0
  31. package/dist/tsconfig.tsbuildinfo +1 -0
  32. package/package.json +13 -10
  33. package/.eslintignore +0 -5
  34. package/.mocharc.yml +0 -8
  35. package/CHANGELOG.md +0 -1031
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=avaxcToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avaxcToken.d.ts","sourceRoot":"","sources":["../../../test/unit/avaxcToken.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("should");
4
+ const sdk_test_1 = require("@bitgo/sdk-test");
5
+ const sdk_api_1 = require("@bitgo/sdk-api");
6
+ const src_1 = require("../../src");
7
+ describe('Avaxc Token:', function () {
8
+ let bitgo;
9
+ let avaxcTokenCoin;
10
+ describe('In env test:', function () {
11
+ const tokenName = 'tavaxc:link';
12
+ before(function () {
13
+ bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
14
+ src_1.AvaxCToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
15
+ bitgo.safeRegister(name, coinConstructor);
16
+ });
17
+ bitgo.initializeTestVars();
18
+ avaxcTokenCoin = bitgo.coin(tokenName);
19
+ });
20
+ it('should return constants', function () {
21
+ avaxcTokenCoin.getChain().should.equal('tavaxc:link');
22
+ avaxcTokenCoin.getBaseChain().should.equal('tavaxc');
23
+ avaxcTokenCoin.getFullName().should.equal('Avaxc Token');
24
+ avaxcTokenCoin.getBaseFactor().should.equal(1e18);
25
+ avaxcTokenCoin.type.should.equal(tokenName);
26
+ avaxcTokenCoin.name.should.equal('Test Chainlink');
27
+ avaxcTokenCoin.coin.should.equal('tavaxc');
28
+ avaxcTokenCoin.network.should.equal('Testnet');
29
+ avaxcTokenCoin.decimalPlaces.should.equal(18);
30
+ });
31
+ it('should return same token by contract address', function () {
32
+ const tokencoinBycontractAddress = bitgo.coin(avaxcTokenCoin.tokenContractAddress);
33
+ avaxcTokenCoin.should.deepEqual(tokencoinBycontractAddress);
34
+ });
35
+ });
36
+ describe('In env prod:', function () {
37
+ const prodTokenName = 'avaxc:png';
38
+ before(function () {
39
+ bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'prod' });
40
+ bitgo.initializeTestVars();
41
+ avaxcTokenCoin = bitgo.coin(prodTokenName);
42
+ });
43
+ it('should return constants', function () {
44
+ avaxcTokenCoin.getChain().should.equal('avaxc:png');
45
+ avaxcTokenCoin.getBaseChain().should.equal('avaxc');
46
+ avaxcTokenCoin.getFullName().should.equal('Avaxc Token');
47
+ avaxcTokenCoin.getBaseFactor().should.equal(1e18);
48
+ avaxcTokenCoin.type.should.equal(prodTokenName);
49
+ avaxcTokenCoin.name.should.equal('Pangolin');
50
+ avaxcTokenCoin.coin.should.equal('avaxc');
51
+ avaxcTokenCoin.network.should.equal('Mainnet');
52
+ avaxcTokenCoin.decimalPlaces.should.equal(18);
53
+ });
54
+ it('should return same token by contract address', function () {
55
+ const tokencoinBycontractAddress = bitgo.coin(avaxcTokenCoin.tokenContractAddress);
56
+ avaxcTokenCoin.should.deepEqual(tokencoinBycontractAddress);
57
+ });
58
+ it('should successfully verify coin', function () {
59
+ const txPrebuild = { coin: 'avaxc', token: 'avaxc:png' };
60
+ avaxcTokenCoin.verifyCoin(txPrebuild).should.equal(true);
61
+ });
62
+ it('should fail verify coin', function () {
63
+ const txPrebuild = { coin: 'eth', token: 'eth:png' };
64
+ avaxcTokenCoin.verifyCoin(txPrebuild).should.equal(false);
65
+ });
66
+ });
67
+ });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZheGNUb2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9hdmF4Y1Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWdCO0FBRWhCLDhDQUE0QztBQUM1Qyw0Q0FBMEM7QUFDMUMsbUNBQXVDO0FBRXZDLFFBQVEsQ0FBQyxjQUFjLEVBQUU7SUFDdkIsSUFBSSxLQUFLLENBQUM7SUFDVixJQUFJLGNBQWMsQ0FBQztJQUVuQixRQUFRLENBQUMsY0FBYyxFQUFFO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQztRQUVoQyxNQUFNLENBQUM7WUFDTCxLQUFLLEdBQUcsb0JBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQVEsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELGdCQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO2dCQUN6RSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1lBQzVCLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RELGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pELGNBQWMsQ0FBQyxh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Q0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFO1lBQzVCLE1BQU0sVUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDckQsY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcblxuaW1wb3J0IHsgVGVzdEJpdEdvIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuaW1wb3J0IHsgQXZheENUb2tlbiB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdBdmF4YyBUb2tlbjonLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBiaXRnbztcbiAgbGV0IGF2YXhjVG9rZW5Db2luO1xuXG4gIGRlc2NyaWJlKCdJbiBlbnYgdGVzdDonLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdG9rZW5OYW1lID0gJ3RhdmF4YzpsaW5rJztcblxuICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICBiaXRnbyA9IFRlc3RCaXRHby5kZWNvcmF0ZShCaXRHb0FQSSwgeyBlbnY6ICd0ZXN0JyB9KTtcbiAgICAgIEF2YXhDVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgICAgIGJpdGdvLnNhZmVSZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgICAgfSk7XG4gICAgICBiaXRnby5pbml0aWFsaXplVGVzdFZhcnMoKTtcbiAgICAgIGF2YXhjVG9rZW5Db2luID0gYml0Z28uY29pbih0b2tlbk5hbWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29uc3RhbnRzJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXZheGNUb2tlbkNvaW4uZ2V0Q2hhaW4oKS5zaG91bGQuZXF1YWwoJ3RhdmF4YzpsaW5rJyk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5nZXRCYXNlQ2hhaW4oKS5zaG91bGQuZXF1YWwoJ3RhdmF4YycpO1xuICAgICAgYXZheGNUb2tlbkNvaW4uZ2V0RnVsbE5hbWUoKS5zaG91bGQuZXF1YWwoJ0F2YXhjIFRva2VuJyk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5nZXRCYXNlRmFjdG9yKCkuc2hvdWxkLmVxdWFsKDFlMTgpO1xuICAgICAgYXZheGNUb2tlbkNvaW4udHlwZS5zaG91bGQuZXF1YWwodG9rZW5OYW1lKTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLm5hbWUuc2hvdWxkLmVxdWFsKCdUZXN0IENoYWlubGluaycpO1xuICAgICAgYXZheGNUb2tlbkNvaW4uY29pbi5zaG91bGQuZXF1YWwoJ3RhdmF4YycpO1xuICAgICAgYXZheGNUb2tlbkNvaW4ubmV0d29yay5zaG91bGQuZXF1YWwoJ1Rlc3RuZXQnKTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLmRlY2ltYWxQbGFjZXMuc2hvdWxkLmVxdWFsKDE4KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHNhbWUgdG9rZW4gYnkgY29udHJhY3QgYWRkcmVzcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHRva2VuY29pbkJ5Y29udHJhY3RBZGRyZXNzID0gYml0Z28uY29pbihhdmF4Y1Rva2VuQ29pbi50b2tlbkNvbnRyYWN0QWRkcmVzcyk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5zaG91bGQuZGVlcEVxdWFsKHRva2VuY29pbkJ5Y29udHJhY3RBZGRyZXNzKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0luIGVudiBwcm9kOicsIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwcm9kVG9rZW5OYW1lID0gJ2F2YXhjOnBuZyc7XG4gICAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ3Byb2QnIH0pO1xuICAgICAgYml0Z28uaW5pdGlhbGl6ZVRlc3RWYXJzKCk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbiA9IGJpdGdvLmNvaW4ocHJvZFRva2VuTmFtZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBjb25zdGFudHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5nZXRDaGFpbigpLnNob3VsZC5lcXVhbCgnYXZheGM6cG5nJyk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5nZXRCYXNlQ2hhaW4oKS5zaG91bGQuZXF1YWwoJ2F2YXhjJyk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5nZXRGdWxsTmFtZSgpLnNob3VsZC5lcXVhbCgnQXZheGMgVG9rZW4nKTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi50eXBlLnNob3VsZC5lcXVhbChwcm9kVG9rZW5OYW1lKTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLm5hbWUuc2hvdWxkLmVxdWFsKCdQYW5nb2xpbicpO1xuICAgICAgYXZheGNUb2tlbkNvaW4uY29pbi5zaG91bGQuZXF1YWwoJ2F2YXhjJyk7XG4gICAgICBhdmF4Y1Rva2VuQ29pbi5uZXR3b3JrLnNob3VsZC5lcXVhbCgnTWFpbm5ldCcpO1xuICAgICAgYXZheGNUb2tlbkNvaW4uZGVjaW1hbFBsYWNlcy5zaG91bGQuZXF1YWwoMTgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gc2FtZSB0b2tlbiBieSBjb250cmFjdCBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdG9rZW5jb2luQnljb250cmFjdEFkZHJlc3MgPSBiaXRnby5jb2luKGF2YXhjVG9rZW5Db2luLnRva2VuQ29udHJhY3RBZGRyZXNzKTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLnNob3VsZC5kZWVwRXF1YWwodG9rZW5jb2luQnljb250cmFjdEFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdWNjZXNzZnVsbHkgdmVyaWZ5IGNvaW4nLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eFByZWJ1aWxkID0geyBjb2luOiAnYXZheGMnLCB0b2tlbjogJ2F2YXhjOnBuZycgfTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLnZlcmlmeUNvaW4odHhQcmVidWlsZCkuc2hvdWxkLmVxdWFsKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHZlcmlmeSBjb2luJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgdHhQcmVidWlsZCA9IHsgY29pbjogJ2V0aCcsIHRva2VuOiAnZXRoOnBuZycgfTtcbiAgICAgIGF2YXhjVG9rZW5Db2luLnZlcmlmeUNvaW4odHhQcmVidWlsZCkuc2hvdWxkLmVxdWFsKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -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/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,15 @@
1
+ import { ethers } from 'ethers';
2
+ export declare function decodeTransaction(abi: string, calldata: string): ethers.utils.TransactionDescription;
3
+ export declare function parseTransaction(txHex: string): ethers.Transaction;
4
+ export declare const walletSimpleABI: {
5
+ inputs: {
6
+ internalType: string;
7
+ name: string;
8
+ type: string;
9
+ }[];
10
+ name: string;
11
+ outputs: never[];
12
+ stateMutability: string;
13
+ type: string;
14
+ }[];
15
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../test/unit/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAGpG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAElE;AAED,eAAO,MAAM,eAAe;;;;;;;;;;GAuC3B,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.walletSimpleABI = void 0;
4
+ exports.decodeTransaction = decodeTransaction;
5
+ exports.parseTransaction = parseTransaction;
6
+ const ethers_1 = require("ethers");
7
+ function decodeTransaction(abi, calldata) {
8
+ const contractInterface = new ethers_1.ethers.utils.Interface(abi);
9
+ return contractInterface.parseTransaction({ data: calldata });
10
+ }
11
+ function parseTransaction(txHex) {
12
+ return ethers_1.ethers.utils.parseTransaction(txHex);
13
+ }
14
+ exports.walletSimpleABI = [
15
+ {
16
+ inputs: [
17
+ {
18
+ internalType: 'address',
19
+ name: 'toAddress',
20
+ type: 'address',
21
+ },
22
+ {
23
+ internalType: 'uint256',
24
+ name: 'value',
25
+ type: 'uint256',
26
+ },
27
+ {
28
+ internalType: 'bytes',
29
+ name: 'data',
30
+ type: 'bytes',
31
+ },
32
+ {
33
+ internalType: 'uint256',
34
+ name: 'expireTime',
35
+ type: 'uint256',
36
+ },
37
+ {
38
+ internalType: 'uint256',
39
+ name: 'sequenceId',
40
+ type: 'uint256',
41
+ },
42
+ {
43
+ internalType: 'bytes',
44
+ name: 'signature',
45
+ type: 'bytes',
46
+ },
47
+ ],
48
+ name: 'sendMultiSig',
49
+ outputs: [],
50
+ stateMutability: 'nonpayable',
51
+ type: 'function',
52
+ },
53
+ ];
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDhDQUdDO0FBRUQsNENBRUM7QUFURCxtQ0FBZ0M7QUFFaEMsU0FBZ0IsaUJBQWlCLENBQUMsR0FBVyxFQUFFLFFBQWdCO0lBQzdELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxlQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxRCxPQUFPLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQWE7SUFDNUMsT0FBTyxlQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFWSxRQUFBLGVBQWUsR0FBRztJQUM3QjtRQUNFLE1BQU0sRUFBRTtZQUNOO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsT0FBTztnQkFDckIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE9BQU87YUFDZDtZQUNEO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRDtnQkFDRSxZQUFZLEVBQUUsU0FBUztnQkFDdkIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0Q7Z0JBQ0UsWUFBWSxFQUFFLE9BQU87Z0JBQ3JCLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsT0FBTzthQUNkO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsY0FBYztRQUNwQixPQUFPLEVBQUUsRUFBRTtRQUNYLGVBQWUsRUFBRSxZQUFZO1FBQzdCLElBQUksRUFBRSxVQUFVO0tBQ2pCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV0aGVycyB9IGZyb20gJ2V0aGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVUcmFuc2FjdGlvbihhYmk6IHN0cmluZywgY2FsbGRhdGE6IHN0cmluZyk6IGV0aGVycy51dGlscy5UcmFuc2FjdGlvbkRlc2NyaXB0aW9uIHtcbiAgY29uc3QgY29udHJhY3RJbnRlcmZhY2UgPSBuZXcgZXRoZXJzLnV0aWxzLkludGVyZmFjZShhYmkpO1xuICByZXR1cm4gY29udHJhY3RJbnRlcmZhY2UucGFyc2VUcmFuc2FjdGlvbih7IGRhdGE6IGNhbGxkYXRhIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUcmFuc2FjdGlvbih0eEhleDogc3RyaW5nKTogZXRoZXJzLlRyYW5zYWN0aW9uIHtcbiAgcmV0dXJuIGV0aGVycy51dGlscy5wYXJzZVRyYW5zYWN0aW9uKHR4SGV4KTtcbn1cblxuZXhwb3J0IGNvbnN0IHdhbGxldFNpbXBsZUFCSSA9IFtcbiAge1xuICAgIGlucHV0czogW1xuICAgICAge1xuICAgICAgICBpbnRlcm5hbFR5cGU6ICdhZGRyZXNzJyxcbiAgICAgICAgbmFtZTogJ3RvQWRkcmVzcycsXG4gICAgICAgIHR5cGU6ICdhZGRyZXNzJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGludGVybmFsVHlwZTogJ3VpbnQyNTYnLFxuICAgICAgICBuYW1lOiAndmFsdWUnLFxuICAgICAgICB0eXBlOiAndWludDI1NicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpbnRlcm5hbFR5cGU6ICdieXRlcycsXG4gICAgICAgIG5hbWU6ICdkYXRhJyxcbiAgICAgICAgdHlwZTogJ2J5dGVzJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGludGVybmFsVHlwZTogJ3VpbnQyNTYnLFxuICAgICAgICBuYW1lOiAnZXhwaXJlVGltZScsXG4gICAgICAgIHR5cGU6ICd1aW50MjU2JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGludGVybmFsVHlwZTogJ3VpbnQyNTYnLFxuICAgICAgICBuYW1lOiAnc2VxdWVuY2VJZCcsXG4gICAgICAgIHR5cGU6ICd1aW50MjU2JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGludGVybmFsVHlwZTogJ2J5dGVzJyxcbiAgICAgICAgbmFtZTogJ3NpZ25hdHVyZScsXG4gICAgICAgIHR5cGU6ICdieXRlcycsXG4gICAgICB9LFxuICAgIF0sXG4gICAgbmFtZTogJ3NlbmRNdWx0aVNpZycsXG4gICAgb3V0cHV0czogW10sXG4gICAgc3RhdGVNdXRhYmlsaXR5OiAnbm9ucGF5YWJsZScsXG4gICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgfSxcbl07XG4iXX0=
@@ -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,135 @@
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 assert_1 = __importDefault(require("assert"));
7
+ const should_1 = __importDefault(require("should"));
8
+ const src_1 = require("../../src");
9
+ const avaxc_1 = require("../resources/avaxc");
10
+ describe('Avax Key Pair', () => {
11
+ describe('should create a valid KeyPair', () => {
12
+ it('from an empty value', () => {
13
+ const keyPairObj = new src_1.KeyPair();
14
+ const keys = keyPairObj.getKeys();
15
+ should_1.default.exists(keys.prv);
16
+ should_1.default.exists(keys.pub);
17
+ should_1.default.equal(keys.prv.length, 64);
18
+ should_1.default.equal(keys.pub.length, 130);
19
+ const extendedKeys = keyPairObj.getExtendedKeys();
20
+ should_1.default.exists(extendedKeys.xprv);
21
+ should_1.default.exists(extendedKeys.xpub);
22
+ });
23
+ it('from a seed', () => {
24
+ const seed = avaxc_1.TEST_ACCOUNT.seed;
25
+ const keyPairObj = new src_1.KeyPair({ seed: Buffer.from(seed, 'hex') });
26
+ const keys = keyPairObj.getKeys();
27
+ should_1.default.exists(keys.prv);
28
+ should_1.default.exists(keys.pub);
29
+ should_1.default.equal(keys.prv, avaxc_1.TEST_ACCOUNT.ethPrivateKey);
30
+ should_1.default.equal(keys.pub, avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey);
31
+ const extendedKeys = keyPairObj.getExtendedKeys();
32
+ should_1.default.exists(extendedKeys.xprv);
33
+ should_1.default.exists(extendedKeys.xpub);
34
+ should_1.default.equal(extendedKeys.xprv, avaxc_1.TEST_ACCOUNT.ethExtendedPrivateKey);
35
+ should_1.default.equal(extendedKeys.xpub, avaxc_1.TEST_ACCOUNT.ethExtendedPublicKey);
36
+ });
37
+ it('from a private key', () => {
38
+ const privateKey = avaxc_1.TEST_ACCOUNT.ethPrivateKey;
39
+ const keyPairObj = new src_1.KeyPair({ prv: privateKey });
40
+ const keys = keyPairObj.getKeys();
41
+ should_1.default.exists(keys.prv);
42
+ should_1.default.exists(keys.pub);
43
+ should_1.default.equal(keys.prv, avaxc_1.TEST_ACCOUNT.ethPrivateKey);
44
+ should_1.default.equal(keys.pub, avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey);
45
+ assert_1.default.throws(() => keyPairObj.getExtendedKeys());
46
+ });
47
+ it('from a compressed public key', () => {
48
+ const publickKey = avaxc_1.TEST_ACCOUNT.ethCompressedPublicKey;
49
+ const keyPairObj = new src_1.KeyPair({ pub: publickKey });
50
+ const keys = keyPairObj.getKeys();
51
+ should_1.default.not.exist(keys.prv);
52
+ should_1.default.exists(keys.pub);
53
+ should_1.default.equal(keys.pub, avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey);
54
+ assert_1.default.throws(() => keyPairObj.getExtendedKeys());
55
+ });
56
+ it('from an uncompressed public key', () => {
57
+ const publickKey = avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey;
58
+ const keyPairObj = new src_1.KeyPair({ pub: publickKey });
59
+ const keys = keyPairObj.getKeys();
60
+ should_1.default.not.exist(keys.prv);
61
+ should_1.default.exists(keys.pub);
62
+ should_1.default.equal(keys.pub, avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey);
63
+ assert_1.default.throws(() => keyPairObj.getExtendedKeys());
64
+ });
65
+ it('from an extended private key', () => {
66
+ const extendedPrivateKey = avaxc_1.TEST_ACCOUNT.ethExtendedPrivateKey;
67
+ const keyPairObj = new src_1.KeyPair({ prv: extendedPrivateKey });
68
+ const keys = keyPairObj.getKeys();
69
+ should_1.default.exists(keys.prv);
70
+ should_1.default.exists(keys.pub);
71
+ should_1.default.equal(keys.prv, avaxc_1.TEST_ACCOUNT.ethPrivateKey);
72
+ should_1.default.equal(keys.pub, avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey);
73
+ const extendedKeys = keyPairObj.getExtendedKeys();
74
+ should_1.default.exists(extendedKeys.xprv);
75
+ should_1.default.exists(extendedKeys.xpub);
76
+ should_1.default.equal(extendedKeys.xprv, avaxc_1.TEST_ACCOUNT.ethExtendedPrivateKey);
77
+ should_1.default.equal(extendedKeys.xpub, avaxc_1.TEST_ACCOUNT.ethExtendedPublicKey);
78
+ });
79
+ it('from an extended public key', () => {
80
+ const extendedPublicKey = avaxc_1.TEST_ACCOUNT.ethExtendedPublicKey;
81
+ const keyPairObj = new src_1.KeyPair({ pub: extendedPublicKey });
82
+ const keys = keyPairObj.getKeys();
83
+ should_1.default.not.exist(keys.prv);
84
+ should_1.default.exists(keys.pub);
85
+ should_1.default.equal(keys.pub, avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey);
86
+ const extendedKeys = keyPairObj.getExtendedKeys();
87
+ should_1.default.not.exist(extendedKeys.xprv);
88
+ should_1.default.exists(extendedKeys.xpub);
89
+ should_1.default.equal(extendedKeys.xpub, avaxc_1.TEST_ACCOUNT.ethExtendedPublicKey);
90
+ });
91
+ });
92
+ describe('should fail to create a KeyPair', () => {
93
+ it('from an invalid privateKey', () => {
94
+ assert_1.default.throws(() => new src_1.KeyPair({ prv: '' }), (e) => e.message === 'Unsupported private key');
95
+ });
96
+ it('from an invalid publicKey', () => {
97
+ assert_1.default.throws(() => new src_1.KeyPair({ pub: '' }), (e) => e.message.startsWith('Unsupported public key'));
98
+ });
99
+ it('from an undefined seed', () => {
100
+ const undefinedBuffer = undefined;
101
+ assert_1.default.throws(() => new src_1.KeyPair({ seed: undefinedBuffer }), (e) => e.message.startsWith('Invalid key pair options'));
102
+ });
103
+ it('from an undefined private key', () => {
104
+ const undefinedStr = undefined;
105
+ assert_1.default.throws(() => new src_1.KeyPair({ prv: undefinedStr }), (e) => e.message.startsWith('Invalid key pair options'));
106
+ });
107
+ it('from an undefined public key', () => {
108
+ const undefinedStr = undefined;
109
+ assert_1.default.throws(() => new src_1.KeyPair({ pub: undefinedStr }), (e) => e.message.startsWith('Invalid key pair options'));
110
+ });
111
+ });
112
+ describe('should get address ', () => {
113
+ it('from a private key', () => {
114
+ const keyPair = new src_1.KeyPair({ prv: avaxc_1.TEST_ACCOUNT.ethPrivateKey });
115
+ should_1.default.equal(keyPair.getAddress(), avaxc_1.TEST_ACCOUNT.ethAddress);
116
+ });
117
+ it('from a compressed public key', () => {
118
+ const keyPair = new src_1.KeyPair({ pub: avaxc_1.TEST_ACCOUNT.ethCompressedPublicKey });
119
+ should_1.default.equal(keyPair.getAddress(), avaxc_1.TEST_ACCOUNT.ethAddress);
120
+ });
121
+ it('from an uncompressed public key', () => {
122
+ const keyPair = new src_1.KeyPair({ pub: avaxc_1.TEST_ACCOUNT.ethUncompressedPublicKey });
123
+ should_1.default.equal(keyPair.getAddress(), avaxc_1.TEST_ACCOUNT.ethAddress);
124
+ });
125
+ it('should get an address from an extended public key', () => {
126
+ const keyPair = new src_1.KeyPair({ pub: avaxc_1.TEST_ACCOUNT.ethExtendedPublicKey });
127
+ should_1.default.equal(keyPair.getAddress(), avaxc_1.TEST_ACCOUNT.ethAddress);
128
+ });
129
+ it('should get an address from an extended private key', () => {
130
+ const keyPair = new src_1.KeyPair({ prv: avaxc_1.TEST_ACCOUNT.ethExtendedPrivateKey });
131
+ should_1.default.equal(keyPair.getAddress(), avaxc_1.TEST_ACCOUNT.ethAddress);
132
+ });
133
+ });
134
+ });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG9EQUE0QjtBQUM1QixtQ0FBb0M7QUFDcEMsOENBQWtEO0FBRWxELFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7UUFDN0MsRUFBRSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtZQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQU8sRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLGdCQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLGdCQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRW5DLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNsRCxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7WUFDckIsTUFBTSxJQUFJLEdBQUcsb0JBQVksQ0FBQyxJQUFJLENBQUM7WUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxhQUFPLENB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Q0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7WUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsb0JBQVksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUM7WUFDNUUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLG9CQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsbURBQW1ELEVBQUUsR0FBRyxFQUFFO1lBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksYUFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLG9CQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxvQkFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEdBQUcsRUFBRTtZQUM1RCxNQUFNLE9BQU8sR0FBRyxJQUFJLGFBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxvQkFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztZQUN6RSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsb0JBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCB7IFRFU1RfQUNDT1VOVCB9IGZyb20gJy4uL3Jlc291cmNlcy9hdmF4Yyc7XG5cbmRlc2NyaWJlKCdBdmF4IEtleSBQYWlyJywgKCkgPT4ge1xuICBkZXNjcmliZSgnc2hvdWxkIGNyZWF0ZSBhIHZhbGlkIEtleVBhaXInLCAoKSA9PiB7XG4gICAgaXQoJ2Zyb20gYW4gZW1wdHkgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyT2JqID0gbmV3IEtleVBhaXIoKTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyT2JqLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5cy5wcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhrZXlzLnB1Yik7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wcnYhLmxlbmd0aCwgNjQpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleXMucHViLmxlbmd0aCwgMTMwKTtcblxuICAgICAgY29uc3QgZXh0ZW5kZWRLZXlzID0ga2V5UGFpck9iai5nZXRFeHRlbmRlZEtleXMoKTtcbiAgICAgIHNob3VsZC5leGlzdHMoZXh0ZW5kZWRLZXlzLnhwcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhleHRlbmRlZEtleXMueHB1Yik7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhIHNlZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBzZWVkID0gVEVTVF9BQ0NPVU5ULnNlZWQ7XG4gICAgICBjb25zdCBrZXlQYWlyT2JqID0gbmV3IEtleVBhaXIoeyBzZWVkOiBCdWZmZXIuZnJvbShzZWVkLCAnaGV4JykgfSk7XG4gICAgICBjb25zdCBrZXlzID0ga2V5UGFpck9iai5nZXRLZXlzKCk7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleXMucHJ2KTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5cy5wdWIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleXMucHJ2ISwgVEVTVF9BQ0NPVU5ULmV0aFByaXZhdGVLZXkpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleXMucHViLCBURVNUX0FDQ09VTlQuZXRoVW5jb21wcmVzc2VkUHVibGljS2V5KTtcblxuICAgICAgY29uc3QgZXh0ZW5kZWRLZXlzID0ga2V5UGFpck9iai5nZXRFeHRlbmRlZEtleXMoKTtcbiAgICAgIHNob3VsZC5leGlzdHMoZXh0ZW5kZWRLZXlzLnhwcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhleHRlbmRlZEtleXMueHB1Yik7XG4gICAgICBzaG91bGQuZXF1YWwoZXh0ZW5kZWRLZXlzLnhwcnYsIFRFU1RfQUNDT1VOVC5ldGhFeHRlbmRlZFByaXZhdGVLZXkpO1xuICAgICAgc2hvdWxkLmVxdWFsKGV4dGVuZGVkS2V5cy54cHViLCBURVNUX0FDQ09VTlQuZXRoRXh0ZW5kZWRQdWJsaWNLZXkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYSBwcml2YXRlIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IHByaXZhdGVLZXkgPSBURVNUX0FDQ09VTlQuZXRoUHJpdmF0ZUtleTtcbiAgICAgIGNvbnN0IGtleVBhaXJPYmogPSBuZXcgS2V5UGFpcih7IHBydjogcHJpdmF0ZUtleSB9KTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyT2JqLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5cy5wcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhrZXlzLnB1Yik7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wcnYsIFRFU1RfQUNDT1VOVC5ldGhQcml2YXRlS2V5KTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlzLnB1YiwgVEVTVF9BQ0NPVU5ULmV0aFVuY29tcHJlc3NlZFB1YmxpY0tleSk7XG5cbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ga2V5UGFpck9iai5nZXRFeHRlbmRlZEtleXMoKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhIGNvbXByZXNzZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IHB1YmxpY2tLZXkgPSBURVNUX0FDQ09VTlQuZXRoQ29tcHJlc3NlZFB1YmxpY0tleTtcbiAgICAgIGNvbnN0IGtleVBhaXJPYmogPSBuZXcgS2V5UGFpcih7IHB1YjogcHVibGlja0tleSB9KTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyT2JqLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3Qoa2V5cy5wcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhrZXlzLnB1Yik7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wdWIsIFRFU1RfQUNDT1VOVC5ldGhVbmNvbXByZXNzZWRQdWJsaWNLZXkpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXJPYmouZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gdW5jb21wcmVzc2VkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBwdWJsaWNrS2V5ID0gVEVTVF9BQ0NPVU5ULmV0aFVuY29tcHJlc3NlZFB1YmxpY0tleTtcbiAgICAgIGNvbnN0IGtleVBhaXJPYmogPSBuZXcgS2V5UGFpcih7IHB1YjogcHVibGlja0tleSB9KTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyT2JqLmdldEtleXMoKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3Qoa2V5cy5wcnYpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhrZXlzLnB1Yik7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wdWIsIFRFU1RfQUNDT1VOVC5ldGhVbmNvbXByZXNzZWRQdWJsaWNLZXkpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IGtleVBhaXJPYmouZ2V0RXh0ZW5kZWRLZXlzKCkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gZXh0ZW5kZWQgcHJpdmF0ZSBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBleHRlbmRlZFByaXZhdGVLZXkgPSBURVNUX0FDQ09VTlQuZXRoRXh0ZW5kZWRQcml2YXRlS2V5O1xuICAgICAgY29uc3Qga2V5UGFpck9iaiA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBleHRlbmRlZFByaXZhdGVLZXkgfSk7XG4gICAgICBjb25zdCBrZXlzID0ga2V5UGFpck9iai5nZXRLZXlzKCk7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleXMucHJ2KTtcbiAgICAgIHNob3VsZC5leGlzdHMoa2V5cy5wdWIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleXMucHJ2LCBURVNUX0FDQ09VTlQuZXRoUHJpdmF0ZUtleSk7XG4gICAgICBzaG91bGQuZXF1YWwoa2V5cy5wdWIsIFRFU1RfQUNDT1VOVC5ldGhVbmNvbXByZXNzZWRQdWJsaWNLZXkpO1xuXG4gICAgICBjb25zdCBleHRlbmRlZEtleXMgPSBrZXlQYWlyT2JqLmdldEV4dGVuZGVkS2V5cygpO1xuICAgICAgc2hvdWxkLmV4aXN0cyhleHRlbmRlZEtleXMueHBydik7XG4gICAgICBzaG91bGQuZXhpc3RzKGV4dGVuZGVkS2V5cy54cHViKTtcbiAgICAgIHNob3VsZC5lcXVhbChleHRlbmRlZEtleXMueHBydiwgVEVTVF9BQ0NPVU5ULmV0aEV4dGVuZGVkUHJpdmF0ZUtleSk7XG4gICAgICBzaG91bGQuZXF1YWwoZXh0ZW5kZWRLZXlzLnhwdWIsIFRFU1RfQUNDT1VOVC5ldGhFeHRlbmRlZFB1YmxpY0tleSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiBleHRlbmRlZCBwdWJsaWMga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3QgZXh0ZW5kZWRQdWJsaWNLZXkgPSBURVNUX0FDQ09VTlQuZXRoRXh0ZW5kZWRQdWJsaWNLZXk7XG4gICAgICBjb25zdCBrZXlQYWlyT2JqID0gbmV3IEtleVBhaXIoeyBwdWI6IGV4dGVuZGVkUHVibGljS2V5IH0pO1xuICAgICAgY29uc3Qga2V5cyA9IGtleVBhaXJPYmouZ2V0S2V5cygpO1xuICAgICAgc2hvdWxkLm5vdC5leGlzdChrZXlzLnBydik7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleXMucHViKTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlzLnB1YiwgVEVTVF9BQ0NPVU5ULmV0aFVuY29tcHJlc3NlZFB1YmxpY0tleSk7XG5cbiAgICAgIGNvbnN0IGV4dGVuZGVkS2V5cyA9IGtleVBhaXJPYmouZ2V0RXh0ZW5kZWRLZXlzKCk7XG4gICAgICBzaG91bGQubm90LmV4aXN0KGV4dGVuZGVkS2V5cy54cHJ2KTtcbiAgICAgIHNob3VsZC5leGlzdHMoZXh0ZW5kZWRLZXlzLnhwdWIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGV4dGVuZGVkS2V5cy54cHViLCBURVNUX0FDQ09VTlQuZXRoRXh0ZW5kZWRQdWJsaWNLZXkpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIGZhaWwgdG8gY3JlYXRlIGEgS2V5UGFpcicsICgpID0+IHtcbiAgICBpdCgnZnJvbSBhbiBpbnZhbGlkIHByaXZhdGVLZXknLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBuZXcgS2V5UGFpcih7IHBydjogJycgfSksXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1Vuc3VwcG9ydGVkIHByaXZhdGUga2V5J1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdmcm9tIGFuIGludmFsaWQgcHVibGljS2V5JywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4gbmV3IEtleVBhaXIoeyBwdWI6ICcnIH0pLFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnVW5zdXBwb3J0ZWQgcHVibGljIGtleScpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gdW5kZWZpbmVkIHNlZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB1bmRlZmluZWRCdWZmZXIgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBCdWZmZXI7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBuZXcgS2V5UGFpcih7IHNlZWQ6IHVuZGVmaW5lZEJ1ZmZlciB9KSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlLnN0YXJ0c1dpdGgoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYW4gdW5kZWZpbmVkIHByaXZhdGUga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3QgdW5kZWZpbmVkU3RyOiBzdHJpbmcgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBzdHJpbmc7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiBuZXcgS2V5UGFpcih7IHBydjogdW5kZWZpbmVkU3RyIH0pLFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJylcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiB1bmRlZmluZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IHVuZGVmaW5lZFN0cjogc3RyaW5nID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgc3RyaW5nO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4gbmV3IEtleVBhaXIoeyBwdWI6IHVuZGVmaW5lZFN0ciB9KSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlLnN0YXJ0c1dpdGgoJ0ludmFsaWQga2V5IHBhaXIgb3B0aW9ucycpXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIGdldCBhZGRyZXNzICcsICgpID0+IHtcbiAgICBpdCgnZnJvbSBhIHByaXZhdGUga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBURVNUX0FDQ09VTlQuZXRoUHJpdmF0ZUtleSB9KTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlQYWlyLmdldEFkZHJlc3MoKSwgVEVTVF9BQ0NPVU5ULmV0aEFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zyb20gYSBjb21wcmVzc2VkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IFRFU1RfQUNDT1VOVC5ldGhDb21wcmVzc2VkUHVibGljS2V5IH0pO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleVBhaXIuZ2V0QWRkcmVzcygpLCBURVNUX0FDQ09VTlQuZXRoQWRkcmVzcyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZnJvbSBhbiB1bmNvbXByZXNzZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1YjogVEVTVF9BQ0NPVU5ULmV0aFVuY29tcHJlc3NlZFB1YmxpY0tleSB9KTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlQYWlyLmdldEFkZHJlc3MoKSwgVEVTVF9BQ0NPVU5ULmV0aEFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZXQgYW4gYWRkcmVzcyBmcm9tIGFuIGV4dGVuZGVkIHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gbmV3IEtleVBhaXIoeyBwdWI6IFRFU1RfQUNDT1VOVC5ldGhFeHRlbmRlZFB1YmxpY0tleSB9KTtcbiAgICAgIHNob3VsZC5lcXVhbChrZXlQYWlyLmdldEFkZHJlc3MoKSwgVEVTVF9BQ0NPVU5ULmV0aEFkZHJlc3MpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZXQgYW4gYWRkcmVzcyBmcm9tIGFuIGV4dGVuZGVkIHByaXZhdGUga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBURVNUX0FDQ09VTlQuZXRoRXh0ZW5kZWRQcml2YXRlS2V5IH0pO1xuICAgICAgc2hvdWxkLmVxdWFsKGtleVBhaXIuZ2V0QWRkcmVzcygpLCBURVNUX0FDQ09VTlQuZXRoQWRkcmVzcyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/transfer.ts"],"names":[],"mappings":""}