@bitgo-beta/sdk-coin-trx 1.2.3-alpha.43 → 1.2.3-alpha.430
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/resources/protobuf/Contract.proto +32 -0
- package/dist/resources/protobuf/tron.d.ts +1478 -214
- package/dist/resources/protobuf/tron.js +6312 -2600
- package/dist/resources/protobuf/tron.proto +6 -0
- package/dist/src/index.js +6 -2
- package/dist/src/lib/constants.d.ts +3 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +6 -0
- package/dist/src/lib/contractCallBuilder.d.ts +1 -35
- package/dist/src/lib/contractCallBuilder.d.ts.map +1 -1
- package/dist/src/lib/contractCallBuilder.js +12 -75
- package/dist/src/lib/delegateResourceTxBuilder.d.ts +27 -0
- package/dist/src/lib/delegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegateResourceTxBuilder.js +98 -0
- package/dist/src/lib/enum.d.ts +36 -1
- package/dist/src/lib/enum.d.ts.map +1 -1
- package/dist/src/lib/enum.js +40 -4
- package/dist/src/lib/freezeBalanceTxBuilder.d.ts +71 -0
- package/dist/src/lib/freezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/freezeBalanceTxBuilder.js +211 -0
- package/dist/src/lib/iface.d.ts +220 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.js +23 -9
- package/dist/src/lib/keyPair.d.ts +0 -1
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +31 -18
- package/dist/src/lib/resourceManagementTxBuilder.d.ts +72 -0
- package/dist/src/lib/resourceManagementTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/resourceManagementTxBuilder.js +150 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
- package/dist/src/lib/tokenTransferBuilder.js +3 -3
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +92 -6
- package/dist/src/lib/transactionBuilder.d.ts +50 -5
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +110 -21
- package/dist/src/lib/undelegateResourceTxBuilder.d.ts +27 -0
- package/dist/src/lib/undelegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/undelegateResourceTxBuilder.js +98 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts +65 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.js +204 -0
- package/dist/src/lib/utils.d.ts +85 -4
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +445 -47
- package/dist/src/lib/voteWitnessTxBuilder.d.ts +62 -0
- package/dist/src/lib/voteWitnessTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/voteWitnessTxBuilder.js +219 -0
- package/dist/src/lib/withdrawBuilder.d.ts +49 -0
- package/dist/src/lib/withdrawBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawBuilder.js +167 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts +49 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.js +167 -0
- package/dist/src/lib/wrappedBuilder.d.ts +56 -0
- package/dist/src/lib/wrappedBuilder.d.ts.map +1 -1
- package/dist/src/lib/wrappedBuilder.js +86 -2
- package/dist/src/trx.d.ts +78 -4
- package/dist/src/trx.d.ts.map +1 -1
- package/dist/src/trx.js +436 -147
- package/dist/src/trxToken.d.ts +2 -2
- package/dist/src/trxToken.d.ts.map +1 -1
- package/dist/src/trxToken.js +5 -5
- package/dist/test/fixtures.d.ts +40 -0
- package/dist/test/fixtures.d.ts.map +1 -0
- package/dist/test/fixtures.js +46 -0
- package/dist/test/resources.d.ts +586 -0
- package/dist/test/resources.d.ts.map +1 -0
- package/dist/test/resources.js +746 -0
- package/dist/test/unit/index.d.ts +2 -0
- package/dist/test/unit/index.d.ts.map +1 -0
- package/dist/test/unit/index.js +19 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +163 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +38 -0
- package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/contractCallBuilder.js +315 -0
- package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.js +255 -0
- package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.js +285 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +42 -0
- package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.js +255 -0
- package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.js +256 -0
- package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.js +277 -0
- package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.js +213 -0
- package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.js +213 -0
- package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/wrappedBuilder.js +50 -0
- package/dist/test/unit/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder.js +178 -0
- package/dist/test/unit/trx.d.ts +2 -0
- package/dist/test/unit/trx.d.ts.map +1 -0
- package/dist/test/unit/trx.js +639 -0
- package/dist/test/unit/util.d.ts +2 -0
- package/dist/test/unit/util.d.ts.map +1 -0
- package/dist/test/unit/util.js +141 -0
- package/dist/test/unit/verifyTransaction.d.ts +2 -0
- package/dist/test/unit/verifyTransaction.d.ts.map +1 -0
- package/dist/test/unit/verifyTransaction.js +378 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +20 -15
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -118
- package/resources/README.md +0 -31
- package/resources/protobuf/Contract.proto +0 -256
- package/resources/protobuf/Discover.proto +0 -44
- package/resources/protobuf/tron.d.ts +0 -11205
- package/resources/protobuf/tron.js +0 -33480
- package/resources/protobuf/tron.proto +0 -677
|
@@ -0,0 +1,213 @@
|
|
|
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 sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
+
const node_test_1 = require("node:test");
|
|
9
|
+
const resources_1 = require("../../resources");
|
|
10
|
+
const builder_1 = require("../../../src/lib/builder");
|
|
11
|
+
(0, node_test_1.describe)('Tron WithdrawExpireUnfreeze builder', function () {
|
|
12
|
+
const initTxBuilder = () => {
|
|
13
|
+
const builder = (0, builder_1.getBuilder)('ttrx').getWithdrawExpireUnfreezeTxBuilder();
|
|
14
|
+
builder.source({ address: resources_1.PARTICIPANTS.custodian.address }).block({ number: resources_1.BLOCK_NUMBER, hash: resources_1.BLOCK_HASH });
|
|
15
|
+
return builder;
|
|
16
|
+
};
|
|
17
|
+
(0, node_test_1.describe)('should build successfully', () => {
|
|
18
|
+
(0, node_test_1.it)('a transaction with correct inputs', async () => {
|
|
19
|
+
const timestamp = Date.now();
|
|
20
|
+
const txBuilder = initTxBuilder();
|
|
21
|
+
txBuilder.timestamp(timestamp);
|
|
22
|
+
txBuilder.expiration(timestamp + 40000);
|
|
23
|
+
const tx = (await txBuilder.build());
|
|
24
|
+
const txJson = tx.toJson();
|
|
25
|
+
assert_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingWithdraw);
|
|
26
|
+
assert_1.default.equal(tx.inputs.length, 1);
|
|
27
|
+
assert_1.default.equal(tx.inputs[0].address, resources_1.PARTICIPANTS.custodian.address);
|
|
28
|
+
assert_1.default.equal(tx.inputs[0].value, '0');
|
|
29
|
+
assert_1.default.equal(tx.outputs[0].value, '0');
|
|
30
|
+
assert_1.default.equal(tx.outputs[0].address, resources_1.PARTICIPANTS.custodian.address);
|
|
31
|
+
assert_1.default.deepStrictEqual(txJson.raw_data.contract, resources_1.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT);
|
|
32
|
+
});
|
|
33
|
+
(0, node_test_1.it)('an unsigned transaction from a string and from a JSON', async () => {
|
|
34
|
+
const timestamp = Date.now();
|
|
35
|
+
const txBuilder = initTxBuilder();
|
|
36
|
+
txBuilder.timestamp(timestamp);
|
|
37
|
+
txBuilder.expiration(timestamp + 40000);
|
|
38
|
+
const tx = await txBuilder.build();
|
|
39
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toBroadcastFormat());
|
|
40
|
+
txBuilder2.sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
41
|
+
const tx2 = await txBuilder2.build();
|
|
42
|
+
const txBuilder3 = (0, builder_1.getBuilder)('ttrx').from(tx.toJson());
|
|
43
|
+
txBuilder3.sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
44
|
+
const tx3 = await txBuilder3.build();
|
|
45
|
+
assert_1.default.deepStrictEqual(tx2, tx3);
|
|
46
|
+
});
|
|
47
|
+
(0, node_test_1.it)('an unsigned transaction with extended duration', async () => {
|
|
48
|
+
const timestamp = Date.now();
|
|
49
|
+
const expiration = timestamp + resources_1.EXPIRATION;
|
|
50
|
+
const extension = 60000;
|
|
51
|
+
const txBuilder = initTxBuilder();
|
|
52
|
+
txBuilder.timestamp(timestamp);
|
|
53
|
+
txBuilder.expiration(expiration);
|
|
54
|
+
const tx = await txBuilder.build();
|
|
55
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toBroadcastFormat());
|
|
56
|
+
txBuilder2.extendValidTo(extension);
|
|
57
|
+
txBuilder2.sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
58
|
+
const tx2 = await txBuilder2.build();
|
|
59
|
+
assert_1.default.equal(tx2.inputs.length, 1);
|
|
60
|
+
assert_1.default.equal(tx2.inputs[0].address, resources_1.PARTICIPANTS.custodian.address);
|
|
61
|
+
assert_1.default.equal(tx2.inputs[0].value, '0');
|
|
62
|
+
assert_1.default.equal(tx2.outputs[0].value, '0');
|
|
63
|
+
assert_1.default.equal(tx2.outputs[0].address, resources_1.PARTICIPANTS.custodian.address);
|
|
64
|
+
const txJson = tx2.toJson();
|
|
65
|
+
assert_1.default.equal(txJson.raw_data.expiration, expiration + extension);
|
|
66
|
+
});
|
|
67
|
+
(0, node_test_1.it)('a transaction signed multiple times', async () => {
|
|
68
|
+
const timestamp = Date.now();
|
|
69
|
+
const txBuilder = initTxBuilder();
|
|
70
|
+
txBuilder.timestamp(timestamp);
|
|
71
|
+
txBuilder.expiration(timestamp + resources_1.EXPIRATION);
|
|
72
|
+
const tx = await txBuilder.build();
|
|
73
|
+
let txJson = tx.toJson();
|
|
74
|
+
let rawData = txJson.raw_data;
|
|
75
|
+
assert_1.default.deepStrictEqual(rawData.contract, resources_1.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT);
|
|
76
|
+
assert_1.default.equal(txJson.signature.length, 0);
|
|
77
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toJson());
|
|
78
|
+
txBuilder2.sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
79
|
+
const tx2 = await txBuilder2.build();
|
|
80
|
+
txJson = tx2.toJson();
|
|
81
|
+
rawData = txJson.raw_data;
|
|
82
|
+
assert_1.default.deepStrictEqual(rawData.contract, resources_1.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT);
|
|
83
|
+
assert_1.default.equal(txJson.signature.length, 1);
|
|
84
|
+
const txBuilder3 = (0, builder_1.getBuilder)('ttrx').from(tx2.toJson());
|
|
85
|
+
txBuilder3.sign({ key: resources_1.PARTICIPANTS.from.pk });
|
|
86
|
+
const tx3 = await txBuilder3.build();
|
|
87
|
+
txJson = tx3.toJson();
|
|
88
|
+
rawData = txJson.raw_data;
|
|
89
|
+
assert_1.default.deepStrictEqual(rawData.contract, resources_1.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT);
|
|
90
|
+
assert_1.default.equal(txJson.signature.length, 2);
|
|
91
|
+
const txBuilder4 = (0, builder_1.getBuilder)('ttrx').from(tx3.toJson());
|
|
92
|
+
txBuilder4.sign({ key: resources_1.PARTICIPANTS.multisig.pk });
|
|
93
|
+
const tx4 = await txBuilder4.build();
|
|
94
|
+
assert_1.default.equal(tx4.inputs.length, 1);
|
|
95
|
+
assert_1.default.equal(tx4.inputs[0].address, resources_1.PARTICIPANTS.custodian.address);
|
|
96
|
+
assert_1.default.equal(tx4.inputs[0].value, '0');
|
|
97
|
+
assert_1.default.equal(tx4.outputs[0].value, '0');
|
|
98
|
+
assert_1.default.equal(tx4.outputs[0].address, resources_1.PARTICIPANTS.custodian.address);
|
|
99
|
+
txJson = tx4.toJson();
|
|
100
|
+
rawData = txJson.raw_data;
|
|
101
|
+
assert_1.default.deepStrictEqual(rawData.contract, resources_1.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT);
|
|
102
|
+
assert_1.default.equal(txJson.signature.length, 3);
|
|
103
|
+
assert_1.default.equal(rawData.expiration, timestamp + resources_1.EXPIRATION);
|
|
104
|
+
assert_1.default.equal(rawData.timestamp, timestamp);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
(0, node_test_1.describe)('should validate', () => {
|
|
108
|
+
(0, node_test_1.it)('a valid expiration', async () => {
|
|
109
|
+
const now = Date.now();
|
|
110
|
+
const expiration = now + resources_1.EXPIRATION;
|
|
111
|
+
const txBuilder = initTxBuilder();
|
|
112
|
+
txBuilder.timestamp(now);
|
|
113
|
+
txBuilder.expiration(expiration + 1000);
|
|
114
|
+
txBuilder.expiration(expiration);
|
|
115
|
+
const tx = await txBuilder.build();
|
|
116
|
+
const txJson = tx.toJson();
|
|
117
|
+
assert_1.default.equal(txJson.raw_data.expiration, expiration);
|
|
118
|
+
});
|
|
119
|
+
(0, node_test_1.it)('an expiration greater than one year', async () => {
|
|
120
|
+
const now = Date.now();
|
|
121
|
+
const txBuilder = initTxBuilder();
|
|
122
|
+
txBuilder.timestamp(now);
|
|
123
|
+
assert_1.default.throws(() => {
|
|
124
|
+
txBuilder.expiration(now + 31536000001);
|
|
125
|
+
}, (e) => e.message === 'Expiration must not be greater than one day');
|
|
126
|
+
});
|
|
127
|
+
(0, node_test_1.it)('an expiration less than the current date', async () => {
|
|
128
|
+
const now = Date.now();
|
|
129
|
+
const txBuilder = initTxBuilder();
|
|
130
|
+
txBuilder.timestamp(now - 2000);
|
|
131
|
+
assert_1.default.throws(() => {
|
|
132
|
+
txBuilder.expiration(now - 1000);
|
|
133
|
+
}, (e) => e.message === 'Expiration must be greater than current time');
|
|
134
|
+
});
|
|
135
|
+
(0, node_test_1.it)('an expiration less than the timestamp', async () => {
|
|
136
|
+
const now = Date.now();
|
|
137
|
+
const txBuilder = initTxBuilder();
|
|
138
|
+
txBuilder.timestamp(now + 2000);
|
|
139
|
+
assert_1.default.throws(() => {
|
|
140
|
+
txBuilder.expiration(now + 1000);
|
|
141
|
+
}, (e) => e.message === 'Expiration must be greater than timestamp');
|
|
142
|
+
});
|
|
143
|
+
(0, node_test_1.it)('an expiration set after build', async () => {
|
|
144
|
+
const now = Date.now();
|
|
145
|
+
const expiration = now + resources_1.EXPIRATION;
|
|
146
|
+
const txBuilder = initTxBuilder();
|
|
147
|
+
await txBuilder.build();
|
|
148
|
+
assert_1.default.throws(() => {
|
|
149
|
+
txBuilder.expiration(expiration);
|
|
150
|
+
}, (e) => e.message === 'Expiration is already set, it can only be extended');
|
|
151
|
+
});
|
|
152
|
+
(0, node_test_1.it)('an expiration set after deserializing', async () => {
|
|
153
|
+
const now = Date.now();
|
|
154
|
+
const expiration = now + resources_1.EXPIRATION;
|
|
155
|
+
const txBuilder = initTxBuilder();
|
|
156
|
+
const tx = await txBuilder.build();
|
|
157
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toBroadcastFormat());
|
|
158
|
+
assert_1.default.throws(() => {
|
|
159
|
+
txBuilder2.expiration(expiration);
|
|
160
|
+
}, (e) => e.message === 'Expiration is already set, it can only be extended');
|
|
161
|
+
});
|
|
162
|
+
(0, node_test_1.it)('an extension without a set expiration', async () => {
|
|
163
|
+
const txBuilder = initTxBuilder();
|
|
164
|
+
assert_1.default.throws(() => {
|
|
165
|
+
txBuilder.extendValidTo(20000);
|
|
166
|
+
}, (e) => e.message === 'There is not expiration to extend');
|
|
167
|
+
});
|
|
168
|
+
(0, node_test_1.it)('a zero millisecond extension', async () => {
|
|
169
|
+
const txBuilder = initTxBuilder();
|
|
170
|
+
const expiration = Date.now() + resources_1.EXPIRATION;
|
|
171
|
+
txBuilder.expiration(expiration);
|
|
172
|
+
const tx = await txBuilder.build();
|
|
173
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toBroadcastFormat());
|
|
174
|
+
assert_1.default.throws(() => {
|
|
175
|
+
txBuilder2.extendValidTo(0);
|
|
176
|
+
}, (e) => e.message === 'Value cannot be below zero');
|
|
177
|
+
});
|
|
178
|
+
(0, node_test_1.it)('an extension grater than one year', async () => {
|
|
179
|
+
const txBuilder = initTxBuilder();
|
|
180
|
+
const expiration = Date.now() + resources_1.EXPIRATION;
|
|
181
|
+
txBuilder.expiration(expiration);
|
|
182
|
+
const tx = await txBuilder.build();
|
|
183
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toBroadcastFormat());
|
|
184
|
+
assert_1.default.throws(() => {
|
|
185
|
+
txBuilder2.extendValidTo(31536000001);
|
|
186
|
+
}, (e) => e.message === 'The expiration cannot be extended more than one year');
|
|
187
|
+
});
|
|
188
|
+
(0, node_test_1.it)('an extension after signing', async () => {
|
|
189
|
+
const txBuilder = initTxBuilder();
|
|
190
|
+
txBuilder.sign({ key: resources_1.PARTICIPANTS.custodian.pk });
|
|
191
|
+
const tx = await txBuilder.build();
|
|
192
|
+
const txBuilder2 = (0, builder_1.getBuilder)('ttrx').from(tx.toBroadcastFormat());
|
|
193
|
+
assert_1.default.throws(() => {
|
|
194
|
+
txBuilder2.extendValidTo(20000);
|
|
195
|
+
}, (e) => e.message === 'Cannot extend a signed transaction');
|
|
196
|
+
});
|
|
197
|
+
(0, node_test_1.it)('transaction mandatory fields', async () => {
|
|
198
|
+
const txBuilder = (0, builder_1.getBuilder)('ttrx').getWithdrawExpireUnfreezeTxBuilder();
|
|
199
|
+
await assert_1.default.rejects(txBuilder.build(), {
|
|
200
|
+
message: 'Missing parameter: source',
|
|
201
|
+
});
|
|
202
|
+
txBuilder.source({ address: resources_1.PARTICIPANTS.custodian.address });
|
|
203
|
+
await assert_1.default.rejects(txBuilder.build(), {
|
|
204
|
+
message: 'Missing block reference information',
|
|
205
|
+
});
|
|
206
|
+
txBuilder.block({ number: resources_1.BLOCK_NUMBER, hash: resources_1.BLOCK_HASH });
|
|
207
|
+
assert_1.default.doesNotReject(() => {
|
|
208
|
+
return txBuilder.build();
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvd2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QixtREFBdUQ7QUFDdkQseUNBQXlDO0FBQ3pDLCtDQUF3SDtBQUN4SCxzREFBc0Q7QUFHdEQsSUFBQSxvQkFBUSxFQUFDLHFDQUFxQyxFQUFFO0lBQzlDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtRQUN6QixNQUFNLE9BQU8sR0FBSSxJQUFBLG9CQUFVLEVBQUMsTUFBTSxDQUFvQixDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSx3QkFBWSxFQUFFLElBQUksRUFBRSxzQkFBVSxFQUFFLENBQUMsQ0FBQztRQUU5RyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRixJQUFBLG9CQUFRLEVBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLElBQUEsY0FBRSxFQUFDLG1DQUFtQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM3QixNQUFNLFNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztZQUNsQyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQWdCLENB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QUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFekMsTUFBTSxVQUFVLEdBQUcsSUFBQSxvQkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN6RCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLHdCQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUMxQixnQkFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLDZDQUFpQyxDQUFDLENBQUM7WUFDNUUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFekMsTUFBTSxVQUFVLEdBQUcsSUFBQSxvQkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN6RCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLHdCQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsd0JBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxD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QUcsRUFBRTtnQkFDeEIsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBkZXNjcmliZSwgaXQgfSBmcm9tICdub2RlOnRlc3QnO1xuaW1wb3J0IHsgUEFSVElDSVBBTlRTLCBCTE9DS19IQVNILCBCTE9DS19OVU1CRVIsIEVYUElSQVRJT04sIFdJVEhEUkFXX0VYUElSRV9VTkZSRUVaRV9DT05UUkFDVCB9IGZyb20gJy4uLy4uL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi9idWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBXcmFwcGVkQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdUcm9uIFdpdGhkcmF3RXhwaXJlVW5mcmVlemUgYnVpbGRlcicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgaW5pdFR4QnVpbGRlciA9ICgpID0+IHtcbiAgICBjb25zdCBidWlsZGVyID0gKGdldEJ1aWxkZXIoJ3R0cngnKSBhcyBXcmFwcGVkQnVpbGRlcikuZ2V0V2l0aGRyYXdFeHBpcmVVbmZyZWV6ZVR4QnVpbGRlcigpO1xuICAgIGJ1aWxkZXIuc291cmNlKHsgYWRkcmVzczogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5hZGRyZXNzIH0pLmJsb2NrKHsgbnVtYmVyOiBCTE9DS19OVU1CRVIsIGhhc2g6IEJMT0NLX0hBU0ggfSk7XG5cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfTtcblxuICBkZXNjcmliZSgnc2hvdWxkIGJ1aWxkIHN1Y2Nlc3NmdWxseScsICgpID0+IHtcbiAgICBpdCgnYSB0cmFuc2FjdGlvbiB3aXRoIGNvcnJlY3QgaW5wdXRzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGluaXRUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci50aW1lc3RhbXAodGltZXN0YW1wKTtcbiAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKHRpbWVzdGFtcCArIDQwMDAwKTtcbiAgICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS5hZGRyZXNzLCBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLmFkZHJlc3MpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS52YWx1ZSwgJzAnKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eC5vdXRwdXRzWzBdLnZhbHVlLCAnMCcpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4Lm91dHB1dHNbMF0uYWRkcmVzcywgUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5hZGRyZXNzKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwodHhKc29uLnJhd19kYXRhLmNvbnRyYWN0LCBXSVRIRFJBV19FWFBJUkVfVU5GUkVFWkVfQ09OVFJBQ1QpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZyb20gYSBzdHJpbmcgYW5kIGZyb20gYSBKU09OJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGluaXRUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci50aW1lc3RhbXAodGltZXN0YW1wKTtcbiAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKHRpbWVzdGFtcCArIDQwMDAwKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIGNvbnN0IHR4QnVpbGRlcjIgPSBnZXRCdWlsZGVyKCd0dHJ4JykuZnJvbSh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpKTtcbiAgICAgIHR4QnVpbGRlcjIuc2lnbih7IGtleTogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5wayB9KTtcbiAgICAgIGNvbnN0IHR4MiA9IGF3YWl0IHR4QnVpbGRlcjIuYnVpbGQoKTtcblxuICAgICAgY29uc3QgdHhCdWlsZGVyMyA9IGdldEJ1aWxkZXIoJ3R0cngnKS5mcm9tKHR4LnRvSnNvbigpKTtcbiAgICAgIHR4QnVpbGRlcjMuc2lnbih7IGtleTogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5wayB9KTtcbiAgICAgIGNvbnN0IHR4MyA9IGF3YWl0IHR4QnVpbGRlcjMuYnVpbGQoKTtcblxuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh0eDIsIHR4Myk7XG4gICAgfSk7XG5cbiAgICBpdCgnYW4gdW5zaWduZWQgdHJhbnNhY3Rpb24gd2l0aCBleHRlbmRlZCBkdXJhdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICBjb25zdCBleHBpcmF0aW9uID0gdGltZXN0YW1wICsgRVhQSVJBVElPTjtcbiAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IDYwMDAwO1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gaW5pdFR4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnRpbWVzdGFtcCh0aW1lc3RhbXApO1xuICAgICAgdHhCdWlsZGVyLmV4cGlyYXRpb24oZXhwaXJhdGlvbik7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBjb25zdCB0eEJ1aWxkZXIyID0gZ2V0QnVpbGRlcigndHRyeCcpLmZyb20odHgudG9Ccm9hZGNhc3RGb3JtYXQoKSk7XG4gICAgICB0eEJ1aWxkZXIyLmV4dGVuZFZhbGlkVG8oZXh0ZW5zaW9uKTtcbiAgICAgIHR4QnVpbGRlcjIuc2lnbih7IGtleTogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5wayB9KTtcbiAgICAgIGNvbnN0IHR4MiA9IGF3YWl0IHR4QnVpbGRlcjIuYnVpbGQoKTtcblxuICAgICAgYXNzZXJ0LmVxdWFsKHR4Mi5pbnB1dHMubGVuZ3RoLCAxKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eDIuaW5wdXRzWzBdLmFkZHJlc3MsIFBBUlRJQ0lQQU5UUy5jdXN0b2RpYW4uYWRkcmVzcyk7XG4gICAgICBhc3NlcnQuZXF1YWwodHgyLmlucHV0c1swXS52YWx1ZSwgJzAnKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eDIub3V0cHV0c1swXS52YWx1ZSwgJzAnKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eDIub3V0cHV0c1swXS5hZGRyZXNzLCBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLmFkZHJlc3MpO1xuICAgICAgY29uc3QgdHhKc29uID0gdHgyLnRvSnNvbigpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4SnNvbi5yYXdfZGF0YS5leHBpcmF0aW9uLCBleHBpcmF0aW9uICsgZXh0ZW5zaW9uKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHRyYW5zYWN0aW9uIHNpZ25lZCBtdWx0aXBsZSB0aW1lcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIudGltZXN0YW1wKHRpbWVzdGFtcCk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbih0aW1lc3RhbXAgKyBFWFBJUkFUSU9OKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBsZXQgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICBsZXQgcmF3RGF0YSA9IHR4SnNvbi5yYXdfZGF0YTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmF3RGF0YS5jb250cmFjdCwgV0lUSERSQVdfRVhQSVJFX1VORlJFRVpFX0NPTlRSQUNUKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eEpzb24uc2lnbmF0dXJlLmxlbmd0aCwgMCk7XG5cbiAgICAgIGNvbnN0IHR4QnVpbGRlcjIgPSBnZXRCdWlsZGVyKCd0dHJ4JykuZnJvbSh0eC50b0pzb24oKSk7XG4gICAgICB0eEJ1aWxkZXIyLnNpZ24oeyBrZXk6IFBBUlRJQ0lQQU5UUy5jdXN0b2RpYW4ucGsgfSk7XG4gICAgICBjb25zdCB0eDIgPSBhd2FpdCB0eEJ1aWxkZXIyLmJ1aWxkKCk7XG4gICAgICB0eEpzb24gPSB0eDIudG9Kc29uKCk7XG4gICAgICByYXdEYXRhID0gdHhKc29uLnJhd19kYXRhO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyYXdEYXRhLmNvbnRyYWN0LCBXSVRIRFJBV19FWFBJUkVfVU5GUkVFWkVfQ09OVFJBQ1QpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4SnNvbi5zaWduYXR1cmUubGVuZ3RoLCAxKTtcblxuICAgICAgY29uc3QgdHhCdWlsZGVyMyA9IGdldEJ1aWxkZXIoJ3R0cngnKS5mcm9tKHR4Mi50b0pzb24oKSk7XG4gICAgICB0eEJ1aWxkZXIzLnNpZ24oeyBrZXk6IFBBUlRJQ0lQQU5UUy5mcm9tLnBrIH0pO1xuICAgICAgY29uc3QgdHgzID0gYXdhaXQgdHhCdWlsZGVyMy5idWlsZCgpO1xuICAgICAgdHhKc29uID0gdHgzLnRvSnNvbigpO1xuICAgICAgcmF3RGF0YSA9IHR4SnNvbi5yYXdfZGF0YTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmF3RGF0YS5jb250cmFjdCwgV0lUSERSQVdfRVhQSVJFX1VORlJFRVpFX0NPTlRSQUNUKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eEpzb24uc2lnbmF0dXJlLmxlbmd0aCwgMik7XG5cbiAgICAgIGNvbnN0IHR4QnVpbGRlcjQgPSBnZXRCdWlsZGVyKCd0dHJ4JykuZnJvbSh0eDMudG9Kc29uKCkpO1xuICAgICAgdHhCdWlsZGVyNC5zaWduKHsga2V5OiBQQVJUSUNJUEFOVFMubXVsdGlzaWcucGsgfSk7XG4gICAgICBjb25zdCB0eDQgPSBhd2FpdCB0eEJ1aWxkZXI0LmJ1aWxkKCk7XG4gICAgICBhc3NlcnQuZXF1YWwodHg0LmlucHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4NC5pbnB1dHNbMF0uYWRkcmVzcywgUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5hZGRyZXNzKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eDQuaW5wdXRzWzBdLnZhbHVlLCAnMCcpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4NC5vdXRwdXRzWzBdLnZhbHVlLCAnMCcpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4NC5vdXRwdXRzWzBdLmFkZHJlc3MsIFBBUlRJQ0lQQU5UUy5jdXN0b2RpYW4uYWRkcmVzcyk7XG4gICAgICB0eEpzb24gPSB0eDQudG9Kc29uKCk7XG4gICAgICByYXdEYXRhID0gdHhKc29uLnJhd19kYXRhO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChyYXdEYXRhLmNvbnRyYWN0LCBXSVRIRFJBV19FWFBJUkVfVU5GUkVFWkVfQ09OVFJBQ1QpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4SnNvbi5zaWduYXR1cmUubGVuZ3RoLCAzKTtcbiAgICAgIGFzc2VydC5lcXVhbChyYXdEYXRhLmV4cGlyYXRpb24sIHRpbWVzdGFtcCArIEVYUElSQVRJT04pO1xuICAgICAgYXNzZXJ0LmVxdWFsKHJhd0RhdGEudGltZXN0YW1wLCB0aW1lc3RhbXApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2hvdWxkIHZhbGlkYXRlJywgKCkgPT4ge1xuICAgIGl0KCdhIHZhbGlkIGV4cGlyYXRpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgY29uc3QgZXhwaXJhdGlvbiA9IG5vdyArIEVYUElSQVRJT047XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIudGltZXN0YW1wKG5vdyk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbihleHBpcmF0aW9uICsgMTAwMCk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbihleHBpcmF0aW9uKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eEpzb24ucmF3X2RhdGEuZXhwaXJhdGlvbiwgZXhwaXJhdGlvbik7XG4gICAgfSk7XG5cbiAgICBpdCgnYW4gZXhwaXJhdGlvbiBncmVhdGVyIHRoYW4gb25lIHllYXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gaW5pdFR4QnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnRpbWVzdGFtcChub3cpO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKG5vdyArIDMxNTM2MDAwMDAxKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnRXhwaXJhdGlvbiBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gb25lIGRheSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnYW4gZXhwaXJhdGlvbiBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgZGF0ZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIudGltZXN0YW1wKG5vdyAtIDIwMDApO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKG5vdyAtIDEwMDApO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdFeHBpcmF0aW9uIG11c3QgYmUgZ3JlYXRlciB0aGFuIGN1cnJlbnQgdGltZSdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnYW4gZXhwaXJhdGlvbiBsZXNzIHRoYW4gdGhlIHRpbWVzdGFtcCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIudGltZXN0YW1wKG5vdyArIDIwMDApO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlci5leHBpcmF0aW9uKG5vdyArIDEwMDApO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdFeHBpcmF0aW9uIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRpbWVzdGFtcCdcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnYW4gZXhwaXJhdGlvbiBzZXQgYWZ0ZXIgYnVpbGQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgY29uc3QgZXhwaXJhdGlvbiA9IG5vdyArIEVYUElSQVRJT047XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbihleHBpcmF0aW9uKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnRXhwaXJhdGlvbiBpcyBhbHJlYWR5IHNldCwgaXQgY2FuIG9ubHkgYmUgZXh0ZW5kZWQnXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FuIGV4cGlyYXRpb24gc2V0IGFmdGVyIGRlc2VyaWFsaXppbmcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgY29uc3QgZXhwaXJhdGlvbiA9IG5vdyArIEVYUElSQVRJT047XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgdHhCdWlsZGVyMiA9IGdldEJ1aWxkZXIoJ3R0cngnKS5mcm9tKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkpO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlcjIuZXhwaXJhdGlvbihleHBpcmF0aW9uKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnRXhwaXJhdGlvbiBpcyBhbHJlYWR5IHNldCwgaXQgY2FuIG9ubHkgYmUgZXh0ZW5kZWQnXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2FuIGV4dGVuc2lvbiB3aXRob3V0IGEgc2V0IGV4cGlyYXRpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHhCdWlsZGVyLmV4dGVuZFZhbGlkVG8oMjAwMDApO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdUaGVyZSBpcyBub3QgZXhwaXJhdGlvbiB0byBleHRlbmQnXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgemVybyBtaWxsaXNlY29uZCBleHRlbnNpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICBjb25zdCBleHBpcmF0aW9uID0gRGF0ZS5ub3coKSArIEVYUElSQVRJT047XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbihleHBpcmF0aW9uKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIGNvbnN0IHR4QnVpbGRlcjIgPSBnZXRCdWlsZGVyKCd0dHJ4JykuZnJvbSh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpKTtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0eEJ1aWxkZXIyLmV4dGVuZFZhbGlkVG8oMCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1ZhbHVlIGNhbm5vdCBiZSBiZWxvdyB6ZXJvJ1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdhbiBleHRlbnNpb24gZ3JhdGVyIHRoYW4gb25lIHllYXInLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBpbml0VHhCdWlsZGVyKCk7XG4gICAgICBjb25zdCBleHBpcmF0aW9uID0gRGF0ZS5ub3coKSArIEVYUElSQVRJT047XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvbihleHBpcmF0aW9uKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIGNvbnN0IHR4QnVpbGRlcjIgPSBnZXRCdWlsZGVyKCd0dHJ4JykuZnJvbSh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpKTtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0eEJ1aWxkZXIyLmV4dGVuZFZhbGlkVG8oMzE1MzYwMDAwMDEpO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdUaGUgZXhwaXJhdGlvbiBjYW5ub3QgYmUgZXh0ZW5kZWQgbW9yZSB0aGFuIG9uZSB5ZWFyJ1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdhbiBleHRlbnNpb24gYWZ0ZXIgc2lnbmluZycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4QnVpbGRlciA9IGluaXRUeEJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBQQVJUSUNJUEFOVFMuY3VzdG9kaWFuLnBrIH0pO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgY29uc3QgdHhCdWlsZGVyMiA9IGdldEJ1aWxkZXIoJ3R0cngnKS5mcm9tKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkpO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHR4QnVpbGRlcjIuZXh0ZW5kVmFsaWRUbygyMDAwMCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ0Nhbm5vdCBleHRlbmQgYSBzaWduZWQgdHJhbnNhY3Rpb24nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ3RyYW5zYWN0aW9uIG1hbmRhdG9yeSBmaWVsZHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSAoZ2V0QnVpbGRlcigndHRyeCcpIGFzIFdyYXBwZWRCdWlsZGVyKS5nZXRXaXRoZHJhd0V4cGlyZVVuZnJlZXplVHhCdWlsZGVyKCk7XG5cbiAgICAgIGF3YWl0IGFzc2VydC5yZWplY3RzKHR4QnVpbGRlci5idWlsZCgpLCB7XG4gICAgICAgIG1lc3NhZ2U6ICdNaXNzaW5nIHBhcmFtZXRlcjogc291cmNlJyxcbiAgICAgIH0pO1xuXG4gICAgICB0eEJ1aWxkZXIuc291cmNlKHsgYWRkcmVzczogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5hZGRyZXNzIH0pO1xuICAgICAgYXdhaXQgYXNzZXJ0LnJlamVjdHModHhCdWlsZGVyLmJ1aWxkKCksIHtcbiAgICAgICAgbWVzc2FnZTogJ01pc3NpbmcgYmxvY2sgcmVmZXJlbmNlIGluZm9ybWF0aW9uJyxcbiAgICAgIH0pO1xuXG4gICAgICB0eEJ1aWxkZXIuYmxvY2soeyBudW1iZXI6IEJMT0NLX05VTUJFUiwgaGFzaDogQkxPQ0tfSEFTSCB9KTtcbiAgICAgIGFzc2VydC5kb2VzTm90UmVqZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrappedBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/wrappedBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 node_test_1 = require("node:test");
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
+
const builder_1 = require("../../../src/lib/builder");
|
|
10
|
+
const resources_1 = require("../../resources");
|
|
11
|
+
(0, node_test_1.describe)('Trx Contract call Builder', () => {
|
|
12
|
+
const builder = (0, builder_1.getBuilder)('ttrx');
|
|
13
|
+
(0, node_test_1.describe)('Should validate ', () => {
|
|
14
|
+
(0, node_test_1.it)('a valid address', () => {
|
|
15
|
+
assert_1.default.doesNotThrow(() => builder.validateAddress({ address: resources_1.PARTICIPANTS.custodian.address }));
|
|
16
|
+
});
|
|
17
|
+
(0, node_test_1.it)('an empty address', () => {
|
|
18
|
+
assert_1.default.throws(() => {
|
|
19
|
+
builder.validateAddress({ address: '' });
|
|
20
|
+
}, (e) => e.message === ' is not a valid base58 address.');
|
|
21
|
+
});
|
|
22
|
+
(0, node_test_1.it)('a hex address', () => {
|
|
23
|
+
assert_1.default.throws(() => {
|
|
24
|
+
builder.validateAddress({ address: '4173a5993cd182ae152adad8203163f780c65a8aa5' });
|
|
25
|
+
}, (e) => e.message === '4173a5993cd182ae152adad8203163f780c65a8aa5 is not a valid base58 address.');
|
|
26
|
+
});
|
|
27
|
+
(0, node_test_1.it)('a hex address', () => {
|
|
28
|
+
assert_1.default.throws(() => {
|
|
29
|
+
builder.validateAddress({ address: '4173a5993cd182ae152adad8203163f780c65a8aa5' });
|
|
30
|
+
}, (e) => e.message === '4173a5993cd182ae152adad8203163f780c65a8aa5 is not a valid base58 address.');
|
|
31
|
+
});
|
|
32
|
+
(0, node_test_1.it)('a valid value', () => {
|
|
33
|
+
const value = new bignumber_js_1.default('13456');
|
|
34
|
+
assert_1.default.doesNotThrow(() => builder.validateValue(value));
|
|
35
|
+
});
|
|
36
|
+
(0, node_test_1.it)('a negative value', () => {
|
|
37
|
+
const value = new bignumber_js_1.default('-13456');
|
|
38
|
+
assert_1.default.throws(() => {
|
|
39
|
+
builder.validateValue(value);
|
|
40
|
+
}, (e) => e.message === 'Value cannot be below zero.');
|
|
41
|
+
});
|
|
42
|
+
(0, node_test_1.it)('a value too big', () => {
|
|
43
|
+
const value = new bignumber_js_1.default('9223372036854775808');
|
|
44
|
+
assert_1.default.throws(() => {
|
|
45
|
+
builder.validateValue(value);
|
|
46
|
+
}, (e) => e.message === 'Value cannot be greater than handled by the javatron node.');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3dyYXBwZWRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLG9EQUE0QjtBQUM1QixnRUFBcUM7QUFFckMsc0RBQXNEO0FBQ3RELCtDQUErQztBQUUvQyxJQUFBLG9CQUFRLEVBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUEsb0JBQVUsRUFBQyxNQUFNLENBQW1CLENBQUM7SUFFckQsSUFBQSxvQkFBUSxFQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRTtRQUNoQyxJQUFBLGNBQUUsRUFBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7WUFDekIsZ0JBQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEcsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLGNBQUUsRUFBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7WUFDMUIsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFO2dCQUNILE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDLEVBQ0QsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssaUNBQWlDLENBQzVELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUEsY0FBRSxFQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDdkIsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFO2dCQUNILE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsNENBQTRDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLENBQUMsRUFDRCxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSywyRUFBMkUsQ0FDdEcsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSxjQUFFLEVBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUN2QixnQkFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUU7Z0JBQ0gsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxDQUFDLENBQUM7WUFDckYsQ0FBQyxFQUNELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLDJFQUEyRSxDQUN0RyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLGNBQUUsRUFBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFBLGNBQUUsRUFBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7WUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLGdCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRTtnQkFDSCxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsRUFDRCxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyw2QkFBNkIsQ0FDeEQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBQSxjQUFFLEVBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ25ELGdCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRTtnQkFDSCxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUMsRUFDRCxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyw0REFBNEQsQ0FDdkYsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBpdCB9IGZyb20gJ25vZGU6dGVzdCc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBXcmFwcGVkQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBnZXRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi9idWlsZGVyJztcbmltcG9ydCB7IFBBUlRJQ0lQQU5UUyB9IGZyb20gJy4uLy4uL3Jlc291cmNlcyc7XG5cbmRlc2NyaWJlKCdUcnggQ29udHJhY3QgY2FsbCBCdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBidWlsZGVyID0gZ2V0QnVpbGRlcigndHRyeCcpIGFzIFdyYXBwZWRCdWlsZGVyO1xuXG4gIGRlc2NyaWJlKCdTaG91bGQgdmFsaWRhdGUgJywgKCkgPT4ge1xuICAgIGl0KCdhIHZhbGlkIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+IGJ1aWxkZXIudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5hZGRyZXNzIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdhbiBlbXB0eSBhZGRyZXNzJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGJ1aWxkZXIudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogJycgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJyBpcyBub3QgYSB2YWxpZCBiYXNlNTggYWRkcmVzcy4nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgaGV4IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgYnVpbGRlci52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1IGlzIG5vdCBhIHZhbGlkIGJhc2U1OCBhZGRyZXNzLidcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnYSBoZXggYWRkcmVzcycsICgpID0+IHtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBidWlsZGVyLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnIH0pO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUgaXMgbm90IGEgdmFsaWQgYmFzZTU4IGFkZHJlc3MuJ1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIHZhbGlkIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBuZXcgQmlnTnVtYmVyKCcxMzQ1NicpO1xuICAgICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiBidWlsZGVyLnZhbGlkYXRlVmFsdWUodmFsdWUpKTtcbiAgICB9KTtcblxuICAgIGl0KCdhIG5lZ2F0aXZlIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBuZXcgQmlnTnVtYmVyKCctMTM0NTYnKTtcbiAgICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBidWlsZGVyLnZhbGlkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdWYWx1ZSBjYW5ub3QgYmUgYmVsb3cgemVyby4nXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2EgdmFsdWUgdG9vIGJpZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gbmV3IEJpZ051bWJlcignOTIyMzM3MjAzNjg1NDc3NTgwOCcpO1xuICAgICAgYXNzZXJ0LnRocm93cyhcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGJ1aWxkZXIudmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIChlOiBhbnkpID0+IGUubWVzc2FnZSA9PT0gJ1ZhbHVlIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gaGFuZGxlZCBieSB0aGUgamF2YXRyb24gbm9kZS4nXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/transactionBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,178 @@
|
|
|
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 node_test_1 = require("node:test");
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const resources_1 = require("../resources");
|
|
10
|
+
const builder_1 = require("../../src/lib/builder");
|
|
11
|
+
(0, node_test_1.describe)('Tron TransactionBuilder', function () {
|
|
12
|
+
let txBuilder;
|
|
13
|
+
(0, node_test_1.beforeEach)(() => {
|
|
14
|
+
txBuilder = (0, builder_1.getBuilder)('ttrx');
|
|
15
|
+
});
|
|
16
|
+
(0, node_test_1.describe)('Transaction builder from method', () => {
|
|
17
|
+
(0, node_test_1.describe)('should succeed to parse', () => {
|
|
18
|
+
(0, node_test_1.it)('a transfer contract for an unsigned tx', () => {
|
|
19
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildTransaction);
|
|
20
|
+
txBuilder.from(txJson);
|
|
21
|
+
});
|
|
22
|
+
(0, node_test_1.it)('a transfer contract for a half-signed tx', () => {
|
|
23
|
+
const txJson = JSON.stringify(resources_1.FirstSigOnBuildTransaction);
|
|
24
|
+
txBuilder.from(txJson);
|
|
25
|
+
});
|
|
26
|
+
(0, node_test_1.it)('a transfer contract for a fully signed tx', () => {
|
|
27
|
+
const txJson = JSON.stringify(resources_1.SecondSigOnBuildTransaction);
|
|
28
|
+
txBuilder.from(txJson);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
(0, node_test_1.describe)('Transaction builder sign method', () => {
|
|
33
|
+
(0, node_test_1.describe)('should succeed to sign', () => {
|
|
34
|
+
(0, node_test_1.it)('an unsigned transaction', () => {
|
|
35
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildTransaction);
|
|
36
|
+
txBuilder.from(txJson);
|
|
37
|
+
txBuilder.sign({ key: resources_1.FirstPrivateKey });
|
|
38
|
+
});
|
|
39
|
+
(0, node_test_1.it)('a transaction signed with a different key', () => {
|
|
40
|
+
const txJson = JSON.stringify(resources_1.FirstSigOnBuildTransaction);
|
|
41
|
+
txBuilder.from(txJson);
|
|
42
|
+
txBuilder.sign({ key: resources_1.SecondPrivateKey });
|
|
43
|
+
});
|
|
44
|
+
(0, node_test_1.it)('a signed transaction with an xprv', async () => {
|
|
45
|
+
txBuilder.from(resources_1.FirstSigOnBuildTransaction);
|
|
46
|
+
const SecondPrivateKeyXprv = (0, sdk_core_1.rawPrvToExtendedKeys)(resources_1.SecondPrivateKey);
|
|
47
|
+
txBuilder.sign({ key: SecondPrivateKeyXprv.xprv });
|
|
48
|
+
const tx = await txBuilder.build();
|
|
49
|
+
assert_1.default.equal(tx.toJson().signature[0], 'bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401');
|
|
50
|
+
assert_1.default.equal(tx.toJson().signature[1], 'f3cabe2f4aed13e2342c78c7bf4626ea36cd6509a44418c24866814d3426703686be9ef21bd993324c520565beee820201f2a50a9ac971732410d3eb69cdb2a600');
|
|
51
|
+
assert_1.default.equal(tx.id, '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d');
|
|
52
|
+
assert_1.default.equal(tx.type, sdk_core_1.TransactionType.Send);
|
|
53
|
+
assert_1.default.equal(tx.inputs.length, 1);
|
|
54
|
+
assert_1.default.equal(tx.inputs[0].address, 'TTsGwnTLQ4eryFJpDvJSfuGQxPXRCjXvZz');
|
|
55
|
+
assert_1.default.equal(tx.inputs[0].value, '1718');
|
|
56
|
+
assert_1.default.equal(tx.outputs.length, 1);
|
|
57
|
+
assert_1.default.equal(tx.outputs[0].address, 'TNYssiPgaf9XYz3urBUqr861Tfqxvko47B');
|
|
58
|
+
assert_1.default.equal(tx.outputs[0].value, '1718');
|
|
59
|
+
assert_1.default.equal(tx.validFrom, 1571811410819);
|
|
60
|
+
assert_1.default.equal(tx.validTo, 1571811468000);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
(0, node_test_1.describe)('should fail to sign', () => {
|
|
64
|
+
(0, node_test_1.it)('a transaction with the same key', () => {
|
|
65
|
+
const txJson = JSON.stringify(resources_1.FirstSigOnBuildTransaction);
|
|
66
|
+
txBuilder.from(txJson);
|
|
67
|
+
assert_1.default.throws(() => txBuilder.sign({ key: resources_1.FirstPrivateKey }));
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
(0, node_test_1.describe)('Transaction builder', () => {
|
|
72
|
+
(0, node_test_1.it)('should build an update account tx', async () => {
|
|
73
|
+
const txJson = JSON.stringify(resources_1.UnsignedAccountPermissionUpdateContractTx);
|
|
74
|
+
txBuilder.from(txJson);
|
|
75
|
+
txBuilder.sign({ key: resources_1.AccountPermissionUpdateContractPriv });
|
|
76
|
+
const tx = await txBuilder.build();
|
|
77
|
+
const signedTxJson = tx.toJson();
|
|
78
|
+
assert_1.default.equal(signedTxJson.txID, resources_1.UnsignedAccountPermissionUpdateContractTx.txID);
|
|
79
|
+
assert_1.default.equal(signedTxJson.raw_data_hex, resources_1.UnsignedAccountPermissionUpdateContractTx.raw_data_hex);
|
|
80
|
+
assert_1.default.equal(JSON.stringify(signedTxJson.raw_data), JSON.stringify(resources_1.UnsignedAccountPermissionUpdateContractTx.raw_data));
|
|
81
|
+
assert_1.default.equal(signedTxJson.signature.length, 1);
|
|
82
|
+
assert_1.default.equal(signedTxJson.signature[0], '2bc5030727d42ed642c2806a3c1a5a0393408b159541f2163df4ba692c5c1240e2dde5a2aae4ecad465414e60b5aeca8522d0a2b6606f88a326658809161334f00');
|
|
83
|
+
});
|
|
84
|
+
(0, node_test_1.it)('should build an half signed tx', async () => {
|
|
85
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildTransaction);
|
|
86
|
+
txBuilder.from(txJson);
|
|
87
|
+
txBuilder.sign({ key: resources_1.FirstPrivateKey });
|
|
88
|
+
const tx = await txBuilder.build();
|
|
89
|
+
assert_1.default.equal(tx.id, '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d');
|
|
90
|
+
assert_1.default.equal(tx.type, sdk_core_1.TransactionType.Send);
|
|
91
|
+
assert_1.default.equal(tx.inputs.length, 1);
|
|
92
|
+
assert_1.default.equal(tx.inputs[0].address, 'TTsGwnTLQ4eryFJpDvJSfuGQxPXRCjXvZz');
|
|
93
|
+
assert_1.default.equal(tx.inputs[0].value, '1718');
|
|
94
|
+
assert_1.default.equal(tx.outputs.length, 1);
|
|
95
|
+
assert_1.default.equal(tx.outputs[0].address, 'TNYssiPgaf9XYz3urBUqr861Tfqxvko47B');
|
|
96
|
+
assert_1.default.equal(tx.outputs[0].value, '1718');
|
|
97
|
+
});
|
|
98
|
+
(0, node_test_1.it)('should build the right JSON after is half signed tx', async () => {
|
|
99
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildTransaction);
|
|
100
|
+
txBuilder.from(txJson);
|
|
101
|
+
txBuilder.sign({ key: resources_1.FirstPrivateKey });
|
|
102
|
+
const tx = await txBuilder.build();
|
|
103
|
+
const signedTxJson = tx.toJson();
|
|
104
|
+
assert_1.default.equal(signedTxJson.txID, resources_1.UnsignedBuildTransaction.txID);
|
|
105
|
+
assert_1.default.equal(signedTxJson.raw_data_hex, resources_1.UnsignedBuildTransaction.raw_data_hex);
|
|
106
|
+
assert_1.default.equal(JSON.stringify(signedTxJson.raw_data), JSON.stringify(resources_1.UnsignedBuildTransaction.raw_data));
|
|
107
|
+
assert_1.default.equal(signedTxJson.signature.length, 1);
|
|
108
|
+
assert_1.default.equal(signedTxJson.signature[0], 'bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401');
|
|
109
|
+
});
|
|
110
|
+
(0, node_test_1.it)('should not extend a half signed tx', () => {
|
|
111
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildTransaction);
|
|
112
|
+
txBuilder.from(txJson);
|
|
113
|
+
txBuilder.sign({ key: resources_1.FirstPrivateKey });
|
|
114
|
+
assert_1.default.throws(() => txBuilder.extendValidTo(10000));
|
|
115
|
+
});
|
|
116
|
+
(0, node_test_1.it)('should extend an unsigned tx', async () => {
|
|
117
|
+
const extendMs = 10000;
|
|
118
|
+
txBuilder.from(JSON.parse(JSON.stringify(resources_1.UnsignedBuildTransaction)));
|
|
119
|
+
txBuilder.extendValidTo(extendMs);
|
|
120
|
+
const tx = await txBuilder.build();
|
|
121
|
+
assert_1.default.notEqual(tx.id, resources_1.UnsignedBuildTransaction.txID);
|
|
122
|
+
assert_1.default.equal(tx.id, '764aa8a72c2c720a6556def77d6092f729b6e14209d8130f1692d5aff13f2503');
|
|
123
|
+
const oldExpiration = resources_1.UnsignedBuildTransaction.raw_data.expiration;
|
|
124
|
+
assert_1.default.equal(tx.validTo, oldExpiration + extendMs);
|
|
125
|
+
assert_1.default.equal(tx.type, sdk_core_1.TransactionType.Send);
|
|
126
|
+
assert_1.default.equal(tx.inputs.length, 1);
|
|
127
|
+
assert_1.default.equal(tx.inputs[0].address, 'TTsGwnTLQ4eryFJpDvJSfuGQxPXRCjXvZz');
|
|
128
|
+
assert_1.default.equal(tx.inputs[0].value, '1718');
|
|
129
|
+
assert_1.default.equal(tx.outputs.length, 1);
|
|
130
|
+
assert_1.default.equal(tx.outputs[0].address, 'TNYssiPgaf9XYz3urBUqr861Tfqxvko47B');
|
|
131
|
+
assert_1.default.equal(tx.outputs[0].value, '1718');
|
|
132
|
+
assert_1.default.equal(tx.validFrom, 1571811410819);
|
|
133
|
+
});
|
|
134
|
+
(0, node_test_1.it)('should catch an invalid id', async () => {
|
|
135
|
+
const txJson = JSON.stringify(resources_1.InvalidIDTransaction);
|
|
136
|
+
assert_1.default.throws(() => txBuilder.from(txJson));
|
|
137
|
+
});
|
|
138
|
+
(0, node_test_1.it)('should throw exception of wrong id', () => {
|
|
139
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildInvalidIDTransaction);
|
|
140
|
+
assert_1.default.throws(() => txBuilder.from(txJson));
|
|
141
|
+
});
|
|
142
|
+
(0, node_test_1.it)('should throw exception of empty id', () => {
|
|
143
|
+
const txJson = JSON.stringify(resources_1.UnsignedBuildEmptyIDTransaction);
|
|
144
|
+
assert_1.default.throws(() => txBuilder.from(txJson));
|
|
145
|
+
});
|
|
146
|
+
(0, node_test_1.it)('should throw exception of invalid time stamp', () => {
|
|
147
|
+
const txJson = JSON.stringify(resources_1.UnsignedInvalidTimeStampBuildTransaction);
|
|
148
|
+
assert_1.default.throws(() => txBuilder.from(txJson));
|
|
149
|
+
});
|
|
150
|
+
(0, node_test_1.it)('should throw exception of invalid expiration time', () => {
|
|
151
|
+
const txJson = JSON.stringify(resources_1.UnsignedInvalidExpirationBuildTransaction);
|
|
152
|
+
assert_1.default.throws(() => txBuilder.from(txJson));
|
|
153
|
+
});
|
|
154
|
+
(0, node_test_1.it)('should throw exception of non-existence of contract', () => {
|
|
155
|
+
const txJson = JSON.stringify(resources_1.UnsignedInvalidContractBuildTransaction);
|
|
156
|
+
assert_1.default.throws(() => txBuilder.from(txJson));
|
|
157
|
+
});
|
|
158
|
+
(0, node_test_1.it)('should validate JSON transaction', () => {
|
|
159
|
+
const txJson = resources_1.UnsignedAccountPermissionUpdateContractTx;
|
|
160
|
+
assert_1.default.doesNotThrow(() => txBuilder.from(txJson));
|
|
161
|
+
});
|
|
162
|
+
(0, node_test_1.it)('should validate stringified JSON transaction', () => {
|
|
163
|
+
const txJsonString = JSON.stringify(resources_1.UnsignedBuildTransaction);
|
|
164
|
+
assert_1.default.doesNotThrow(() => txBuilder.from(txJsonString));
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
(0, node_test_1.describe)('#validateKey', () => {
|
|
168
|
+
(0, node_test_1.it)('should not throw an error when the key is valid', () => {
|
|
169
|
+
const key = '2DBEAC1C22849F47514445A56AEF2EF164528A502DE4BD289E23EA1E2D4C4B06';
|
|
170
|
+
assert_1.default.doesNotThrow(() => txBuilder.validateKey({ key }));
|
|
171
|
+
});
|
|
172
|
+
(0, node_test_1.it)('should throw an error when the key is invalid', () => {
|
|
173
|
+
const key = 'jiraiya';
|
|
174
|
+
assert_1.default.throws(() => txBuilder.validateKey({ key }), /The provided key is not valid/);
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlDQUFxRDtBQUNyRCxvREFBNEI7QUFDNUIsbURBQTZFO0FBQzdFLDRDQWNzQjtBQUN0QixtREFBbUQ7QUFFbkQsSUFBQSxvQkFBUSxFQUFDLHlCQUF5QixFQUFFO0lBQ2xDLElBQUksU0FBUyxDQUFDO0lBRWQsSUFBQSxzQkFBVSxFQUFDLEdBQUcsRUFBRTtRQUNkLFNBQVMsR0FBRyxJQUFBLG9CQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLG9CQUFRLEVBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQy9DLElBQUEsb0JBQVEsRUFBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7WUFDdkMsSUFBQSxjQUFFLEVBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO2dCQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG9DQUF3QixDQUFDLENBQUM7Z0JBQ3hELFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFBLGNBQUUsRUFBQywwQ0FBMEMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsc0NBQTBCLENBQUMsQ0FBQztnQkFDMUQsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztZQUVILElBQUEsY0FBRSxFQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtnQkFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1Q0FBMkIsQ0FBQyxDQUFDO2dCQUMzRCxTQUFTLENBQUMsSUFBSSxD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R0FBRyxHQUFHLFNBQVMsQ0FBQztZQUN0QixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJlZm9yZUVhY2gsIGRlc2NyaWJlLCBpdCB9IGZyb20gJ25vZGU6dGVzdCc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyByYXdQcnZUb0V4dGVuZGVkS2V5cywgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uLFxuICBGaXJzdFNpZ09uQnVpbGRUcmFuc2FjdGlvbixcbiAgRmlyc3RQcml2YXRlS2V5LFxuICBTZWNvbmRTaWdPbkJ1aWxkVHJhbnNhY3Rpb24sXG4gIFNlY29uZFByaXZhdGVLZXksXG4gIFVuc2lnbmVkQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdFR4LFxuICBBY2NvdW50UGVybWlzc2lvblVwZGF0ZUNvbnRyYWN0UHJpdixcbiAgSW52YWxpZElEVHJhbnNhY3Rpb24sXG4gIFVuc2lnbmVkQnVpbGRJbnZhbGlkSURUcmFuc2FjdGlvbixcbiAgVW5zaWduZWRJbnZhbGlkRXhwaXJhdGlvbkJ1aWxkVHJhbnNhY3Rpb24sXG4gIFVuc2lnbmVkSW52YWxpZENvbnRyYWN0QnVpbGRUcmFuc2FjdGlvbixcbiAgVW5zaWduZWRCdWlsZEVtcHR5SURUcmFuc2FjdGlvbixcbiAgVW5zaWduZWRJbnZhbGlkVGltZVN0YW1wQnVpbGRUcmFuc2FjdGlvbixcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IGdldEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMvbGliL2J1aWxkZXInO1xuXG5kZXNjcmliZSgnVHJvbiBUcmFuc2FjdGlvbkJ1aWxkZXInLCBmdW5jdGlvbiAoKSB7XG4gIGxldCB0eEJ1aWxkZXI7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdHhCdWlsZGVyID0gZ2V0QnVpbGRlcigndHRyeCcpO1xuICB9KTtcblxuICBkZXNjcmliZSgnVHJhbnNhY3Rpb24gYnVpbGRlciBmcm9tIG1ldGhvZCcsICgpID0+IHtcbiAgICBkZXNjcmliZSgnc2hvdWxkIHN1Y2NlZWQgdG8gcGFyc2UnLCAoKSA9PiB7XG4gICAgICBpdCgnYSB0cmFuc2ZlciBjb250cmFjdCBmb3IgYW4gdW5zaWduZWQgdHgnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkQnVpbGRUcmFuc2FjdGlvbik7XG4gICAgICAgIHR4QnVpbGRlci5mcm9tKHR4SnNvbik7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2EgdHJhbnNmZXIgY29udHJhY3QgZm9yIGEgaGFsZi1zaWduZWQgdHgnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KEZpcnN0U2lnT25CdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgdHhCdWlsZGVyLmZyb20odHhKc29uKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnYSB0cmFuc2ZlciBjb250cmFjdCBmb3IgYSBmdWxseSBzaWduZWQgdHgnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KFNlY29uZFNpZ09uQnVpbGRUcmFuc2FjdGlvbik7XG4gICAgICAgIHR4QnVpbGRlci5mcm9tKHR4SnNvbik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1RyYW5zYWN0aW9uIGJ1aWxkZXIgc2lnbiBtZXRob2QnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ3Nob3VsZCBzdWNjZWVkIHRvIHNpZ24nLCAoKSA9PiB7XG4gICAgICBpdCgnYW4gdW5zaWduZWQgdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkQnVpbGRUcmFuc2FjdGlvbik7XG4gICAgICAgIHR4QnVpbGRlci5mcm9tKHR4SnNvbik7XG4gICAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBGaXJzdFByaXZhdGVLZXkgfSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2EgdHJhbnNhY3Rpb24gc2lnbmVkIHdpdGggYSBkaWZmZXJlbnQga2V5JywgKCkgPT4ge1xuICAgICAgICBjb25zdCB0eEpzb24gPSBKU09OLnN0cmluZ2lmeShGaXJzdFNpZ09uQnVpbGRUcmFuc2FjdGlvbik7XG4gICAgICAgIHR4QnVpbGRlci5mcm9tKHR4SnNvbik7XG4gICAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBTZWNvbmRQcml2YXRlS2V5IH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdhIHNpZ25lZCB0cmFuc2FjdGlvbiB3aXRoIGFuIHhwcnYnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIHR4QnVpbGRlci5mcm9tKEZpcnN0U2lnT25CdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgY29uc3QgU2Vjb25kUHJpdmF0ZUtleVhwcnYgPSByYXdQcnZUb0V4dGVuZGVkS2V5cyhTZWNvbmRQcml2YXRlS2V5KTtcbiAgICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IFNlY29uZFByaXZhdGVLZXlYcHJ2LnhwcnYgfSk7XG4gICAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgICAgYXNzZXJ0LmVxdWFsKFxuICAgICAgICAgIHR4LnRvSnNvbigpLnNpZ25hdHVyZVswXSxcbiAgICAgICAgICAnYmQwOGU2Y2Q4NzZiYjU3M2RkMDBhMzI4NzBiNThiNzBlYThiNzkwOGY1MTMxNjg2NTAyNTg5OTQxYmZhNGZkZGE3NmI4YzgxYmJiY2ZjNTQ5YmU2ZDQ5ODg2NTdjZWExMjJkZjdkYTQ2YzcyMDQxZGVmMjY4M2Q2ZWNiMDRhNzQwMSdcbiAgICAgICAgKTtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKFxuICAgICAgICAgIHR4LnRvSnNvbigpLnNpZ25hdHVyZVsxXSxcbiAgICAgICAgICAnZjNjYWJlMmY0YWVkMTNlMjM0MmM3OGM3YmY0NjI2ZWEzNmNkNjUwOWE0NDQxOGMyNDg2NjgxNGQzNDI2NzAzNjg2YmU5ZWYyMWJkOTkzMzI0YzUyMDU2NWJlZWU4MjAyMDFmMmE1MGE5YWM5NzE3MzI0MTBkM2ViNjljZGIyYTYwMCdcbiAgICAgICAgKTtcblxuICAgICAgICBhc3NlcnQuZXF1YWwodHguaWQsICc4MGI4YjllYWVkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyk7XG4gICAgICAgIGFzc2VydC5lcXVhbCh0eC50eXBlLCBUcmFuc2FjdGlvblR5cGUuU2VuZCk7XG4gICAgICAgIGFzc2VydC5lcXVhbCh0eC5pbnB1dHMubGVuZ3RoLCAxKTtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS5hZGRyZXNzLCAnVFRzR3duVExRNGVyeUZKcER2SlNmdUdReFBYUkNqWHZaeicpO1xuICAgICAgICBhc3NlcnQuZXF1YWwodHguaW5wdXRzWzBdLnZhbHVlLCAnMTcxOCcpO1xuICAgICAgICBhc3NlcnQuZXF1YWwodHgub3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgICBhc3NlcnQuZXF1YWwodHgub3V0cHV0c1swXS5hZGRyZXNzLCAnVE5Zc3NpUGdhZjlYWXozdXJCVXFyODYxVGZxeHZrbzQ3QicpO1xuICAgICAgICBhc3NlcnQuZXF1YWwodHgub3V0cHV0c1swXS52YWx1ZSwgJzE3MTgnKTtcbiAgICAgICAgYXNzZXJ0LmVxdWFsKHR4LnZhbGlkRnJvbSwgMTU3MTgxMTQxMDgxOSk7XG4gICAgICAgIGFzc2VydC5lcXVhbCh0eC52YWxpZFRvLCAxNTcxODExNDY4MDAwKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Nob3VsZCBmYWlsIHRvIHNpZ24nLCAoKSA9PiB7XG4gICAgICBpdCgnYSB0cmFuc2FjdGlvbiB3aXRoIHRoZSBzYW1lIGtleScsICgpID0+IHtcbiAgICAgICAgY29uc3QgdHhKc29uID0gSlNPTi5zdHJpbmdpZnkoRmlyc3RTaWdPbkJ1aWxkVHJhbnNhY3Rpb24pO1xuICAgICAgICB0eEJ1aWxkZXIuZnJvbSh0eEpzb24pO1xuICAgICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5zaWduKHsga2V5OiBGaXJzdFByaXZhdGVLZXkgfSkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdUcmFuc2FjdGlvbiBidWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYnVpbGQgYW4gdXBkYXRlIGFjY291bnQgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEpzb24gPSBKU09OLnN0cmluZ2lmeShVbnNpZ25lZEFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3RUeCk7XG4gICAgICB0eEJ1aWxkZXIuZnJvbSh0eEpzb24pO1xuICAgICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IEFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3RQcml2IH0pO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHNpZ25lZFR4SnNvbiA9IHR4LnRvSnNvbigpO1xuXG4gICAgICBhc3NlcnQuZXF1YWwoc2lnbmVkVHhKc29uLnR4SUQsIFVuc2lnbmVkQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdFR4LnR4SUQpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHNpZ25lZFR4SnNvbi5yYXdfZGF0YV9oZXgsIFVuc2lnbmVkQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdFR4LnJhd19kYXRhX2hleCk7XG4gICAgICBhc3NlcnQuZXF1YWwoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHNpZ25lZFR4SnNvbi5yYXdfZGF0YSksXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdFR4LnJhd19kYXRhKVxuICAgICAgKTtcbiAgICAgIGFzc2VydC5lcXVhbChzaWduZWRUeEpzb24uc2lnbmF0dXJlLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuZXF1YWwoXG4gICAgICAgIHNpZ25lZFR4SnNvbi5zaWduYXR1cmVbMF0sXG4gICAgICAgICcyYmM1MDMwNzI3ZDQyZWQ2NDJjMjgwNmEzYzFhNWEwMzkzNDA4YjE1OTU0MWYyMTYzZGY0YmE2OTJjNWMxMjQwZTJkZGU1YTJhYWU0ZWNhZDQ2NTQxNGU2MGI1YWVjYTg1MjJkMGEyYjY2MDZmODhhMzI2NjU4ODA5MTYxMzM0ZjAwJ1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYW4gaGFsZiBzaWduZWQgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB0eEpzb24gPSBKU09OLnN0cmluZ2lmeShVbnNpZ25lZEJ1aWxkVHJhbnNhY3Rpb24pO1xuICAgICAgdHhCdWlsZGVyLmZyb20odHhKc29uKTtcbiAgICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBGaXJzdFByaXZhdGVLZXkgfSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBhc3NlcnQuZXF1YWwodHguaWQsICc4MGI4YjllYWVkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyk7XG4gICAgICBhc3NlcnQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS5hZGRyZXNzLCAnVFRzR3duVExRNGVyeUZKcER2SlNmdUdReFBYUkNqWHZaeicpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS52YWx1ZSwgJzE3MTgnKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eC5vdXRwdXRzLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuZXF1YWwodHgub3V0cHV0c1swXS5hZGRyZXNzLCAnVE5Zc3NpUGdhZjlYWXozdXJCVXFyODYxVGZxeHZrbzQ3QicpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4Lm91dHB1dHNbMF0udmFsdWUsICcxNzE4Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIHRoZSByaWdodCBKU09OIGFmdGVyIGlzIGhhbGYgc2lnbmVkIHR4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdHhKc29uID0gSlNPTi5zdHJpbmdpZnkoVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgIHR4QnVpbGRlci5mcm9tKHR4SnNvbik7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogRmlyc3RQcml2YXRlS2V5IH0pO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHNpZ25lZFR4SnNvbiA9IHR4LnRvSnNvbigpO1xuXG4gICAgICBhc3NlcnQuZXF1YWwoc2lnbmVkVHhKc29uLnR4SUQsIFVuc2lnbmVkQnVpbGRUcmFuc2FjdGlvbi50eElEKTtcbiAgICAgIGFzc2VydC5lcXVhbChzaWduZWRUeEpzb24ucmF3X2RhdGFfaGV4LCBVbnNpZ25lZEJ1aWxkVHJhbnNhY3Rpb24ucmF3X2RhdGFfaGV4KTtcbiAgICAgIGFzc2VydC5lcXVhbChKU09OLnN0cmluZ2lmeShzaWduZWRUeEpzb24ucmF3X2RhdGEpLCBKU09OLnN0cmluZ2lmeShVbnNpZ25lZEJ1aWxkVHJhbnNhY3Rpb24ucmF3X2RhdGEpKTtcbiAgICAgIGFzc2VydC5lcXVhbChzaWduZWRUeEpzb24uc2lnbmF0dXJlLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuZXF1YWwoXG4gICAgICAgIHNpZ25lZFR4SnNvbi5zaWduYXR1cmVbMF0sXG4gICAgICAgICdiZDA4ZTZjZDg3NmJiNTczZGQwMGEzMjg3MGI1OGI3MGVhOGI3OTA4ZjUxMzE2ODY1MDI1ODk5NDFiZmE0ZmRkYTc2YjhjODFiYmJjZmM1NDliZTZkNDk4ODY1N2NlYTEyMmRmN2RhNDZjNzIwNDFkZWYyNjgzZDZlY2IwNGE3NDAxJ1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IGV4dGVuZCBhIGhhbGYgc2lnbmVkIHR4JywgKCkgPT4ge1xuICAgICAgY29uc3QgdHhKc29uID0gSlNPTi5zdHJpbmdpZnkoVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgIHR4QnVpbGRlci5mcm9tKHR4SnNvbik7XG4gICAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogRmlyc3RQcml2YXRlS2V5IH0pO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5leHRlbmRWYWxpZFRvKDEwMDAwKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGV4dGVuZCBhbiB1bnNpZ25lZCB0eCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGV4dGVuZE1zID0gMTAwMDA7XG4gICAgICB0eEJ1aWxkZXIuZnJvbShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkQnVpbGRUcmFuc2FjdGlvbikpKTtcbiAgICAgIHR4QnVpbGRlci5leHRlbmRWYWxpZFRvKGV4dGVuZE1zKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIGFzc2VydC5ub3RFcXVhbCh0eC5pZCwgVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uLnR4SUQpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlkLCAnNzY0YWE4YTcyYzJjNzIwYTY1NTZkZWY3N2Q2MDkyZjcyOWI2ZTE0MjA5ZDgxMzBmMTY5MmQ1YWZmMTNmMjUwMycpO1xuICAgICAgY29uc3Qgb2xkRXhwaXJhdGlvbiA9IFVuc2lnbmVkQnVpbGRUcmFuc2FjdGlvbi5yYXdfZGF0YS5leHBpcmF0aW9uO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LnZhbGlkVG8sIG9sZEV4cGlyYXRpb24gKyBleHRlbmRNcyk7XG4gICAgICBhc3NlcnQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlNlbmQpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS5hZGRyZXNzLCAnVFRzR3duVExRNGVyeUZKcER2SlNmdUdReFBYUkNqWHZaeicpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4LmlucHV0c1swXS52YWx1ZSwgJzE3MTgnKTtcbiAgICAgIGFzc2VydC5lcXVhbCh0eC5vdXRwdXRzLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuZXF1YWwodHgub3V0cHV0c1swXS5hZGRyZXNzLCAnVE5Zc3NpUGdhZjlYWXozdXJCVXFyODYxVGZxeHZrbzQ3QicpO1xuICAgICAgYXNzZXJ0LmVxdWFsKHR4Lm91dHB1dHNbMF0udmFsdWUsICcxNzE4Jyk7XG4gICAgICBhc3NlcnQuZXF1YWwodHgudmFsaWRGcm9tLCAxNTcxODExNDEwODE5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY2F0Y2ggYW4gaW52YWxpZCBpZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KEludmFsaWRJRFRyYW5zYWN0aW9uKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLmZyb20odHhKc29uKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBvZiB3cm9uZyBpZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkQnVpbGRJbnZhbGlkSURUcmFuc2FjdGlvbik7XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHR4QnVpbGRlci5mcm9tKHR4SnNvbikpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBleGNlcHRpb24gb2YgZW1wdHkgaWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0eEpzb24gPSBKU09OLnN0cmluZ2lmeShVbnNpZ25lZEJ1aWxkRW1wdHlJRFRyYW5zYWN0aW9uKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLmZyb20odHhKc29uKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBvZiBpbnZhbGlkIHRpbWUgc3RhbXAnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0eEpzb24gPSBKU09OLnN0cmluZ2lmeShVbnNpZ25lZEludmFsaWRUaW1lU3RhbXBCdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLmZyb20odHhKc29uKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBvZiBpbnZhbGlkIGV4cGlyYXRpb24gdGltZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkSW52YWxpZEV4cGlyYXRpb25CdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLmZyb20odHhKc29uKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGV4Y2VwdGlvbiBvZiBub24tZXhpc3RlbmNlIG9mIGNvbnRyYWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdHhKc29uID0gSlNPTi5zdHJpbmdpZnkoVW5zaWduZWRJbnZhbGlkQ29udHJhY3RCdWlsZFRyYW5zYWN0aW9uKTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gdHhCdWlsZGVyLmZyb20odHhKc29uKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIEpTT04gdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCB0eEpzb24gPSBVbnNpZ25lZEFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3RUeDtcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT4gdHhCdWlsZGVyLmZyb20odHhKc29uKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIHN0cmluZ2lmaWVkIEpTT04gdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCB0eEpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShVbnNpZ25lZEJ1aWxkVHJhbnNhY3Rpb24pO1xuICAgICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiB0eEJ1aWxkZXIuZnJvbSh0eEpzb25TdHJpbmcpKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJyN2YWxpZGF0ZUtleScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIG5vdCB0aHJvdyBhbiBlcnJvciB3aGVuIHRoZSBrZXkgaXMgdmFsaWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSAnMkRCRUFDMUMyMjg0OUY0NzUxNDQ0NUE1NkFFRjJFRjE2NDUyOEE1MDJERTRCRDI4OUUyM0VBMUUyRDRDNEIwNic7XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+IHR4QnVpbGRlci52YWxpZGF0ZUtleSh7IGtleSB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gdGhlIGtleSBpcyBpbnZhbGlkJywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gJ2ppcmFpeWEnO1xuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB0eEJ1aWxkZXIudmFsaWRhdGVLZXkoeyBrZXkgfSksIC9UaGUgcHJvdmlkZWQga2V5IGlzIG5vdCB2YWxpZC8pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trx.d.ts","sourceRoot":"","sources":["../../../test/unit/trx.ts"],"names":[],"mappings":""}
|