@bitgo/abstract-eth 24.10.0 → 24.10.1

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 (121) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +6 -6
  3. package/LICENSE +0 -191
  4. package/dist/src/abstractEthLikeCoin.d.ts +0 -95
  5. package/dist/src/abstractEthLikeCoin.d.ts.map +0 -1
  6. package/dist/src/abstractEthLikeCoin.js +0 -160
  7. package/dist/src/abstractEthLikeNewCoins.d.ts +0 -749
  8. package/dist/src/abstractEthLikeNewCoins.d.ts.map +0 -1
  9. package/dist/src/abstractEthLikeNewCoins.js +0 -2229
  10. package/dist/src/ethLikeToken.d.ts +0 -70
  11. package/dist/src/ethLikeToken.d.ts.map +0 -1
  12. package/dist/src/ethLikeToken.js +0 -360
  13. package/dist/src/index.d.ts +0 -5
  14. package/dist/src/index.d.ts.map +0 -1
  15. package/dist/src/index.js +0 -21
  16. package/dist/src/lib/contractCall.d.ts +0 -8
  17. package/dist/src/lib/contractCall.d.ts.map +0 -1
  18. package/dist/src/lib/contractCall.js +0 -17
  19. package/dist/src/lib/iface.d.ts +0 -133
  20. package/dist/src/lib/iface.d.ts.map +0 -1
  21. package/dist/src/lib/iface.js +0 -8
  22. package/dist/src/lib/index.d.ts +0 -16
  23. package/dist/src/lib/index.d.ts.map +0 -1
  24. package/dist/src/lib/index.js +0 -57
  25. package/dist/src/lib/keyPair.d.ts +0 -26
  26. package/dist/src/lib/keyPair.d.ts.map +0 -1
  27. package/dist/src/lib/keyPair.js +0 -65
  28. package/dist/src/lib/messages/eip191/eip191Message.d.ts +0 -12
  29. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +0 -1
  30. package/dist/src/lib/messages/eip191/eip191Message.js +0 -25
  31. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +0 -19
  32. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
  33. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +0 -27
  34. package/dist/src/lib/messages/eip191/index.d.ts +0 -3
  35. package/dist/src/lib/messages/eip191/index.d.ts.map +0 -1
  36. package/dist/src/lib/messages/eip191/index.js +0 -19
  37. package/dist/src/lib/messages/index.d.ts +0 -3
  38. package/dist/src/lib/messages/index.d.ts.map +0 -1
  39. package/dist/src/lib/messages/index.js +0 -19
  40. package/dist/src/lib/messages/messageBuilderFactory.d.ts +0 -7
  41. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +0 -1
  42. package/dist/src/lib/messages/messageBuilderFactory.js +0 -20
  43. package/dist/src/lib/transaction.d.ts +0 -67
  44. package/dist/src/lib/transaction.d.ts.map +0 -1
  45. package/dist/src/lib/transaction.js +0 -142
  46. package/dist/src/lib/transactionBuilder.d.ts +0 -251
  47. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  48. package/dist/src/lib/transactionBuilder.js +0 -742
  49. package/dist/src/lib/transferBuilder.d.ts +0 -76
  50. package/dist/src/lib/transferBuilder.d.ts.map +0 -1
  51. package/dist/src/lib/transferBuilder.js +0 -307
  52. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +0 -54
  53. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +0 -1
  54. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +0 -120
  55. package/dist/src/lib/transferBuilders/index.d.ts +0 -4
  56. package/dist/src/lib/transferBuilders/index.d.ts.map +0 -1
  57. package/dist/src/lib/transferBuilders/index.js +0 -20
  58. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +0 -17
  59. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +0 -1
  60. package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +0 -96
  61. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +0 -16
  62. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +0 -1
  63. package/dist/src/lib/transferBuilders/transferBuilderERC721.js +0 -81
  64. package/dist/src/lib/types.d.ts +0 -39
  65. package/dist/src/lib/types.d.ts.map +0 -1
  66. package/dist/src/lib/types.js +0 -137
  67. package/dist/src/lib/utils.d.ts +0 -270
  68. package/dist/src/lib/utils.d.ts.map +0 -1
  69. package/dist/src/lib/utils.js +0 -717
  70. package/dist/src/lib/walletUtil.d.ts +0 -32
  71. package/dist/src/lib/walletUtil.d.ts.map +0 -1
  72. package/dist/src/lib/walletUtil.js +0 -35
  73. package/dist/src/types.d.ts +0 -9
  74. package/dist/src/types.d.ts.map +0 -1
  75. package/dist/src/types.js +0 -3
  76. package/dist/test/index.d.ts +0 -2
  77. package/dist/test/index.d.ts.map +0 -1
  78. package/dist/test/index.js +0 -18
  79. package/dist/test/unit/coin.d.ts +0 -8
  80. package/dist/test/unit/coin.d.ts.map +0 -1
  81. package/dist/test/unit/coin.js +0 -577
  82. package/dist/test/unit/index.d.ts +0 -6
  83. package/dist/test/unit/index.d.ts.map +0 -1
  84. package/dist/test/unit/index.js +0 -22
  85. package/dist/test/unit/messages/eip191/eip191Message.d.ts +0 -2
  86. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +0 -1
  87. package/dist/test/unit/messages/eip191/eip191Message.js +0 -137
  88. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +0 -2
  89. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
  90. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +0 -116
  91. package/dist/test/unit/messages/fixtures.d.ts +0 -24
  92. package/dist/test/unit/messages/fixtures.d.ts.map +0 -1
  93. package/dist/test/unit/messages/fixtures.js +0 -28
  94. package/dist/test/unit/messages/index.d.ts +0 -4
  95. package/dist/test/unit/messages/index.d.ts.map +0 -1
  96. package/dist/test/unit/messages/index.js +0 -20
  97. package/dist/test/unit/messages/messageBuilderFactory.d.ts +0 -2
  98. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  99. package/dist/test/unit/messages/messageBuilderFactory.js +0 -44
  100. package/dist/test/unit/token.d.ts +0 -2
  101. package/dist/test/unit/token.d.ts.map +0 -1
  102. package/dist/test/unit/token.js +0 -37
  103. package/dist/test/unit/transaction.d.ts +0 -3
  104. package/dist/test/unit/transaction.d.ts.map +0 -1
  105. package/dist/test/unit/transaction.js +0 -60
  106. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +0 -8
  107. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +0 -1
  108. package/dist/test/unit/transactionBuilder/addressInitialization.js +0 -95
  109. package/dist/test/unit/transactionBuilder/index.d.ts +0 -4
  110. package/dist/test/unit/transactionBuilder/index.d.ts.map +0 -1
  111. package/dist/test/unit/transactionBuilder/index.js +0 -20
  112. package/dist/test/unit/transactionBuilder/send.d.ts +0 -3
  113. package/dist/test/unit/transactionBuilder/send.d.ts.map +0 -1
  114. package/dist/test/unit/transactionBuilder/send.js +0 -197
  115. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +0 -10
  116. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +0 -1
  117. package/dist/test/unit/transactionBuilder/walletInitialization.js +0 -124
  118. package/dist/test/unit/transferBuilder.d.ts +0 -2
  119. package/dist/test/unit/transferBuilder.d.ts.map +0 -1
  120. package/dist/test/unit/transferBuilder.js +0 -76
  121. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,124 +0,0 @@
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
- exports.testInitTransaction = testInitTransaction;
7
- exports.testWalletInitTransaction = testWalletInitTransaction;
8
- exports.testSignedInitTransaction = testSignedInitTransaction;
9
- exports.testUnsignedInitTransaction = testUnsignedInitTransaction;
10
- exports.testUnsignedInitTransactionFromSerialized = testUnsignedInitTransactionFromSerialized;
11
- exports.testFinalVCheck = testFinalVCheck;
12
- exports.testRecoveryWalletDeployment = testRecoveryWalletDeployment;
13
- exports.testRecoveryTransactionWithoutData = testRecoveryTransactionWithoutData;
14
- const should_1 = __importDefault(require("should"));
15
- const sdk_core_1 = require("@bitgo/sdk-core");
16
- function addOwner(txBuilder, testData) {
17
- txBuilder.owner(testData.ACCOUNT_1);
18
- txBuilder.owner(testData.ACCOUNT_2);
19
- txBuilder.owner(testData.ACCOUNT_3);
20
- }
21
- async function testInitTransaction(txBuilder, testData) {
22
- it('an init transaction', async () => {
23
- addOwner(txBuilder, testData);
24
- txBuilder.sign({ key: testData.PRIVATE_KEY_1 });
25
- const tx = await txBuilder.build();
26
- tx.type.should.equal(sdk_core_1.TransactionType.WalletInitialization);
27
- const txJson = tx.toJson();
28
- txJson.gasLimit.should.equal('6800000');
29
- txJson.gasPrice.should.equal('10000000000');
30
- should_1.default.equal(txJson.nonce, 1);
31
- should_1.default.equal(txJson.chainId, testData.TXDATA.chainId);
32
- should_1.default.equal(tx.toBroadcastFormat(), testData.TX_BROADCAST);
33
- });
34
- }
35
- async function testWalletInitTransaction(txBuilder, testData) {
36
- it('a wallet initialization transaction with nonce 0', async () => {
37
- addOwner(txBuilder, testData);
38
- txBuilder.counter(0);
39
- txBuilder.sign({ key: testData.PRIVATE_KEY_1 });
40
- const tx = await txBuilder.build();
41
- tx.type.should.equal(sdk_core_1.TransactionType.WalletInitialization);
42
- const txJson = tx.toJson();
43
- txJson.gasLimit.should.equal('6800000');
44
- txJson.gasPrice.should.equal('10000000000');
45
- should_1.default.equal(txJson.nonce, 0);
46
- should_1.default.equal(txJson.chainId, testData.TXDATA.chainId);
47
- });
48
- }
49
- async function testSignedInitTransaction(newTxBuilder, testData) {
50
- it('a signed init transaction from serialized', async () => {
51
- newTxBuilder.from(testData.TX_BROADCAST);
52
- const newTx = await newTxBuilder.build();
53
- should_1.default.equal(newTx.toBroadcastFormat(), testData.TX_BROADCAST);
54
- should_1.default.equal(newTx.id, testData.EXPECTED_NEW_TX_ID);
55
- const txJson = newTx.toJson();
56
- should_1.default.exist(txJson.v);
57
- should_1.default.exist(txJson.r);
58
- should_1.default.exist(txJson.s);
59
- should_1.default.exist(txJson.from);
60
- });
61
- }
62
- async function testUnsignedInitTransaction(txBuilder, newTxBuilder, testData) {
63
- it('an unsigned init transaction from serialized with 0-prefixed address', async () => {
64
- addOwner(txBuilder, testData);
65
- const tx = await txBuilder.build();
66
- const serialized = tx.toBroadcastFormat();
67
- newTxBuilder.from(serialized);
68
- const newTx = await newTxBuilder.build();
69
- should_1.default.equal(newTx.toBroadcastFormat(), serialized);
70
- });
71
- }
72
- async function testUnsignedInitTransactionFromSerialized(txBuilder, newTxBuilder, testData) {
73
- it('an unsigned init transaction from serialized', async () => {
74
- addOwner(txBuilder, testData);
75
- const tx = await txBuilder.build();
76
- const serialized = tx.toBroadcastFormat();
77
- newTxBuilder.from(serialized);
78
- const newTx = await newTxBuilder.build();
79
- should_1.default.equal(newTx.toBroadcastFormat(), serialized);
80
- });
81
- }
82
- async function testFinalVCheck(txBuilder, testData) {
83
- it('an unsigned transaction with final v check', async () => {
84
- addOwner(txBuilder, testData);
85
- const tx = await txBuilder.build();
86
- should_1.default.equal(tx.toJson().v, testData.FINAL_V);
87
- });
88
- }
89
- async function testRecoveryWalletDeployment(txBuilder, testData) {
90
- it('wallet deployment transaction for recovery', async () => {
91
- txBuilder.type(sdk_core_1.TransactionType.RecoveryWalletDeployment);
92
- txBuilder.data(testData.RECOVERY_WALLET_BYTE_CODE);
93
- txBuilder.fee({
94
- eip1559: {
95
- maxFeePerGas: '100',
96
- maxPriorityFeePerGas: '10',
97
- },
98
- fee: '100',
99
- gasLimit: '10000',
100
- });
101
- txBuilder.counter(1);
102
- const tx = await txBuilder.build();
103
- const txJson = tx.toJson();
104
- should_1.default.equal(txJson._type, 'EIP1559');
105
- should_1.default.equal(txJson.gasLimit, '10000');
106
- should_1.default.exists(tx.toBroadcastFormat());
107
- });
108
- }
109
- async function testRecoveryTransactionWithoutData(txBuilder) {
110
- it('fail when data is not passed recovery', async () => {
111
- txBuilder.type(sdk_core_1.TransactionType.RecoveryWalletDeployment);
112
- txBuilder.fee({
113
- eip1559: {
114
- maxFeePerGas: '100',
115
- maxPriorityFeePerGas: '10',
116
- },
117
- fee: '100',
118
- gasLimit: '10000',
119
- });
120
- txBuilder.counter(1);
121
- await txBuilder.build().should.be.rejectedWith('Invalid transaction: missing contract call data field');
122
- });
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdGlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3dhbGxldEluaXRpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsa0RBZUM7QUFFRCw4REFjQztBQUVELDhEQVlDO0FBRUQsa0VBYUM7QUFFRCw4RkFhQztBQUVELDBDQU1DO0FBRUQsb0VBbUJDO0FBRUQsZ0ZBY0M7QUFsSUQsb0RBQTRCO0FBQzVCLDhDQUFrRDtBQUdsRCxTQUFTLFFBQVEsQ0FBQyxTQUE2QixFQUFFLFFBQVE7SUFDdkQsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVNLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxTQUE2QixFQUFFLFFBQWE7SUFDcEYsRUFBRSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ25DLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVoRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVuQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMs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QUMsSUFBSSxDQUFDLDBCQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ1osT0FBTyxFQUFFO2dCQUNQLFlBQVksRUFBRSxLQUFLO2dCQUNuQixvQkFBb0IsRUFBRSxJQUFJO2FBQzNCO1lBQ0QsR0FBRyxFQUFFLEtBQUs7WUFDVixRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDMUcsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5cbmZ1bmN0aW9uIGFkZE93bmVyKHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YSkge1xuICB0eEJ1aWxkZXIub3duZXIodGVzdERhdGEuQUNDT1VOVF8xKTtcbiAgdHhCdWlsZGVyLm93bmVyKHRlc3REYXRhLkFDQ09VTlRfMik7XG4gIHR4QnVpbGRlci5vd25lcih0ZXN0RGF0YS5BQ0NPVU5UXzMpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdEluaXRUcmFuc2FjdGlvbih0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGE6IGFueSkge1xuICBpdCgnYW4gaW5pdCB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICBhZGRPd25lcih0eEJ1aWxkZXIsIHRlc3REYXRhKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcblxuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICB0eC50eXBlLnNob3VsZC5lcXVhbChUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb24pO1xuICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHR4SnNvbi5nYXNMaW1pdC5zaG91bGQuZXF1YWwoJzY4MDAwMDAnKTtcbiAgICB0eEpzb24uZ2FzUHJpY2Uuc2hvdWxkLmVxdWFsKCcxMDAwMDAwMDAwMCcpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24ubm9uY2UsIDEpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24uY2hhaW5JZCwgdGVzdERhdGEuVFhEQVRBLmNoYWluSWQpO1xuICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCB0ZXN0RGF0YS5UWF9CUk9BRENBU1QpO1xuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRlc3RXYWxsZXRJbml0VHJhbnNhY3Rpb24odHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsIHRlc3REYXRhOiBhbnkpIHtcbiAgaXQoJ2Egd2FsbGV0IGluaXRpYWxpemF0aW9uIHRyYW5zYWN0aW9uIHdpdGggbm9uY2UgMCcsIGFzeW5jICgpID0+IHtcbiAgICBhZGRPd25lcih0eEJ1aWxkZXIsIHRlc3REYXRhKTtcbiAgICB0eEJ1aWxkZXIuY291bnRlcigwKTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdGVzdERhdGEuUFJJVkFURV9LRVlfMSB9KTtcbiAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICB0eEpzb24uZ2FzTGltaXQuc2hvdWxkLmVxdWFsKCc2ODAwMDAwJyk7XG4gICAgdHhKc29uLmdhc1ByaWNlLnNob3VsZC5lcXVhbCgnMTAwMDAwMDAwMDAnKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLm5vbmNlLCAwKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLmNoYWluSWQsIHRlc3REYXRhLlRYREFUQS5jaGFpbklkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0U2lnbmVkSW5pdFRyYW5zYWN0aW9uKG5ld1R4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YTogYW55KSB7XG4gIGl0KCdhIHNpZ25lZCBpbml0IHRyYW5zYWN0aW9uIGZyb20gc2VyaWFsaXplZCcsIGFzeW5jICgpID0+IHtcbiAgICBuZXdUeEJ1aWxkZXIuZnJvbSh0ZXN0RGF0YS5UWF9CUk9BRENBU1QpO1xuICAgIGNvbnN0IG5ld1R4ID0gYXdhaXQgbmV3VHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgc2hvdWxkLmVxdWFsKG5ld1R4LnRvQnJvYWRjYXN0Rm9ybWF0KCksIHRlc3REYXRhLlRYX0JST0FEQ0FTVCk7XG4gICAgc2hvdWxkLmVxdWFsKG5ld1R4LmlkLCB0ZXN0RGF0YS5FWFBFQ1RFRF9ORVdfVFhfSUQpO1xuICAgIGNvbnN0IHR4SnNvbiA9IG5ld1R4LnRvSnNvbigpO1xuICAgIHNob3VsZC5leGlzdCh0eEpzb24udik7XG4gICAgc2hvdWxkLmV4aXN0KHR4SnNvbi5yKTtcbiAgICBzaG91bGQuZXhpc3QodHhKc29uLnMpO1xuICAgIHNob3VsZC5leGlzdCh0eEpzb24uZnJvbSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFVuc2lnbmVkSW5pdFRyYW5zYWN0aW9uKFxuICB0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcixcbiAgbmV3VHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRlc3REYXRhOiBhbnlcbikge1xuICBpdCgnYW4gdW5zaWduZWQgaW5pdCB0cmFuc2FjdGlvbiBmcm9tIHNlcmlhbGl6ZWQgd2l0aCAwLXByZWZpeGVkIGFkZHJlc3MnLCBhc3luYyAoKSA9PiB7XG4gICAgYWRkT3duZXIodHhCdWlsZGVyLCB0ZXN0RGF0YSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICBuZXdUeEJ1aWxkZXIuZnJvbShzZXJpYWxpemVkKTtcbiAgICBjb25zdCBuZXdUeCA9IGF3YWl0IG5ld1R4QnVpbGRlci5idWlsZCgpO1xuICAgIHNob3VsZC5lcXVhbChuZXdUeC50b0Jyb2FkY2FzdEZvcm1hdCgpLCBzZXJpYWxpemVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXN0VW5zaWduZWRJbml0VHJhbnNhY3Rpb25Gcm9tU2VyaWFsaXplZChcbiAgdHhCdWlsZGVyOiBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIG5ld1R4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXN0RGF0YTogYW55XG4pIHtcbiAgaXQoJ2FuIHVuc2lnbmVkIGluaXQgdHJhbnNhY3Rpb24gZnJvbSBzZXJpYWxpemVkJywgYXN5bmMgKCkgPT4ge1xuICAgIGFkZE93bmVyKHR4QnVpbGRlciwgdGVzdERhdGEpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgbmV3VHhCdWlsZGVyLmZyb20oc2VyaWFsaXplZCk7XG4gICAgY29uc3QgbmV3VHggPSBhd2FpdCBuZXdUeEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBzaG91bGQuZXF1YWwobmV3VHgudG9Ccm9hZGNhc3RGb3JtYXQoKSwgc2VyaWFsaXplZCk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdEZpbmFsVkNoZWNrKHR4QnVpbGRlcjogVHJhbnNhY3Rpb25CdWlsZGVyLCB0ZXN0RGF0YTogYW55KSB7XG4gIGl0KCdhbiB1bnNpZ25lZCB0cmFuc2FjdGlvbiB3aXRoIGZpbmFsIHYgY2hlY2snLCBhc3luYyAoKSA9PiB7XG4gICAgYWRkT3duZXIodHhCdWlsZGVyLCB0ZXN0RGF0YSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBzaG91bGQuZXF1YWwodHgudG9Kc29uKCkudiwgdGVzdERhdGEuRklOQUxfVik7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFJlY292ZXJ5V2FsbGV0RGVwbG95bWVudCh0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlciwgdGVzdERhdGE6IGFueSkge1xuICBpdCgnd2FsbGV0IGRlcGxveW1lbnQgdHJhbnNhY3Rpb24gZm9yIHJlY292ZXJ5JywgYXN5bmMgKCkgPT4ge1xuICAgIHR4QnVpbGRlci50eXBlKFRyYW5zYWN0aW9uVHlwZS5SZWNvdmVyeVdhbGxldERlcGxveW1lbnQpO1xuICAgIHR4QnVpbGRlci5kYXRhKHRlc3REYXRhLlJFQ09WRVJZX1dBTExFVF9CWVRFX0NPREUpO1xuICAgIHR4QnVpbGRlci5mZWUoe1xuICAgICAgZWlwMTU1OToge1xuICAgICAgICBtYXhGZWVQZXJHYXM6ICcxMDAnLFxuICAgICAgICBtYXhQcmlvcml0eUZlZVBlckdhczogJzEwJyxcbiAgICAgIH0sXG4gICAgICBmZWU6ICcxMDAnLFxuICAgICAgZ2FzTGltaXQ6ICcxMDAwMCcsXG4gICAgfSk7XG4gICAgdHhCdWlsZGVyLmNvdW50ZXIoMSk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICBzaG91bGQuZXF1YWwodHhKc29uLl90eXBlLCAnRUlQMTU1OScpO1xuICAgIHNob3VsZC5lcXVhbCh0eEpzb24uZ2FzTGltaXQsICcxMDAwMCcpO1xuICAgIHNob3VsZC5leGlzdHModHgudG9Ccm9hZGNhc3RGb3JtYXQoKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdGVzdFJlY292ZXJ5VHJhbnNhY3Rpb25XaXRob3V0RGF0YSh0eEJ1aWxkZXI6IFRyYW5zYWN0aW9uQnVpbGRlcikge1xuICBpdCgnZmFpbCB3aGVuIGRhdGEgaXMgbm90IHBhc3NlZCByZWNvdmVyeScsIGFzeW5jICgpID0+IHtcbiAgICB0eEJ1aWxkZXIudHlwZShUcmFuc2FjdGlvblR5cGUuUmVjb3ZlcnlXYWxsZXREZXBsb3ltZW50KTtcbiAgICB0eEJ1aWxkZXIuZmVlKHtcbiAgICAgIGVpcDE1NTk6IHtcbiAgICAgICAgbWF4RmVlUGVyR2FzOiAnMTAwJyxcbiAgICAgICAgbWF4UHJpb3JpdHlGZWVQZXJHYXM6ICcxMCcsXG4gICAgICB9LFxuICAgICAgZmVlOiAnMTAwJyxcbiAgICAgIGdhc0xpbWl0OiAnMTAwMDAnLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5jb3VudGVyKDEpO1xuICAgIGF3YWl0IHR4QnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ0ludmFsaWQgdHJhbnNhY3Rpb246IG1pc3NpbmcgY29udHJhY3QgY2FsbCBkYXRhIGZpZWxkJyk7XG4gIH0pO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=transferBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/transferBuilder.ts"],"names":[],"mappings":""}
@@ -1,76 +0,0 @@
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 statics_1 = require("@bitgo/statics");
9
- const src_1 = require("../../src");
10
- describe('Eth send multi sig builder', function () {
11
- const toAddress = '0x7325A3F7d4f9E86AE62Cf742426078C3755730d5';
12
- const xprv = 'xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2';
13
- const key = new src_1.KeyPair({ prv: xprv }).getKeys().prv;
14
- const amount = '100000000000000000'; // equivalent to 0.1 ether
15
- const ethLikeCoins = ['hteth', 'tarbeth', 'topeth', 'zketh'];
16
- describe('should fail', () => {
17
- it('should fail if a coin does not exists in @bitgo/statics', () => {
18
- (0, should_1.default)(() => {
19
- new src_1.TransferBuilder().coin('inexistentcoin');
20
- }).throw();
21
- });
22
- ethLikeCoins.forEach((coin) => {
23
- it('should fail with an invalid key', () => {
24
- const staticsCoin = statics_1.coins.get(coin);
25
- const builder = new src_1.TransferBuilder()
26
- .coin(coin)
27
- .expirationTime(1590078260)
28
- .amount(amount)
29
- .to(toAddress)
30
- .contractSequenceId(2)
31
- .key('invalidkey');
32
- (0, should_1.default)(() => {
33
- builder.signAndBuild(`${staticsCoin.chainId}`);
34
- }).throw('private key length is invalid');
35
- });
36
- });
37
- it('should fail with an invalid sequence id', () => {
38
- (0, should_1.default)(() => {
39
- new src_1.TransferBuilder().contractSequenceId(-1);
40
- }).throw('Invalid contract sequence id');
41
- });
42
- it('should fail with an invalid destination address', () => {
43
- (0, should_1.default)(() => {
44
- new src_1.TransferBuilder().to('invalidaddress');
45
- }).throw('Invalid address');
46
- });
47
- it('should fail with an invalid amount: text value', () => {
48
- (0, should_1.default)(() => {
49
- new src_1.TransferBuilder().amount('invalidamount');
50
- }).throw('Invalid amount');
51
- });
52
- it('should fail with an invalid amount: negative value', () => {
53
- (0, should_1.default)(() => {
54
- new src_1.TransferBuilder().amount('-10');
55
- }).throw('Invalid amount');
56
- });
57
- it('should fail with an invalid expiration time', () => {
58
- (0, should_1.default)(() => {
59
- new src_1.TransferBuilder().expirationTime(-1);
60
- }).throw('Invalid expiration time');
61
- });
62
- it('should fail if a sequenceId param is missing', () => {
63
- const builder = new src_1.TransferBuilder().amount(amount).to(toAddress).key(key);
64
- assert_1.default.throws(() => builder.signAndBuild(''));
65
- });
66
- it('should fail if a destination param is missing', () => {
67
- const builder = new src_1.TransferBuilder().amount(amount).contractSequenceId(2).key(key);
68
- assert_1.default.throws(() => builder.signAndBuild(''));
69
- });
70
- it('should fail if a amount param is missing', () => {
71
- const builder = new src_1.TransferBuilder().to(toAddress).contractSequenceId(2).key(key);
72
- assert_1.default.throws(() => builder.signAndBuild(''));
73
- });
74
- });
75
- });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QixvREFBNEI7QUFDNUIsNENBQTBFO0FBQzFFLG1DQUFxRDtBQUVyRCxRQUFRLENBQUMsNEJBQTRCLEVBQUU7SUFDckMsTUFBTSxTQUFTLEdBQUcsNENBQTRDLENBQUM7SUFDL0QsTUFBTSxJQUFJLEdBQ1IsaUhBQWlILENBQUM7SUFDcEgsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFhLENBQUM7SUFDL0QsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsQ0FBQywwQkFBMEI7SUFDL0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU3RCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMseURBQXlELEVBQUUsR0FBRyxFQUFFO1lBQ2pFLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxxQkFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO2dCQUN6QyxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBOEIsQ0FBQztnQkFDakUsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBZSxFQUFFO3FCQUNsQyxJQUFJ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Q2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25GLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBjb2lucywgRXRoZXJldW1OZXR3b3JrIGFzIEV0aExpa2VOZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ0V0aCBzZW5kIG11bHRpIHNpZyBidWlsZGVyJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCB0b0FkZHJlc3MgPSAnMHg3MzI1QTNGN2Q0ZjlFODZBRTYyQ2Y3NDI0MjYwNzhDMzc1NTczMGQ1JztcbiAgY29uc3QgeHBydiA9XG4gICAgJ3hwcnY5czIxWnJRSDE0M0szRDhUWGZ2QUpnSFZmVEVlUU5XNVlzOXdadG5VWmtxUHpGelNqYkVKcldDMXZaNEduWEN2UjdyUUwyVUZYM1JTdVllVTlNckVSbTFYQnZBQ293N2MzNnZuejVpWXlqMic7XG4gIGNvbnN0IGtleSA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB4cHJ2IH0pLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nO1xuICBjb25zdCBhbW91bnQgPSAnMTAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZXF1aXZhbGVudCB0byAwLjEgZXRoZXJcbiAgY29uc3QgZXRoTGlrZUNvaW5zID0gWydodGV0aCcsICd0YXJiZXRoJywgJ3RvcGV0aCcsICd6a2V0aCddO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgZmFpbCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGZhaWwgaWYgYSBjb2luIGRvZXMgbm90IGV4aXN0cyBpbiBAYml0Z28vc3RhdGljcycsICgpID0+IHtcbiAgICAgIHNob3VsZCgoKSA9PiB7XG4gICAgICAgIG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS5jb2luKCdpbmV4aXN0ZW50Y29pbicpO1xuICAgICAgfSkudGhyb3coKTtcbiAgICB9KTtcblxuICAgIGV0aExpa2VDb2lucy5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2l0aCBhbiBpbnZhbGlkIGtleScsICgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdGljc0NvaW4gPSBjb2lucy5nZXQoY29pbikgYXMgdW5rbm93biBhcyBFdGhMaWtlTmV0d29yaztcbiAgICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoKVxuICAgICAgICAgIC5jb2luKGNvaW4pXG4gICAgICAgICAgLmV4cGlyYXRpb25UaW1lKDE1OTAwNzgyNjApXG4gICAgICAgICAgLmFtb3VudChhbW91bnQpXG4gICAgICAgICAgLnRvKHRvQWRkcmVzcylcbiAgICAgICAgICAuY29udHJhY3RTZXF1ZW5jZUlkKDIpXG4gICAgICAgICAgLmtleSgnaW52YWxpZGtleScpO1xuICAgICAgICBzaG91bGQoKCkgPT4ge1xuICAgICAgICAgIGJ1aWxkZXIuc2lnbkFuZEJ1aWxkKGAke3N0YXRpY3NDb2luLmNoYWluSWR9YCk7XG4gICAgICAgIH0pLnRocm93KCdwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgd2l0aCBhbiBpbnZhbGlkIHNlcXVlbmNlIGlkJywgKCkgPT4ge1xuICAgICAgc2hvdWxkKCgpID0+IHtcbiAgICAgICAgbmV3IFRyYW5zZmVyQnVpbGRlcigpLmNvbnRyYWN0U2VxdWVuY2VJZCgtMSk7XG4gICAgICB9KS50aHJvdygnSW52YWxpZCBjb250cmFjdCBzZXF1ZW5jZSBpZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdpdGggYW4gaW52YWxpZCBkZXN0aW5hdGlvbiBhZGRyZXNzJywgKCkgPT4ge1xuICAgICAgc2hvdWxkKCgpID0+IHtcbiAgICAgICAgbmV3IFRyYW5zZmVyQnVpbGRlcigpLnRvKCdpbnZhbGlkYWRkcmVzcycpO1xuICAgICAgfSkudGhyb3coJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdpdGggYW4gaW52YWxpZCBhbW91bnQ6IHRleHQgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBzaG91bGQoKCkgPT4ge1xuICAgICAgICBuZXcgVHJhbnNmZXJCdWlsZGVyKCkuYW1vdW50KCdpbnZhbGlkYW1vdW50Jyk7XG4gICAgICB9KS50aHJvdygnSW52YWxpZCBhbW91bnQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB3aXRoIGFuIGludmFsaWQgYW1vdW50OiBuZWdhdGl2ZSB2YWx1ZScsICgpID0+IHtcbiAgICAgIHNob3VsZCgoKSA9PiB7XG4gICAgICAgIG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS5hbW91bnQoJy0xMCcpO1xuICAgICAgfSkudGhyb3coJ0ludmFsaWQgYW1vdW50Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgd2l0aCBhbiBpbnZhbGlkIGV4cGlyYXRpb24gdGltZScsICgpID0+IHtcbiAgICAgIHNob3VsZCgoKSA9PiB7XG4gICAgICAgIG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS5leHBpcmF0aW9uVGltZSgtMSk7XG4gICAgICB9KS50aHJvdygnSW52YWxpZCBleHBpcmF0aW9uIHRpbWUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBhIHNlcXVlbmNlSWQgcGFyYW0gaXMgbWlzc2luZycsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKCkuYW1vdW50KGFtb3VudCkudG8odG9BZGRyZXNzKS5rZXkoa2V5KTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYnVpbGRlci5zaWduQW5kQnVpbGQoJycpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBhIGRlc3RpbmF0aW9uIHBhcmFtIGlzIG1pc3NpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IFRyYW5zZmVyQnVpbGRlcigpLmFtb3VudChhbW91bnQpLmNvbnRyYWN0U2VxdWVuY2VJZCgyKS5rZXkoa2V5KTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYnVpbGRlci5zaWduQW5kQnVpbGQoJycpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBhIGFtb3VudCBwYXJhbSBpcyBtaXNzaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS50byh0b0FkZHJlc3MpLmNvbnRyYWN0U2VxdWVuY2VJZCgyKS5rZXkoa2V5KTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYnVpbGRlci5zaWduQW5kQnVpbGQoJycpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==