@bitgo/sdk-coin-apt 2.6.1 → 2.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/test/integration/index.d.ts +1 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +1 -0
- package/dist/test/resources/apt.d.ts +46 -0
- package/dist/test/resources/apt.d.ts.map +1 -0
- package/dist/test/resources/apt.js +105 -0
- package/dist/test/unit/apt.d.ts +2 -0
- package/dist/test/unit/apt.d.ts.map +1 -0
- package/dist/test/unit/apt.js +342 -0
- package/dist/test/unit/aptToken.d.ts +2 -0
- package/dist/test/unit/aptToken.d.ts.map +1 -0
- package/dist/test/unit/aptToken.js +92 -0
- package/dist/test/unit/getBuilderFactory.d.ts +3 -0
- package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/getBuilderFactory.js +10 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +71 -0
- package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/customTransactionBuilder.js +743 -0
- package/dist/test/unit/transactionBuilder/digitalAssetTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/digitalAssetTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/digitalAssetTransferBuilder.js +276 -0
- package/dist/test/unit/transactionBuilder/fungibleAssetTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/fungibleAssetTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/fungibleAssetTransferBuilder.js +449 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +529 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +108 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +11 -8
- package/.eslintignore +0 -4
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -348
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"digitalAssetTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/digitalAssetTransferBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const getBuilderFactory_1 = require("../getBuilderFactory");
|
|
40
|
+
const statics_1 = require("@bitgo/statics");
|
|
41
|
+
const testData = __importStar(require("../../resources/apt"));
|
|
42
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
43
|
+
const should_1 = __importDefault(require("should"));
|
|
44
|
+
const digitalAssetTransfer_1 = require("../../../src/lib/transaction/digitalAssetTransfer");
|
|
45
|
+
describe('Apt Digital Asset Transfer Builder', () => {
|
|
46
|
+
const factory = (0, getBuilderFactory_1.getBuilderFactory)('tapt');
|
|
47
|
+
//TODO: change coin 'tapt' to digital asset (nft) when configured
|
|
48
|
+
it('should build a digital asset transfer', async function () {
|
|
49
|
+
const digitalAssetTransfer = new digitalAssetTransfer_1.DigitalAssetTransfer(statics_1.coins.get('tapt'));
|
|
50
|
+
const txBuilder = factory.getDigitalAssetTransactionBuilder(digitalAssetTransfer);
|
|
51
|
+
txBuilder.sender(testData.sender2.address);
|
|
52
|
+
txBuilder.recipients(testData.digitalTokenRecipients);
|
|
53
|
+
txBuilder.gasData({
|
|
54
|
+
maxGasAmount: 200000,
|
|
55
|
+
gasUnitPrice: 100,
|
|
56
|
+
});
|
|
57
|
+
txBuilder.assetId(testData.digitalAssetAddress);
|
|
58
|
+
txBuilder.sequenceNumber(14);
|
|
59
|
+
txBuilder.expirationTime(1736246155);
|
|
60
|
+
txBuilder.addFeePayerAddress(testData.feePayer.address);
|
|
61
|
+
const tx = (await txBuilder.build());
|
|
62
|
+
should_1.default.equal(tx.sender, testData.sender2.address);
|
|
63
|
+
should_1.default.equal(tx.recipients[0].address, testData.digitalTokenRecipients[0].address);
|
|
64
|
+
should_1.default.equal(tx.recipient.address, testData.digitalTokenRecipients[0].address);
|
|
65
|
+
should_1.default.equal(tx.assetId, testData.digitalAssetAddress);
|
|
66
|
+
should_1.default.equal(tx.maxGasAmount, 200000);
|
|
67
|
+
should_1.default.equal(tx.gasUnitPrice, 100);
|
|
68
|
+
should_1.default.equal(tx.sequenceNumber, 14);
|
|
69
|
+
should_1.default.equal(tx.expirationTime, 1736246155);
|
|
70
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.SendNFT);
|
|
71
|
+
tx.inputs.length.should.equal(1);
|
|
72
|
+
tx.inputs[0].should.deepEqual({
|
|
73
|
+
address: testData.sender2.address,
|
|
74
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
75
|
+
coin: 'tapt',
|
|
76
|
+
});
|
|
77
|
+
tx.outputs.length.should.equal(1);
|
|
78
|
+
tx.outputs[0].should.deepEqual({
|
|
79
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
80
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
81
|
+
coin: 'tapt',
|
|
82
|
+
});
|
|
83
|
+
const rawTx = tx.toBroadcastFormat();
|
|
84
|
+
should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
|
|
85
|
+
rawTx.should.equal('0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e00000000000000020000000000000000000000000000000000000000000000000000000000000001066f626a656374087472616e736665720107000000000000000000000000000000000000000000000000000000000000000405746f6b656e05546f6b656e0002202e356062777469d39ca5d9b72512ce2d5713d7938ed6ca9193d4fc2016a819fd20f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad9400d03000000000064000000000000008b037d670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
86
|
+
});
|
|
87
|
+
it('should build and send a signed tx', async function () {
|
|
88
|
+
const txBuilder = factory.from(testData.DIGITAL_ASSET_TRANSFER);
|
|
89
|
+
const tx = (await txBuilder.build());
|
|
90
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.SendNFT);
|
|
91
|
+
tx.inputs.length.should.equal(1);
|
|
92
|
+
tx.inputs[0].should.deepEqual({
|
|
93
|
+
address: testData.sender2.address,
|
|
94
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
95
|
+
coin: 'tapt',
|
|
96
|
+
});
|
|
97
|
+
tx.outputs.length.should.equal(1);
|
|
98
|
+
tx.outputs[0].should.deepEqual({
|
|
99
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
100
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
101
|
+
coin: 'tapt',
|
|
102
|
+
});
|
|
103
|
+
should_1.default.equal(tx.id, '0x3a97bbf538a73f98625b65c770bbf69d032ac18cd028b871182a127f10ab5666');
|
|
104
|
+
should_1.default.equal(tx.maxGasAmount, 200000);
|
|
105
|
+
should_1.default.equal(tx.gasUnitPrice, 100);
|
|
106
|
+
should_1.default.equal(tx.sequenceNumber, 171);
|
|
107
|
+
should_1.default.equal(tx.expirationTime, 1738041170);
|
|
108
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.SendNFT);
|
|
109
|
+
const rawTx = tx.toBroadcastFormat();
|
|
110
|
+
should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
|
|
111
|
+
should_1.default.equal(rawTx, testData.DIGITAL_ASSET_TRANSFER);
|
|
112
|
+
});
|
|
113
|
+
it('should succeed to validate a valid signablePayload', async function () {
|
|
114
|
+
const transaction = new digitalAssetTransfer_1.DigitalAssetTransfer(statics_1.coins.get('tapt'));
|
|
115
|
+
const txBuilder = factory.getDigitalAssetTransactionBuilder(transaction);
|
|
116
|
+
txBuilder.sender(testData.sender2.address);
|
|
117
|
+
txBuilder.recipients([testData.digitalTokenRecipients[0]]);
|
|
118
|
+
txBuilder.gasData({
|
|
119
|
+
maxGasAmount: 200000,
|
|
120
|
+
gasUnitPrice: 100,
|
|
121
|
+
});
|
|
122
|
+
txBuilder.sequenceNumber(14);
|
|
123
|
+
txBuilder.expirationTime(1736246155);
|
|
124
|
+
txBuilder.assetId(testData.digitalAssetAddress);
|
|
125
|
+
txBuilder.addFeePayerAddress(testData.feePayer.address);
|
|
126
|
+
const tx = (await txBuilder.build());
|
|
127
|
+
const signablePayload = tx.signablePayload;
|
|
128
|
+
should_1.default.equal(signablePayload.toString('hex'), '5efa3c4f02f83a0f4b2d69fc95c607cc02825cc4e7be536ef0992df050d9e67c011aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e00000000000000020000000000000000000000000000000000000000000000000000000000000001066f626a656374087472616e736665720107000000000000000000000000000000000000000000000000000000000000000405746f6b656e05546f6b656e0002202e356062777469d39ca5d9b72512ce2d5713d7938ed6ca9193d4fc2016a819fd20f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad9400d03000000000064000000000000008b037d67000000000200dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2');
|
|
129
|
+
});
|
|
130
|
+
it('should build a unsigned tx and validate its toJson', async function () {
|
|
131
|
+
const transaction = new digitalAssetTransfer_1.DigitalAssetTransfer(statics_1.coins.get('tapt'));
|
|
132
|
+
const txBuilder = factory.getDigitalAssetTransactionBuilder(transaction);
|
|
133
|
+
txBuilder.sender(testData.sender2.address);
|
|
134
|
+
txBuilder.recipients([testData.digitalTokenRecipients[0]]);
|
|
135
|
+
txBuilder.gasData({
|
|
136
|
+
maxGasAmount: 200000,
|
|
137
|
+
gasUnitPrice: 100,
|
|
138
|
+
});
|
|
139
|
+
txBuilder.sequenceNumber(14);
|
|
140
|
+
txBuilder.expirationTime(1736246155);
|
|
141
|
+
txBuilder.assetId(testData.digitalAssetAddress);
|
|
142
|
+
txBuilder.addFeePayerAddress(testData.feePayer.address);
|
|
143
|
+
const tx = (await txBuilder.build());
|
|
144
|
+
const toJson = tx.toJson();
|
|
145
|
+
should_1.default.equal(toJson.sender, testData.sender2.address);
|
|
146
|
+
should_1.default.deepEqual(toJson.recipients, [
|
|
147
|
+
{
|
|
148
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
149
|
+
amount: testData.digitalTokenRecipients[0].amount,
|
|
150
|
+
},
|
|
151
|
+
]);
|
|
152
|
+
should_1.default.deepEqual(toJson.recipient, {
|
|
153
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
154
|
+
amount: testData.digitalTokenRecipients[0].amount,
|
|
155
|
+
});
|
|
156
|
+
should_1.default.equal(toJson.sequenceNumber, 14);
|
|
157
|
+
should_1.default.equal(tx.assetId, testData.digitalAssetAddress);
|
|
158
|
+
should_1.default.equal(toJson.maxGasAmount, 200000);
|
|
159
|
+
should_1.default.equal(toJson.gasUnitPrice, 100);
|
|
160
|
+
should_1.default.equal(toJson.expirationTime, 1736246155);
|
|
161
|
+
should_1.default.equal(toJson.feePayer, testData.feePayer.address);
|
|
162
|
+
});
|
|
163
|
+
it('should build a signed tx and validate its toJson', async function () {
|
|
164
|
+
const txBuilder = factory.from(testData.DIGITAL_ASSET_TRANSFER);
|
|
165
|
+
const tx = (await txBuilder.build());
|
|
166
|
+
const toJson = tx.toJson();
|
|
167
|
+
should_1.default.equal(toJson.id, '0x3a97bbf538a73f98625b65c770bbf69d032ac18cd028b871182a127f10ab5666');
|
|
168
|
+
should_1.default.equal(toJson.sender, testData.sender2.address);
|
|
169
|
+
should_1.default.deepEqual(toJson.recipients, [
|
|
170
|
+
{
|
|
171
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
172
|
+
amount: testData.digitalTokenRecipients[0].amount.toString(),
|
|
173
|
+
},
|
|
174
|
+
]);
|
|
175
|
+
should_1.default.deepEqual(toJson.recipient, {
|
|
176
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
177
|
+
amount: testData.digitalTokenRecipients[0].amount.toString(),
|
|
178
|
+
});
|
|
179
|
+
should_1.default.equal(tx.assetId, testData.digitalAssetAddress);
|
|
180
|
+
should_1.default.equal(toJson.sequenceNumber, 171);
|
|
181
|
+
should_1.default.equal(toJson.maxGasAmount, 200000);
|
|
182
|
+
should_1.default.equal(toJson.gasUnitPrice, 100);
|
|
183
|
+
should_1.default.equal(toJson.expirationTime, 1738041170);
|
|
184
|
+
});
|
|
185
|
+
describe('should test for deprecated field recipient in building transaction, without usage of recipients', () => {
|
|
186
|
+
it('should build a digital asset transfer', async function () {
|
|
187
|
+
const digitalAssetTransfer = new digitalAssetTransfer_1.DigitalAssetTransfer(statics_1.coins.get('tapt'));
|
|
188
|
+
const txBuilder = factory.getDigitalAssetTransactionBuilder(digitalAssetTransfer);
|
|
189
|
+
txBuilder.sender(testData.sender2.address);
|
|
190
|
+
txBuilder.recipient(testData.digitalTokenRecipients[0]);
|
|
191
|
+
txBuilder.gasData({
|
|
192
|
+
maxGasAmount: 200000,
|
|
193
|
+
gasUnitPrice: 100,
|
|
194
|
+
});
|
|
195
|
+
txBuilder.assetId(testData.digitalAssetAddress);
|
|
196
|
+
txBuilder.sequenceNumber(14);
|
|
197
|
+
txBuilder.expirationTime(1736246155);
|
|
198
|
+
txBuilder.addFeePayerAddress(testData.feePayer.address);
|
|
199
|
+
const tx = (await txBuilder.build());
|
|
200
|
+
should_1.default.equal(tx.sender, testData.sender2.address);
|
|
201
|
+
should_1.default.equal(tx.recipient.address, testData.digitalTokenRecipients[0].address);
|
|
202
|
+
should_1.default.equal(tx.assetId, testData.digitalAssetAddress);
|
|
203
|
+
should_1.default.equal(tx.maxGasAmount, 200000);
|
|
204
|
+
should_1.default.equal(tx.gasUnitPrice, 100);
|
|
205
|
+
should_1.default.equal(tx.sequenceNumber, 14);
|
|
206
|
+
should_1.default.equal(tx.expirationTime, 1736246155);
|
|
207
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.SendNFT);
|
|
208
|
+
tx.inputs.length.should.equal(1);
|
|
209
|
+
tx.inputs[0].should.deepEqual({
|
|
210
|
+
address: testData.sender2.address,
|
|
211
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
212
|
+
coin: 'tapt',
|
|
213
|
+
});
|
|
214
|
+
tx.outputs.length.should.equal(1);
|
|
215
|
+
tx.outputs[0].should.deepEqual({
|
|
216
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
217
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
218
|
+
coin: 'tapt',
|
|
219
|
+
});
|
|
220
|
+
const rawTx = tx.toBroadcastFormat();
|
|
221
|
+
should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
|
|
222
|
+
rawTx.should.equal('0x1aed808916ab9b1b30b07abb53561afd46847285ce28651221d406173a3724490e00000000000000020000000000000000000000000000000000000000000000000000000000000001066f626a656374087472616e736665720107000000000000000000000000000000000000000000000000000000000000000405746f6b656e05546f6b656e0002202e356062777469d39ca5d9b72512ce2d5713d7938ed6ca9193d4fc2016a819fd20f7405c28a02cf5bab4ea4498240bb3579db45951794eb1c843bef0534c093ad9400d03000000000064000000000000008b037d670000000002030020000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbc87a1c816d9bcd06b683c37e80c7162e4d48da7812198b830e4d5d8e0629f2002000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000');
|
|
223
|
+
const toJson = tx.toJson();
|
|
224
|
+
should_1.default.equal(toJson.sender, testData.sender2.address);
|
|
225
|
+
should_1.default.deepEqual(toJson.recipient, {
|
|
226
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
227
|
+
amount: testData.digitalTokenRecipients[0].amount,
|
|
228
|
+
});
|
|
229
|
+
should_1.default.equal(toJson.sequenceNumber, 14);
|
|
230
|
+
should_1.default.equal(tx.assetId, testData.digitalAssetAddress);
|
|
231
|
+
should_1.default.equal(toJson.maxGasAmount, 200000);
|
|
232
|
+
should_1.default.equal(toJson.gasUnitPrice, 100);
|
|
233
|
+
should_1.default.equal(toJson.expirationTime, 1736246155);
|
|
234
|
+
should_1.default.equal(toJson.feePayer, testData.feePayer.address);
|
|
235
|
+
});
|
|
236
|
+
it('should build and send a signed tx', async function () {
|
|
237
|
+
const txBuilder = factory.from(testData.DIGITAL_ASSET_TRANSFER);
|
|
238
|
+
const tx = (await txBuilder.build());
|
|
239
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.SendNFT);
|
|
240
|
+
tx.inputs.length.should.equal(1);
|
|
241
|
+
tx.inputs[0].should.deepEqual({
|
|
242
|
+
address: testData.sender2.address,
|
|
243
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
244
|
+
coin: 'tapt',
|
|
245
|
+
});
|
|
246
|
+
tx.outputs.length.should.equal(1);
|
|
247
|
+
tx.outputs[0].should.deepEqual({
|
|
248
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
249
|
+
value: testData.digitalTokenRecipients[0].amount,
|
|
250
|
+
coin: 'tapt',
|
|
251
|
+
});
|
|
252
|
+
should_1.default.equal(tx.id, '0x3a97bbf538a73f98625b65c770bbf69d032ac18cd028b871182a127f10ab5666');
|
|
253
|
+
should_1.default.equal(tx.maxGasAmount, 200000);
|
|
254
|
+
should_1.default.equal(tx.gasUnitPrice, 100);
|
|
255
|
+
should_1.default.equal(tx.sequenceNumber, 171);
|
|
256
|
+
should_1.default.equal(tx.expirationTime, 1738041170);
|
|
257
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.SendNFT);
|
|
258
|
+
const rawTx = tx.toBroadcastFormat();
|
|
259
|
+
should_1.default.equal(txBuilder.isValidRawTransaction(rawTx), true);
|
|
260
|
+
should_1.default.equal(rawTx, testData.DIGITAL_ASSET_TRANSFER);
|
|
261
|
+
const toJson = tx.toJson();
|
|
262
|
+
should_1.default.equal(toJson.id, '0x3a97bbf538a73f98625b65c770bbf69d032ac18cd028b871182a127f10ab5666');
|
|
263
|
+
should_1.default.equal(toJson.sender, testData.sender2.address);
|
|
264
|
+
should_1.default.deepEqual(toJson.recipient, {
|
|
265
|
+
address: testData.digitalTokenRecipients[0].address,
|
|
266
|
+
amount: testData.digitalTokenRecipients[0].amount.toString(),
|
|
267
|
+
});
|
|
268
|
+
should_1.default.equal(tx.assetId, testData.digitalAssetAddress);
|
|
269
|
+
should_1.default.equal(toJson.sequenceNumber, 171);
|
|
270
|
+
should_1.default.equal(toJson.maxGasAmount, 200000);
|
|
271
|
+
should_1.default.equal(toJson.gasUnitPrice, 100);
|
|
272
|
+
should_1.default.equal(toJson.expirationTime, 1738041170);
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRhbEFzc2V0VHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci9kaWdpdGFsQXNzZXRUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBeUQ7QUFDekQsNENBQXVDO0FBQ3ZDLDhEQUFnRDtBQUNoRCw4Q0FBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLDRGQUF5RjtBQUV6RixRQUFRLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxFQUFFO0lBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQWlCLEVBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsaUVBQWlFO0lBQ2pFLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLO1FBQy9DLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEYsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEQsU0FBUyxDQUFDLE9BQU8sQ0FBQztZQUNoQixZQUFZLEVBQUUsTUFBTTtZQUNwQixZQUFZLEVBQUUsR0FBRztTQUNsQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hELFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0IsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FB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USxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQ25ELE1BQU0sRUFBRSxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTthQUM3RCxDQUFDLENBQUM7WUFDSCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3ZELGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDekMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi9nZXRCdWlsZGVyRmFjdG9yeSc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcy9hcHQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IERpZ2l0YWxBc3NldFRyYW5zZmVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbi9kaWdpdGFsQXNzZXRUcmFuc2Zlcic7XG5cbmRlc2NyaWJlKCdBcHQgRGlnaXRhbCBBc3NldCBUcmFuc2ZlciBCdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBmYWN0b3J5ID0gZ2V0QnVpbGRlckZhY3RvcnkoJ3RhcHQnKTtcbiAgLy9UT0RPOiBjaGFuZ2UgY29pbiAndGFwdCcgdG8gZGlnaXRhbCBhc3NldCAobmZ0KSB3aGVuIGNvbmZpZ3VyZWRcbiAgaXQoJ3Nob3VsZCBidWlsZCBhIGRpZ2l0YWwgYXNzZXQgdHJhbnNmZXInLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZGlnaXRhbEFzc2V0VHJhbnNmZXIgPSBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXIoY29pbnMuZ2V0KCd0YXB0JykpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0RGlnaXRhbEFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKGRpZ2l0YWxBc3NldFRyYW5zZmVyKTtcbiAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyk7XG4gICAgdHhCdWlsZGVyLnJlY2lwaWVudHModGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50cyk7XG4gICAgdHhCdWlsZGVyLmdhc0RhdGEoe1xuICAgICAgbWF4R2FzQW1vdW50OiAyMDAwMDAsXG4gICAgICBnYXNVbml0UHJpY2U6IDEwMCxcbiAgICB9KTtcbiAgICB0eEJ1aWxkZXIuYXNzZXRJZCh0ZXN0RGF0YS5kaWdpdGFsQXNzZXRBZGRyZXNzKTtcbiAgICB0eEJ1aWxkZXIuc2VxdWVuY2VOdW1iZXIoMTQpO1xuICAgIHR4QnVpbGRlci5leHBpcmF0aW9uVGltZSgxNzM2MjQ2MTU1KTtcbiAgICB0eEJ1aWxkZXIuYWRkRmVlUGF5ZXJBZGRyZXNzKHRlc3REYXRhLmZlZVBheWVyLmFkZHJlc3MpO1xuICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBEaWdpdGFsQXNzZXRUcmFuc2ZlcjtcbiAgICBzaG91bGQuZXF1YWwodHguc2VuZGVyLCB0ZXN0RGF0YS5zZW5kZXIyLmFkZHJlc3MpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5yZWNpcGllbnRzWzBdLmFkZHJlc3MsIHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LnJlY2lwaWVudC5hZGRyZXNzLCB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFkZHJlc3MpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5hc3NldElkLCB0ZXN0RGF0YS5kaWdpdGFsQXNzZXRBZGRyZXNzKTtcbiAgICBzaG91bGQuZXF1YWwodHgubWF4R2FzQW1vdW50LCAyMDAwMDApO1xuICAgIHNob3VsZC5lcXVhbCh0eC5nYXNVbml0UHJpY2UsIDEwMCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LnNlcXVlbmNlTnVtYmVyLCAxNCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LmV4cGlyYXRpb25UaW1lLCAxNzM2MjQ2MTU1KTtcbiAgICBzaG91bGQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlNlbmRORlQpO1xuICAgIHR4LmlucHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4LmlucHV0c1swXS5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgIGFkZHJlc3M6IHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyxcbiAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgIGNvaW46ICd0YXB0JyxcbiAgICB9KTtcbiAgICB0eC5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgdHgub3V0cHV0c1swXS5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgIGNvaW46ICd0YXB0JyxcbiAgICB9KTtcbiAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4QnVpbGRlci5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHgpLCB0cnVlKTtcbiAgICByYXdUeC5zaG91bGQuZXF1YWwoXG4gICAgICAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5MGUwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NmY2MjZhNjU2Mzc0MDg3NDcyNjE2ZTczNjY2NTcyMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwNTc0NmY2YjY1NmUwNTU0NmY2YjY1NmUwMDAyMjAyZTM1NjA2Mjc3NzQ2OWQzOWNhNWQ5YjcyNTEyY2UyZDU3MTNkNzkzOGVkNmNhOTE5M2Q0ZmMyMDE2YTgxOWZkMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5NDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA4YjAzN2Q2NzAwMDAwMDAwMDIwMzAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgYW5kIHNlbmQgYSBzaWduZWQgdHgnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHRlc3REYXRhLkRJR0lUQUxfQVNTRVRfVFJBTlNGRVIpO1xuICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBEaWdpdGFsQXNzZXRUcmFuc2ZlcjtcbiAgICBzaG91bGQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlNlbmRORlQpO1xuICAgIHR4LmlucHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4LmlucHV0c1swXS5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgIGFkZHJlc3M6IHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyxcbiAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgIGNvaW46ICd0YXB0JyxcbiAgICB9KTtcbiAgICB0eC5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgdHgub3V0cHV0c1swXS5zaG91bGQuZGVlcEVxdWFsKHtcbiAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgIGNvaW46ICd0YXB0JyxcbiAgICB9KTtcbiAgICBzaG91bGQuZXF1YWwodHguaWQsICcweDNhOTdiYmY1MzhhNzNmOTg2MjViNjVjNzcwYmJmNjlkMDMyYWMxOGNkMDI4Yjg3MTE4MmExMjdmMTBhYjU2NjYnKTtcbiAgICBzaG91bGQuZXF1YWwodHgubWF4R2FzQW1vdW50LCAyMDAwMDApO1xuICAgIHNob3VsZC5lcXVhbCh0eC5nYXNVbml0UHJpY2UsIDEwMCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LnNlcXVlbmNlTnVtYmVyLCAxNzEpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5leHBpcmF0aW9uVGltZSwgMTczODA0MTE3MCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUKTtcbiAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4QnVpbGRlci5pc1ZhbGlkUmF3VHJhbnNhY3Rpb24ocmF3VHgpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwocmF3VHgsIHRlc3REYXRhLkRJR0lUQUxfQVNTRVRfVFJBTlNGRVIpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHN1Y2NlZWQgdG8gdmFsaWRhdGUgYSB2YWxpZCBzaWduYWJsZVBheWxvYWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXIoY29pbnMuZ2V0KCd0YXB0JykpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0RGlnaXRhbEFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKHRyYW5zYWN0aW9uKTtcbiAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyk7XG4gICAgdHhCdWlsZGVyLnJlY2lwaWVudHMoW3Rlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF1dKTtcbiAgICB0eEJ1aWxkZXIuZ2FzRGF0YSh7XG4gICAgICBtYXhHYXNBbW91bnQ6IDIwMDAwMCxcbiAgICAgIGdhc1VuaXRQcmljZTogMTAwLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5zZXF1ZW5jZU51bWJlcigxNCk7XG4gICAgdHhCdWlsZGVyLmV4cGlyYXRpb25UaW1lKDE3MzYyNDYxNTUpO1xuICAgIHR4QnVpbGRlci5hc3NldElkKHRlc3REYXRhLmRpZ2l0YWxBc3NldEFkZHJlc3MpO1xuICAgIHR4QnVpbGRlci5hZGRGZWVQYXllckFkZHJlc3ModGVzdERhdGEuZmVlUGF5ZXIuYWRkcmVzcyk7XG4gICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIERpZ2l0YWxBc3NldFRyYW5zZmVyO1xuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IHR4LnNpZ25hYmxlUGF5bG9hZDtcbiAgICBzaG91bGQuZXF1YWwoXG4gICAgICBzaWduYWJsZVBheWxvYWQudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgJzVlZmEzYzRmMDJmODNhMGY0YjJkNjlmYzk1YzYwN2NjMDI4MjVjYzRlN2JlNTM2ZWYwOTkyZGYwNTBkOWU2N2MwMTFhZWQ4MDg5MTZhYjliMWIzMGIwN2FiYjUzNTYxYWZkNDY4NDcyODVjZTI4NjUxMjIxZDQwNjE3M2EzNzI0NDkwZTAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDY2ZjYyNmE2NTYzNzQwODc0NzI2MTZlNzM2NjY1NzIwMTA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDA1NzQ2ZjZiNjU2ZTA1NTQ2ZjZiNjU2ZTAwMDIyMDJlMzU2MDYyNzc3NDY5ZDM5Y2E1ZDliNzI1MTJjZTJkNTcxM2Q3OTM4ZWQ2Y2E5MTkzZDRmYzIwMTZhODE5ZmQyMGY3NDA1YzI4YTAyY2Y1YmFiNGVhNDQ5ODI0MGJiMzU3OWRiNDU5NTE3OTRlYjFjODQzYmVmMDUzNGMwOTNhZDk0MDBkMDMwMDAwMDAwMDAwNjQwMDAwMDAwMDAwMDAwMDhiMDM3ZDY3MDAwMDAwMDAwMjAwZGJjODdhMWM4MTZkOWJjZDA2YjY4M2MzN2U4MGM3MTYyZTRkNDhkYTc4MTIxOThiODMwZTRkNWQ4ZTA2MjlmMidcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIGEgdW5zaWduZWQgdHggYW5kIHZhbGlkYXRlIGl0cyB0b0pzb24nLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXIoY29pbnMuZ2V0KCd0YXB0JykpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0RGlnaXRhbEFzc2V0VHJhbnNhY3Rpb25CdWlsZGVyKHRyYW5zYWN0aW9uKTtcbiAgICB0eEJ1aWxkZXIuc2VuZGVyKHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyk7XG4gICAgdHhCdWlsZGVyLnJlY2lwaWVudHMoW3Rlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF1dKTtcbiAgICB0eEJ1aWxkZXIuZ2FzRGF0YSh7XG4gICAgICBtYXhHYXNBbW91bnQ6IDIwMDAwMCxcbiAgICAgIGdhc1VuaXRQcmljZTogMTAwLFxuICAgIH0pO1xuICAgIHR4QnVpbGRlci5zZXF1ZW5jZU51bWJlcigxNCk7XG4gICAgdHhCdWlsZGVyLmV4cGlyYXRpb25UaW1lKDE3MzYyNDYxNTUpO1xuICAgIHR4QnVpbGRlci5hc3NldElkKHRlc3REYXRhLmRpZ2l0YWxBc3NldEFkZHJlc3MpO1xuICAgIHR4QnVpbGRlci5hZGRGZWVQYXllckFkZHJlc3ModGVzdERhdGEuZmVlUGF5ZXIuYWRkcmVzcyk7XG4gICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIERpZ2l0YWxBc3NldFRyYW5zZmVyO1xuICAgIGNvbnN0IHRvSnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0b0pzb24uc2VuZGVyLCB0ZXN0RGF0YS5zZW5kZXIyLmFkZHJlc3MpO1xuICAgIHNob3VsZC5kZWVwRXF1YWwodG9Kc29uLnJlY2lwaWVudHMsIFtcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzczogdGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50c1swXS5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYW1vdW50LFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKHRvSnNvbi5yZWNpcGllbnQsIHtcbiAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgIGFtb3VudDogdGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50c1swXS5hbW91bnQsXG4gICAgfSk7XG4gICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZXF1ZW5jZU51bWJlciwgMTQpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5hc3NldElkLCB0ZXN0RGF0YS5kaWdpdGFsQXNzZXRBZGRyZXNzKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLm1heEdhc0Ftb3VudCwgMjAwMDAwKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLmdhc1VuaXRQcmljZSwgMTAwKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLmV4cGlyYXRpb25UaW1lLCAxNzM2MjQ2MTU1KTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLmZlZVBheWVyLCB0ZXN0RGF0YS5mZWVQYXllci5hZGRyZXNzKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBidWlsZCBhIHNpZ25lZCB0eCBhbmQgdmFsaWRhdGUgaXRzIHRvSnNvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20odGVzdERhdGEuRElHSVRBTF9BU1NFVF9UUkFOU0ZFUik7XG4gICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIERpZ2l0YWxBc3NldFRyYW5zZmVyO1xuICAgIGNvbnN0IHRvSnNvbiA9IHR4LnRvSnNvbigpO1xuICAgIHNob3VsZC5lcXVhbCh0b0pzb24uaWQsICcweDNhOTdiYmY1MzhhNzNmOTg2MjViNjVjNzcwYmJmNjlkMDMyYWMxOGNkMDI4Yjg3MTE4MmExMjdmMTBhYjU2NjYnKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLnNlbmRlciwgdGVzdERhdGEuc2VuZGVyMi5hZGRyZXNzKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKHRvSnNvbi5yZWNpcGllbnRzLCBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBzaG91bGQuZGVlcEVxdWFsKHRvSnNvbi5yZWNpcGllbnQsIHtcbiAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgIGFtb3VudDogdGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50c1swXS5hbW91bnQudG9TdHJpbmcoKSxcbiAgICB9KTtcbiAgICBzaG91bGQuZXF1YWwodHguYXNzZXRJZCwgdGVzdERhdGEuZGlnaXRhbEFzc2V0QWRkcmVzcyk7XG4gICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZXF1ZW5jZU51bWJlciwgMTcxKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLm1heEdhc0Ftb3VudCwgMjAwMDAwKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLmdhc1VuaXRQcmljZSwgMTAwKTtcbiAgICBzaG91bGQuZXF1YWwodG9Kc29uLmV4cGlyYXRpb25UaW1lLCAxNzM4MDQxMTcwKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCB0ZXN0IGZvciBkZXByZWNhdGVkIGZpZWxkIHJlY2lwaWVudCBpbiBidWlsZGluZyB0cmFuc2FjdGlvbiwgd2l0aG91dCB1c2FnZSBvZiByZWNpcGllbnRzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYnVpbGQgYSBkaWdpdGFsIGFzc2V0IHRyYW5zZmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZGlnaXRhbEFzc2V0VHJhbnNmZXIgPSBuZXcgRGlnaXRhbEFzc2V0VHJhbnNmZXIoY29pbnMuZ2V0KCd0YXB0JykpO1xuICAgICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXREaWdpdGFsQXNzZXRUcmFuc2FjdGlvbkJ1aWxkZXIoZGlnaXRhbEFzc2V0VHJhbnNmZXIpO1xuICAgICAgdHhCdWlsZGVyLnNlbmRlcih0ZXN0RGF0YS5zZW5kZXIyLmFkZHJlc3MpO1xuICAgICAgdHhCdWlsZGVyLnJlY2lwaWVudCh0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdKTtcbiAgICAgIHR4QnVpbGRlci5nYXNEYXRhKHtcbiAgICAgICAgbWF4R2FzQW1vdW50OiAyMDAwMDAsXG4gICAgICAgIGdhc1VuaXRQcmljZTogMTAwLFxuICAgICAgfSk7XG4gICAgICB0eEJ1aWxkZXIuYXNzZXRJZCh0ZXN0RGF0YS5kaWdpdGFsQXNzZXRBZGRyZXNzKTtcbiAgICAgIHR4QnVpbGRlci5zZXF1ZW5jZU51bWJlcigxNCk7XG4gICAgICB0eEJ1aWxkZXIuZXhwaXJhdGlvblRpbWUoMTczNjI0NjE1NSk7XG4gICAgICB0eEJ1aWxkZXIuYWRkRmVlUGF5ZXJBZGRyZXNzKHRlc3REYXRhLmZlZVBheWVyLmFkZHJlc3MpO1xuICAgICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIERpZ2l0YWxBc3NldFRyYW5zZmVyO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnNlbmRlciwgdGVzdERhdGEuc2VuZGVyMi5hZGRyZXNzKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5yZWNpcGllbnQuYWRkcmVzcywgdGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50c1swXS5hZGRyZXNzKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5hc3NldElkLCB0ZXN0RGF0YS5kaWdpdGFsQXNzZXRBZGRyZXNzKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5tYXhHYXNBbW91bnQsIDIwMDAwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZ2FzVW5pdFByaWNlLCAxMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnNlcXVlbmNlTnVtYmVyLCAxNCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZXhwaXJhdGlvblRpbWUsIDE3MzYyNDYxNTUpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUKTtcbiAgICAgIHR4LmlucHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgICAgdHguaW5wdXRzWzBdLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5zZW5kZXIyLmFkZHJlc3MsXG4gICAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgICAgY29pbjogJ3RhcHQnLFxuICAgICAgfSk7XG4gICAgICB0eC5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICB0eC5vdXRwdXRzWzBdLnNob3VsZC5kZWVwRXF1YWwoe1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFkZHJlc3MsXG4gICAgICAgIHZhbHVlOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFtb3VudCxcbiAgICAgICAgY29pbjogJ3RhcHQnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCByYXdUeCA9IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG4gICAgICBzaG91bGQuZXF1YWwodHhCdWlsZGVyLmlzVmFsaWRSYXdUcmFuc2FjdGlvbihyYXdUeCksIHRydWUpO1xuICAgICAgcmF3VHguc2hvdWxkLmVxdWFsKFxuICAgICAgICAnMHgxYWVkODA4OTE2YWI5YjFiMzBiMDdhYmI1MzU2MWFmZDQ2ODQ3Mjg1Y2UyODY1MTIyMWQ0MDYxNzNhMzcyNDQ5MGUwMDAwMDAwMDAwMDAwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA2NmY2MjZhNjU2Mzc0MDg3NDcyNjE2ZTczNjY2NTcyMDEwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwNTc0NmY2YjY1NmUwNTU0NmY2YjY1NmUwMDAyMjAyZTM1NjA2Mjc3NzQ2OWQzOWNhNWQ5YjcyNTEyY2UyZDU3MTNkNzkzOGVkNmNhOTE5M2Q0ZmMyMDE2YTgxOWZkMjBmNzQwNWMyOGEwMmNmNWJhYjRlYTQ0OTgyNDBiYjM1NzlkYjQ1OTUxNzk0ZWIxYzg0M2JlZjA1MzRjMDkzYWQ5NDAwZDAzMDAwMDAwMDAwMDY0MDAwMDAwMDAwMDAwMDA4YjAzN2Q2NzAwMDAwMDAwMDIwMzAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBkYmM4N2ExYzgxNmQ5YmNkMDZiNjgzYzM3ZTgwYzcxNjJlNGQ0OGRhNzgxMjE5OGI4MzBlNGQ1ZDhlMDYyOWYyMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xuICAgICAgKTtcbiAgICAgIGNvbnN0IHRvSnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZW5kZXIsIHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHRvSnNvbi5yZWNpcGllbnQsIHtcbiAgICAgICAgYWRkcmVzczogdGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50c1swXS5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYW1vdW50LFxuICAgICAgfSk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLnNlcXVlbmNlTnVtYmVyLCAxNCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguYXNzZXRJZCwgdGVzdERhdGEuZGlnaXRhbEFzc2V0QWRkcmVzcyk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLm1heEdhc0Ftb3VudCwgMjAwMDAwKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24uZ2FzVW5pdFByaWNlLCAxMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5leHBpcmF0aW9uVGltZSwgMTczNjI0NjE1NSk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLmZlZVBheWVyLCB0ZXN0RGF0YS5mZWVQYXllci5hZGRyZXNzKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYW5kIHNlbmQgYSBzaWduZWQgdHgnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20odGVzdERhdGEuRElHSVRBTF9BU1NFVF9UUkFOU0ZFUik7XG4gICAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgRGlnaXRhbEFzc2V0VHJhbnNmZXI7XG4gICAgICBzaG91bGQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlNlbmRORlQpO1xuICAgICAgdHguaW5wdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgICB0eC5pbnB1dHNbMF0uc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLnNlbmRlcjIuYWRkcmVzcyxcbiAgICAgICAgdmFsdWU6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYW1vdW50LFxuICAgICAgICBjb2luOiAndGFwdCcsXG4gICAgICB9KTtcbiAgICAgIHR4Lm91dHB1dHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICAgIHR4Lm91dHB1dHNbMF0uc2hvdWxkLmRlZXBFcXVhbCh7XG4gICAgICAgIGFkZHJlc3M6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYWRkcmVzcyxcbiAgICAgICAgdmFsdWU6IHRlc3REYXRhLmRpZ2l0YWxUb2tlblJlY2lwaWVudHNbMF0uYW1vdW50LFxuICAgICAgICBjb2luOiAndGFwdCcsXG4gICAgICB9KTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5pZCwgJzB4M2E5N2JiZjUzOGE3M2Y5ODYyNWI2NWM3NzBiYmY2OWQwMzJhYzE4Y2QwMjhiODcxMTgyYTEyN2YxMGFiNTY2NicpO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4Lm1heEdhc0Ftb3VudCwgMjAwMDAwKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eC5nYXNVbml0UHJpY2UsIDEwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodHguc2VxdWVuY2VOdW1iZXIsIDE3MSk7XG4gICAgICBzaG91bGQuZXF1YWwodHguZXhwaXJhdGlvblRpbWUsIDE3MzgwNDExNzApO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TZW5kTkZUKTtcbiAgICAgIGNvbnN0IHJhd1R4ID0gdHgudG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0eEJ1aWxkZXIuaXNWYWxpZFJhd1RyYW5zYWN0aW9uKHJhd1R4KSwgdHJ1ZSk7XG4gICAgICBzaG91bGQuZXF1YWwocmF3VHgsIHRlc3REYXRhLkRJR0lUQUxfQVNTRVRfVFJBTlNGRVIpO1xuICAgICAgY29uc3QgdG9Kc29uID0gdHgudG9Kc29uKCk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLmlkLCAnMHgzYTk3YmJmNTM4YTczZjk4NjI1YjY1Yzc3MGJiZjY5ZDAzMmFjMThjZDAyOGI4NzExODJhMTI3ZjEwYWI1NjY2Jyk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLnNlbmRlciwgdGVzdERhdGEuc2VuZGVyMi5hZGRyZXNzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodG9Kc29uLnJlY2lwaWVudCwge1xuICAgICAgICBhZGRyZXNzOiB0ZXN0RGF0YS5kaWdpdGFsVG9rZW5SZWNpcGllbnRzWzBdLmFkZHJlc3MsXG4gICAgICAgIGFtb3VudDogdGVzdERhdGEuZGlnaXRhbFRva2VuUmVjaXBpZW50c1swXS5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIH0pO1xuICAgICAgc2hvdWxkLmVxdWFsKHR4LmFzc2V0SWQsIHRlc3REYXRhLmRpZ2l0YWxBc3NldEFkZHJlc3MpO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5zZXF1ZW5jZU51bWJlciwgMTcxKTtcbiAgICAgIHNob3VsZC5lcXVhbCh0b0pzb24ubWF4R2FzQW1vdW50LCAyMDAwMDApO1xuICAgICAgc2hvdWxkLmVxdWFsKHRvSnNvbi5nYXNVbml0UHJpY2UsIDEwMCk7XG4gICAgICBzaG91bGQuZXF1YWwodG9Kc29uLmV4cGlyYXRpb25UaW1lLCAxNzM4MDQxMTcwKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fungibleAssetTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/fungibleAssetTransferBuilder.ts"],"names":[],"mappings":""}
|