@bitgo-beta/sdk-coin-flrp 1.0.1-beta.67 → 1.0.1-beta.69
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/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/dist/src/flrp.d.ts +0 -91
- package/dist/src/flrp.d.ts.map +0 -1
- package/dist/src/flrp.js +0 -343
- package/dist/src/iface.d.ts +0 -25
- package/dist/src/iface.d.ts.map +0 -1
- package/dist/src/iface.js +0 -3
- package/dist/src/index.d.ts +0 -6
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -45
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts +0 -26
- package/dist/src/lib/atomicInCTransactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/atomicInCTransactionBuilder.js +0 -64
- package/dist/src/lib/atomicTransactionBuilder.d.ts +0 -96
- package/dist/src/lib/atomicTransactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/atomicTransactionBuilder.js +0 -318
- package/dist/src/lib/constants.d.ts +0 -170
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -227
- package/dist/src/lib/delegatorTxBuilder.d.ts +0 -58
- package/dist/src/lib/delegatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/delegatorTxBuilder.js +0 -224
- package/dist/src/lib/errors.d.ts +0 -8
- package/dist/src/lib/errors.d.ts.map +0 -1
- package/dist/src/lib/errors.js +0 -19
- package/dist/src/lib/exportInCTxBuilder.d.ts +0 -77
- package/dist/src/lib/exportInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInCTxBuilder.js +0 -199
- package/dist/src/lib/exportInPTxBuilder.d.ts +0 -30
- package/dist/src/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/exportInPTxBuilder.js +0 -120
- package/dist/src/lib/iface.d.ts +0 -119
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -22
- package/dist/src/lib/importInCTxBuilder.d.ts +0 -67
- package/dist/src/lib/importInCTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/importInCTxBuilder.js +0 -403
- package/dist/src/lib/importInPTxBuilder.d.ts +0 -73
- package/dist/src/lib/importInPTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/importInPTxBuilder.js +0 -464
- package/dist/src/lib/index.d.ts +0 -12
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -39
- package/dist/src/lib/keyPair.d.ts +0 -58
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -142
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts +0 -81
- package/dist/src/lib/permissionlessValidatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/permissionlessValidatorTxBuilder.js +0 -248
- package/dist/src/lib/transaction.d.ts +0 -111
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -322
- package/dist/src/lib/transactionBuilder.d.ts +0 -85
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -167
- package/dist/src/lib/transactionBuilderFactory.d.ts +0 -37
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilderFactory.js +0 -91
- package/dist/src/lib/types.d.ts +0 -78
- package/dist/src/lib/types.d.ts.map +0 -1
- package/dist/src/lib/types.js +0 -5
- package/dist/src/lib/utils.d.ts +0 -217
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -498
- package/dist/src/lib/validatorTxBuilder.d.ts +0 -40
- package/dist/src/lib/validatorTxBuilder.d.ts.map +0 -1
- package/dist/src/lib/validatorTxBuilder.js +0 -180
- package/dist/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -11
- package/dist/src/tflrp.d.ts +0 -8
- package/dist/src/tflrp.d.ts.map +0 -1
- package/dist/src/tflrp.js +0 -14
- package/dist/test/unit/delegatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/delegatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/delegatorTxBuilder.test.js +0 -233
- package/dist/test/unit/flrp.d.ts +0 -2
- package/dist/test/unit/flrp.d.ts.map +0 -1
- package/dist/test/unit/flrp.js +0 -118
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts +0 -2
- package/dist/test/unit/lib/atomicTransactionBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/atomicTransactionBuilder.js +0 -222
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/exportInCTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/exportInCTxBuilder.js +0 -584
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/exportInPTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/exportInPTxBuilder.js +0 -377
- package/dist/test/unit/lib/importInCTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/importInCTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/importInCTxBuilder.js +0 -257
- package/dist/test/unit/lib/importInPTxBuilder.d.ts +0 -2
- package/dist/test/unit/lib/importInPTxBuilder.d.ts.map +0 -1
- package/dist/test/unit/lib/importInPTxBuilder.js +0 -500
- package/dist/test/unit/lib/transaction.d.ts +0 -2
- package/dist/test/unit/lib/transaction.d.ts.map +0 -1
- package/dist/test/unit/lib/transaction.js +0 -460
- package/dist/test/unit/lib/utils.d.ts +0 -2
- package/dist/test/unit/lib/utils.d.ts.map +0 -1
- package/dist/test/unit/lib/utils.js +0 -286
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/permissionlessValidatorTxBuilder.test.js +0 -271
- package/dist/test/unit/smoke.d.ts +0 -2
- package/dist/test/unit/smoke.d.ts.map +0 -1
- package/dist/test/unit/smoke.js +0 -23
- package/dist/test/unit/transactionBuilder.test.d.ts +0 -2
- package/dist/test/unit/transactionBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/transactionBuilder.test.js +0 -114
- package/dist/test/unit/validatorTxBuilder.test.d.ts +0 -2
- package/dist/test/unit/validatorTxBuilder.test.d.ts.map +0 -1
- package/dist/test/unit/validatorTxBuilder.test.js +0 -293
|
@@ -1,271 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const statics_1 = require("@bitgo-beta/statics");
|
|
37
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
38
|
-
const assert = __importStar(require("assert"));
|
|
39
|
-
const permissionlessValidatorTxBuilder_1 = require("../../src/lib/permissionlessValidatorTxBuilder");
|
|
40
|
-
describe('PermissionlessValidatorTxBuilder', function () {
|
|
41
|
-
const coinConfig = statics_1.coins.get('tflrp');
|
|
42
|
-
let builder;
|
|
43
|
-
beforeEach(function () {
|
|
44
|
-
builder = new permissionlessValidatorTxBuilder_1.PermissionlessValidatorTxBuilder(coinConfig);
|
|
45
|
-
});
|
|
46
|
-
describe('Constructor', function () {
|
|
47
|
-
it('should create a permissionless validator transaction builder', function () {
|
|
48
|
-
assert.ok(builder);
|
|
49
|
-
assert.ok(builder instanceof permissionlessValidatorTxBuilder_1.PermissionlessValidatorTxBuilder);
|
|
50
|
-
});
|
|
51
|
-
it('should set transaction type to AddPermissionlessValidator', function () {
|
|
52
|
-
assert.strictEqual(builder['transactionType'], sdk_core_1.TransactionType.AddPermissionlessValidator);
|
|
53
|
-
});
|
|
54
|
-
it('should initialize with default values', function () {
|
|
55
|
-
assert.strictEqual(builder['_nodeID'], undefined);
|
|
56
|
-
assert.strictEqual(builder['_blsPublicKey'], undefined);
|
|
57
|
-
assert.strictEqual(builder['_blsSignature'], undefined);
|
|
58
|
-
assert.strictEqual(builder['_startTime'], undefined);
|
|
59
|
-
assert.strictEqual(builder['_endTime'], undefined);
|
|
60
|
-
assert.strictEqual(builder['_stakeAmount'], undefined);
|
|
61
|
-
assert.strictEqual(builder['recoverSigner'], undefined); // AtomicTransactionBuilder doesn't inherit this
|
|
62
|
-
assert.strictEqual(builder['_delegationFeeRate'], undefined);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe('nodeID management', function () {
|
|
66
|
-
it('should set valid node ID', function () {
|
|
67
|
-
const nodeID = 'NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg';
|
|
68
|
-
const result = builder.nodeID(nodeID);
|
|
69
|
-
assert.strictEqual(result, builder);
|
|
70
|
-
assert.strictEqual(builder['_nodeID'], nodeID);
|
|
71
|
-
});
|
|
72
|
-
it('should reject empty node ID', function () {
|
|
73
|
-
assert.throws(() => {
|
|
74
|
-
builder.nodeID('');
|
|
75
|
-
}, sdk_core_1.BuildTransactionError);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe('BLS key management', function () {
|
|
79
|
-
it('should set valid BLS public key', function () {
|
|
80
|
-
const blsKey = '0x' + 'a'.repeat(96); // 48 bytes = 96 hex chars
|
|
81
|
-
const result = builder.blsPublicKey(blsKey);
|
|
82
|
-
assert.strictEqual(result, builder);
|
|
83
|
-
assert.strictEqual(builder['_blsPublicKey'], blsKey);
|
|
84
|
-
});
|
|
85
|
-
it('should reject invalid BLS public key', function () {
|
|
86
|
-
assert.throws(() => {
|
|
87
|
-
builder.blsPublicKey('invalid-key');
|
|
88
|
-
}, sdk_core_1.BuildTransactionError);
|
|
89
|
-
});
|
|
90
|
-
it('should set valid BLS signature', function () {
|
|
91
|
-
const blsSignature = '0x' + 'b'.repeat(192); // 96 bytes = 192 hex chars
|
|
92
|
-
const result = builder.blsSignature(blsSignature);
|
|
93
|
-
assert.strictEqual(result, builder);
|
|
94
|
-
assert.strictEqual(builder['_blsSignature'], blsSignature);
|
|
95
|
-
});
|
|
96
|
-
it('should reject invalid BLS signature', function () {
|
|
97
|
-
assert.throws(() => {
|
|
98
|
-
builder.blsSignature('invalid-signature');
|
|
99
|
-
}, sdk_core_1.BuildTransactionError);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
describe('time management', function () {
|
|
103
|
-
describe('startTime', function () {
|
|
104
|
-
it('should set valid start time with bigint', function () {
|
|
105
|
-
const time = 1640995200n;
|
|
106
|
-
const result = builder.startTime(time);
|
|
107
|
-
assert.strictEqual(result, builder);
|
|
108
|
-
assert.strictEqual(builder['_startTime'], time);
|
|
109
|
-
});
|
|
110
|
-
it('should set valid start time with number', function () {
|
|
111
|
-
const time = 1640995200;
|
|
112
|
-
const result = builder.startTime(time);
|
|
113
|
-
assert.strictEqual(result, builder);
|
|
114
|
-
assert.strictEqual(builder['_startTime'], BigInt(time));
|
|
115
|
-
});
|
|
116
|
-
it('should reject negative start time', function () {
|
|
117
|
-
assert.throws(() => {
|
|
118
|
-
builder.startTime(-1n);
|
|
119
|
-
}, sdk_core_1.BuildTransactionError);
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
describe('endTime', function () {
|
|
123
|
-
it('should set valid end time with bigint', function () {
|
|
124
|
-
const time = 1641081600n;
|
|
125
|
-
const result = builder.endTime(time);
|
|
126
|
-
assert.strictEqual(result, builder);
|
|
127
|
-
assert.strictEqual(builder['_endTime'], time);
|
|
128
|
-
});
|
|
129
|
-
it('should set valid end time with number', function () {
|
|
130
|
-
const time = 1641081600;
|
|
131
|
-
const result = builder.endTime(time);
|
|
132
|
-
assert.strictEqual(result, builder);
|
|
133
|
-
assert.strictEqual(builder['_endTime'], BigInt(time));
|
|
134
|
-
});
|
|
135
|
-
it('should reject negative end time', function () {
|
|
136
|
-
assert.throws(() => {
|
|
137
|
-
builder.endTime(-1n);
|
|
138
|
-
}, sdk_core_1.BuildTransactionError);
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
describe('stake amount management', function () {
|
|
143
|
-
it('should set valid stake amount with bigint', function () {
|
|
144
|
-
const amount = 1000000000000000000n;
|
|
145
|
-
const result = builder.stakeAmount(amount);
|
|
146
|
-
assert.strictEqual(result, builder);
|
|
147
|
-
assert.strictEqual(builder['_stakeAmount'], amount);
|
|
148
|
-
});
|
|
149
|
-
it('should set valid stake amount with number', function () {
|
|
150
|
-
const amount = 1000000;
|
|
151
|
-
const result = builder.stakeAmount(amount);
|
|
152
|
-
assert.strictEqual(result, builder);
|
|
153
|
-
assert.strictEqual(builder['_stakeAmount'], BigInt(amount));
|
|
154
|
-
});
|
|
155
|
-
it('should reject negative stake amount', function () {
|
|
156
|
-
assert.throws(() => {
|
|
157
|
-
builder.stakeAmount(-1n);
|
|
158
|
-
}, sdk_core_1.BuildTransactionError);
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
describe('delegation fee rate management', function () {
|
|
162
|
-
it('should set valid delegation fee rate', function () {
|
|
163
|
-
const feeRate = 25000; // 2.5% in basis points
|
|
164
|
-
const result = builder.delegationFeeRate(feeRate);
|
|
165
|
-
assert.strictEqual(result, builder);
|
|
166
|
-
assert.strictEqual(builder['_delegationFeeRate'], feeRate);
|
|
167
|
-
});
|
|
168
|
-
it('should reject delegation fee rate below minimum', function () {
|
|
169
|
-
// Test with a value below the expected minimum
|
|
170
|
-
assert.throws(() => {
|
|
171
|
-
builder.delegationFeeRate(10000); // 1% - should be too low
|
|
172
|
-
}, sdk_core_1.BuildTransactionError);
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
describe('validation through methods', function () {
|
|
176
|
-
it('should validate through constructor and methods', function () {
|
|
177
|
-
// Test that the builder accepts valid values
|
|
178
|
-
assert.doesNotThrow(() => {
|
|
179
|
-
builder
|
|
180
|
-
.nodeID('NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg')
|
|
181
|
-
.startTime(1640995200n)
|
|
182
|
-
.endTime(1641081600n)
|
|
183
|
-
.stakeAmount(1000000000000000000n)
|
|
184
|
-
.delegationFeeRate(25000);
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
it('should reject invalid values through methods', function () {
|
|
188
|
-
// Test that invalid values are rejected
|
|
189
|
-
assert.throws(() => {
|
|
190
|
-
builder.nodeID('');
|
|
191
|
-
}, sdk_core_1.BuildTransactionError);
|
|
192
|
-
assert.throws(() => {
|
|
193
|
-
builder.startTime(-1n);
|
|
194
|
-
}, sdk_core_1.BuildTransactionError);
|
|
195
|
-
assert.throws(() => {
|
|
196
|
-
builder.endTime(-1n);
|
|
197
|
-
}, sdk_core_1.BuildTransactionError);
|
|
198
|
-
assert.throws(() => {
|
|
199
|
-
builder.stakeAmount(-1n);
|
|
200
|
-
}, sdk_core_1.BuildTransactionError);
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
describe('Method chaining', function () {
|
|
204
|
-
it('should support full method chaining', function () {
|
|
205
|
-
const blsKey = '0x' + 'a'.repeat(96);
|
|
206
|
-
const blsSignature = '0x' + 'b'.repeat(192);
|
|
207
|
-
const result = builder
|
|
208
|
-
.nodeID('NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg')
|
|
209
|
-
.blsPublicKey(blsKey)
|
|
210
|
-
.blsSignature(blsSignature)
|
|
211
|
-
.startTime(1640995200n)
|
|
212
|
-
.endTime(1641081600n)
|
|
213
|
-
.stakeAmount(1000000000000000000n)
|
|
214
|
-
.delegationFeeRate(25000);
|
|
215
|
-
assert.strictEqual(result, builder);
|
|
216
|
-
});
|
|
217
|
-
it('should support chaining in different order', function () {
|
|
218
|
-
const blsKey = '0x' + 'a'.repeat(96);
|
|
219
|
-
const blsSignature = '0x' + 'b'.repeat(192);
|
|
220
|
-
const result = builder
|
|
221
|
-
.delegationFeeRate(30000)
|
|
222
|
-
.stakeAmount(2000000000000000000n)
|
|
223
|
-
.endTime(1641081600n)
|
|
224
|
-
.startTime(1640995200n)
|
|
225
|
-
.blsSignature(blsSignature)
|
|
226
|
-
.blsPublicKey(blsKey)
|
|
227
|
-
.nodeID('NodeID-8Yhx3nExvDS55k53UDC7V6680ftdSu4Mh');
|
|
228
|
-
assert.strictEqual(result, builder);
|
|
229
|
-
});
|
|
230
|
-
});
|
|
231
|
-
describe('Edge cases and validation', function () {
|
|
232
|
-
it('should handle minimum valid values', function () {
|
|
233
|
-
const blsKey = '0x' + 'a'.repeat(96);
|
|
234
|
-
const blsSignature = '0x' + 'b'.repeat(192);
|
|
235
|
-
const minFee = 20000; // Default minimum delegation fee
|
|
236
|
-
assert.doesNotThrow(() => {
|
|
237
|
-
builder
|
|
238
|
-
.nodeID('NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg')
|
|
239
|
-
.blsPublicKey(blsKey)
|
|
240
|
-
.blsSignature(blsSignature)
|
|
241
|
-
.startTime(0n)
|
|
242
|
-
.endTime(1n)
|
|
243
|
-
.stakeAmount(1n)
|
|
244
|
-
.delegationFeeRate(minFee);
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
it('should maintain state correctly after multiple operations', function () {
|
|
248
|
-
const nodeID1 = 'NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg';
|
|
249
|
-
const nodeID2 = 'NodeID-8Yhx3nExvDS55k53UDC7V6680ftdSu4Mh';
|
|
250
|
-
builder.nodeID(nodeID1);
|
|
251
|
-
assert.strictEqual(builder['_nodeID'], nodeID1);
|
|
252
|
-
builder.nodeID(nodeID2);
|
|
253
|
-
assert.strictEqual(builder['_nodeID'], nodeID2);
|
|
254
|
-
});
|
|
255
|
-
it('should handle BLS key format validation edge cases', function () {
|
|
256
|
-
// Too short
|
|
257
|
-
assert.throws(() => {
|
|
258
|
-
builder.blsPublicKey('0x' + 'a'.repeat(95));
|
|
259
|
-
}, sdk_core_1.BuildTransactionError);
|
|
260
|
-
// Too long
|
|
261
|
-
assert.throws(() => {
|
|
262
|
-
builder.blsPublicKey('0x' + 'a'.repeat(97));
|
|
263
|
-
}, sdk_core_1.BuildTransactionError);
|
|
264
|
-
// No 0x prefix
|
|
265
|
-
assert.throws(() => {
|
|
266
|
-
builder.blsPublicKey('a'.repeat(96));
|
|
267
|
-
}, sdk_core_1.BuildTransactionError);
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
});
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbmxlc3NWYWxpZGF0b3JUeEJ1aWxkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9wZXJtaXNzaW9ubGVzc1ZhbGlkYXRvclR4QnVpbGRlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQTRDO0FBQzVDLG1EQUE4RTtBQUM5RSwrQ0FBaUM7QUFDakMscUdBQWtHO0FBRWxHLFFBQVEsQ0FBQyxrQ0FBa0MsRUFBRTtJQUMzQyxNQUFNLFVBQVUsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLElBQUksT0FBeUMsQ0FBQztJQUU5QyxVQUFVLENBQUM7UUFDVCxPQUFPLEdBQUcsSUFBSSxtRUFBZ0MsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxhQUFhLEVBQUU7UUFDdEIsRUFBRSxDQUFDLDhEQUE4RCxFQUFFO1lBQ2pFLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLFlBQVksbUVBQWdDLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyREFBMkQsRUFBRTtZQUM5RCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLDBCQUFlLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRTtZQUMxQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNsRCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxTQUFTLENB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Q0FBQztZQUN4QixNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRTtZQUN2RCxZQUFZO1lBQ1osTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDLEVBQUUsZ0NBQXFCLENBQUMsQ0FBQztZQUUxQixXQUFXO1lBQ1gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDLEVBQUUsZ0NBQXFCLENBQUMsQ0FBQztZQUUxQixlQUFlO1lBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsRUFBRSxnQ0FBcUIsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbmxlc3NWYWxpZGF0b3JUeEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMvbGliL3Blcm1pc3Npb25sZXNzVmFsaWRhdG9yVHhCdWlsZGVyJztcblxuZGVzY3JpYmUoJ1Blcm1pc3Npb25sZXNzVmFsaWRhdG9yVHhCdWlsZGVyJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KCd0ZmxycCcpO1xuICBsZXQgYnVpbGRlcjogUGVybWlzc2lvbmxlc3NWYWxpZGF0b3JUeEJ1aWxkZXI7XG5cbiAgYmVmb3JlRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgYnVpbGRlciA9IG5ldyBQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvclR4QnVpbGRlcihjb2luQ29uZmlnKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0NvbnN0cnVjdG9yJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgcGVybWlzc2lvbmxlc3MgdmFsaWRhdG9yIHRyYW5zYWN0aW9uIGJ1aWxkZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQub2soYnVpbGRlcik7XG4gICAgICBhc3NlcnQub2soYnVpbGRlciBpbnN0YW5jZW9mIFBlcm1pc3Npb25sZXNzVmFsaWRhdG9yVHhCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgc2V0IHRyYW5zYWN0aW9uIHR5cGUgdG8gQWRkUGVybWlzc2lvbmxlc3NWYWxpZGF0b3InLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsndHJhbnNhY3Rpb25UeXBlJ10sIFRyYW5zYWN0aW9uVHlwZS5BZGRQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCBkZWZhdWx0IHZhbHVlcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfbm9kZUlEJ10sIHVuZGVmaW5lZCk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2Jsc1B1YmxpY0tleSddLCB1bmRlZmluZWQpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJ1aWxkZXJbJ19ibHNTaWduYXR1cmUnXSwgdW5kZWZpbmVkKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfc3RhcnRUaW1lJ10sIHVuZGVmaW5lZCk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2VuZFRpbWUnXSwgdW5kZWZpbmVkKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfc3Rha2VBbW91bnQnXSwgdW5kZWZpbmVkKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydyZWNvdmVyU2lnbmVyJ10sIHVuZGVmaW5lZCk7IC8vIEF0b21pY1RyYW5zYWN0aW9uQnVpbGRlciBkb2Vzbid0IGluaGVyaXQgdGhpc1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGJ1aWxkZXJbJ19kZWxlZ2F0aW9uRmVlUmF0ZSddLCB1bmRlZmluZWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbm9kZUlEIG1hbmFnZW1lbnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdmFsaWQgbm9kZSBJRCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG5vZGVJRCA9ICdOb2RlSUQtN1hodzJtRHh1RFM0NGo0MlRDQjZVNTU3OWVzYlN0M0xnJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkZXIubm9kZUlEKG5vZGVJRCk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVzdWx0LCBidWlsZGVyKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfbm9kZUlEJ10sIG5vZGVJRCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBlbXB0eSBub2RlIElEJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXIubm9kZUlEKCcnKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdCTFMga2V5IG1hbmFnZW1lbnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBzZXQgdmFsaWQgQkxTIHB1YmxpYyBrZXknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBibHNLZXkgPSAnMHgnICsgJ2EnLnJlcGVhdCg5Nik7IC8vIDQ4IGJ5dGVzID0gOTYgaGV4IGNoYXJzXG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLmJsc1B1YmxpY0tleShibHNLZXkpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2Jsc1B1YmxpY0tleSddLCBibHNLZXkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgaW52YWxpZCBCTFMgcHVibGljIGtleScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgICBidWlsZGVyLmJsc1B1YmxpY0tleSgnaW52YWxpZC1rZXknKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB2YWxpZCBCTFMgc2lnbmF0dXJlJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYmxzU2lnbmF0dXJlID0gJzB4JyArICdiJy5yZXBlYXQoMTkyKTsgLy8gOTYgYnl0ZXMgPSAxOTIgaGV4IGNoYXJzXG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLmJsc1NpZ25hdHVyZShibHNTaWduYXR1cmUpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2Jsc1NpZ25hdHVyZSddLCBibHNTaWduYXR1cmUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgaW52YWxpZCBCTFMgc2lnbmF0dXJlJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXIuYmxzU2lnbmF0dXJlKCdpbnZhbGlkLXNpZ25hdHVyZScpO1xuICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3RpbWUgbWFuYWdlbWVudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBkZXNjcmliZSgnc3RhcnRUaW1lJywgZnVuY3Rpb24gKCkge1xuICAgICAgaXQoJ3Nob3VsZCBzZXQgdmFsaWQgc3RhcnQgdGltZSB3aXRoIGJpZ2ludCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgdGltZSA9IDE2NDA5OTUyMDBuO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLnN0YXJ0VGltZSh0aW1lKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfc3RhcnRUaW1lJ10sIHRpbWUpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG91bGQgc2V0IHZhbGlkIHN0YXJ0IHRpbWUgd2l0aCBudW1iZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSAxNjQwOTk1MjAwO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLnN0YXJ0VGltZSh0aW1lKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfc3RhcnRUaW1lJ10sIEJpZ0ludCh0aW1lKSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCByZWplY3QgbmVnYXRpdmUgc3RhcnQgdGltZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgICAgYnVpbGRlci5zdGFydFRpbWUoLTFuKTtcbiAgICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2VuZFRpbWUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpdCgnc2hvdWxkIHNldCB2YWxpZCBlbmQgdGltZSB3aXRoIGJpZ2ludCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgdGltZSA9IDE2NDEwODE2MDBuO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLmVuZFRpbWUodGltZSk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIGJ1aWxkZXIpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2VuZFRpbWUnXSwgdGltZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3VsZCBzZXQgdmFsaWQgZW5kIHRpbWUgd2l0aCBudW1iZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSAxNjQxMDgxNjAwO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLmVuZFRpbWUodGltZSk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIGJ1aWxkZXIpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2VuZFRpbWUnXSwgQmlnSW50KHRpbWUpKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHJlamVjdCBuZWdhdGl2ZSBlbmQgdGltZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgICAgYnVpbGRlci5lbmRUaW1lKC0xbik7XG4gICAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3N0YWtlIGFtb3VudCBtYW5hZ2VtZW50JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc2V0IHZhbGlkIHN0YWtlIGFtb3VudCB3aXRoIGJpZ2ludCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFtb3VudCA9IDEwMDAwMDAwMDAwMDAwMDAwMDBuO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRlci5zdGFrZUFtb3VudChhbW91bnQpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX3N0YWtlQW1vdW50J10sIGFtb3VudCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNldCB2YWxpZCBzdGFrZSBhbW91bnQgd2l0aCBudW1iZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBhbW91bnQgPSAxMDAwMDAwO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRlci5zdGFrZUFtb3VudChhbW91bnQpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX3N0YWtlQW1vdW50J10sIEJpZ0ludChhbW91bnQpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVqZWN0IG5lZ2F0aXZlIHN0YWtlIGFtb3VudCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgICBidWlsZGVyLnN0YWtlQW1vdW50KC0xbik7XG4gICAgICB9LCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZGVsZWdhdGlvbiBmZWUgcmF0ZSBtYW5hZ2VtZW50JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgc2V0IHZhbGlkIGRlbGVnYXRpb24gZmVlIHJhdGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBmZWVSYXRlID0gMjUwMDA7IC8vIDIuNSUgaW4gYmFzaXMgcG9pbnRzXG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyLmRlbGVnYXRpb25GZWVSYXRlKGZlZVJhdGUpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYnVpbGRlclsnX2RlbGVnYXRpb25GZWVSYXRlJ10sIGZlZVJhdGUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZWplY3QgZGVsZWdhdGlvbiBmZWUgcmF0ZSBiZWxvdyBtaW5pbXVtJywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gVGVzdCB3aXRoIGEgdmFsdWUgYmVsb3cgdGhlIGV4cGVjdGVkIG1pbmltdW1cbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgICBidWlsZGVyLmRlbGVnYXRpb25GZWVSYXRlKDEwMDAwKTsgLy8gMSUgLSBzaG91bGQgYmUgdG9vIGxvd1xuICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3ZhbGlkYXRpb24gdGhyb3VnaCBtZXRob2RzJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgdGhyb3VnaCBjb25zdHJ1Y3RvciBhbmQgbWV0aG9kcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFRlc3QgdGhhdCB0aGUgYnVpbGRlciBhY2NlcHRzIHZhbGlkIHZhbHVlc1xuICAgICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXJcbiAgICAgICAgICAubm9kZUlEKCdOb2RlSUQtN1hodzJtRHh1RFM0NGo0MlRDQjZVNTU3OWVzYlN0M0xnJylcbiAgICAgICAgICAuc3RhcnRUaW1lKDE2NDA5OTUyMDBuKVxuICAgICAgICAgIC5lbmRUaW1lKDE2NDEwODE2MDBuKVxuICAgICAgICAgIC5zdGFrZUFtb3VudCgxMDAwMDAwMDAwMDAwMDAwMDAwbilcbiAgICAgICAgICAuZGVsZWdhdGlvbkZlZVJhdGUoMjUwMDApO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlamVjdCBpbnZhbGlkIHZhbHVlcyB0aHJvdWdoIG1ldGhvZHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBUZXN0IHRoYXQgaW52YWxpZCB2YWx1ZXMgYXJlIHJlamVjdGVkXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgYnVpbGRlci5ub2RlSUQoJycpO1xuICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXIuc3RhcnRUaW1lKC0xbik7XG4gICAgICB9LCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgYnVpbGRlci5lbmRUaW1lKC0xbik7XG4gICAgICB9LCBCdWlsZFRyYW5zYWN0aW9uRXJyb3IpO1xuXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgYnVpbGRlci5zdGFrZUFtb3VudCgtMW4pO1xuICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ01ldGhvZCBjaGFpbmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHN1cHBvcnQgZnVsbCBtZXRob2QgY2hhaW5pbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBibHNLZXkgPSAnMHgnICsgJ2EnLnJlcGVhdCg5Nik7XG4gICAgICBjb25zdCBibHNTaWduYXR1cmUgPSAnMHgnICsgJ2InLnJlcGVhdCgxOTIpO1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZGVyXG4gICAgICAgIC5ub2RlSUQoJ05vZGVJRC03WGh3Mm1EeHVEUzQ0ajQyVENCNlU1NTc5ZXNiU3QzTGcnKVxuICAgICAgICAuYmxzUHVibGljS2V5KGJsc0tleSlcbiAgICAgICAgLmJsc1NpZ25hdHVyZShibHNTaWduYXR1cmUpXG4gICAgICAgIC5zdGFydFRpbWUoMTY0MDk5NTIwMG4pXG4gICAgICAgIC5lbmRUaW1lKDE2NDEwODE2MDBuKVxuICAgICAgICAuc3Rha2VBbW91bnQoMTAwMDAwMDAwMDAwMDAwMDAwMG4pXG4gICAgICAgIC5kZWxlZ2F0aW9uRmVlUmF0ZSgyNTAwMCk7XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQsIGJ1aWxkZXIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBzdXBwb3J0IGNoYWluaW5nIGluIGRpZmZlcmVudCBvcmRlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJsc0tleSA9ICcweCcgKyAnYScucmVwZWF0KDk2KTtcbiAgICAgIGNvbnN0IGJsc1NpZ25hdHVyZSA9ICcweCcgKyAnYicucmVwZWF0KDE5Mik7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkZXJcbiAgICAgICAgLmRlbGVnYXRpb25GZWVSYXRlKDMwMDAwKVxuICAgICAgICAuc3Rha2VBbW91bnQoMjAwMDAwMDAwMDAwMDAwMDAwMG4pXG4gICAgICAgIC5lbmRUaW1lKDE2NDEwODE2MDBuKVxuICAgICAgICAuc3RhcnRUaW1lKDE2NDA5OTUyMDBuKVxuICAgICAgICAuYmxzU2lnbmF0dXJlKGJsc1NpZ25hdHVyZSlcbiAgICAgICAgLmJsc1B1YmxpY0tleShibHNLZXkpXG4gICAgICAgIC5ub2RlSUQoJ05vZGVJRC04WWh4M25FeHZEUzU1azUzVURDN1Y2NjgwZnRkU3U0TWgnKTtcblxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdCwgYnVpbGRlcik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdFZGdlIGNhc2VzIGFuZCB2YWxpZGF0aW9uJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdzaG91bGQgaGFuZGxlIG1pbmltdW0gdmFsaWQgdmFsdWVzJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYmxzS2V5ID0gJzB4JyArICdhJy5yZXBlYXQoOTYpO1xuICAgICAgY29uc3QgYmxzU2lnbmF0dXJlID0gJzB4JyArICdiJy5yZXBlYXQoMTkyKTtcbiAgICAgIGNvbnN0IG1pbkZlZSA9IDIwMDAwOyAvLyBEZWZhdWx0IG1pbmltdW0gZGVsZWdhdGlvbiBmZWVcblxuICAgICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXJcbiAgICAgICAgICAubm9kZUlEKCdOb2RlSUQtN1hodzJtRHh1RFM0NGo0MlRDQjZVNTU3OWVzYlN0M0xnJylcbiAgICAgICAgICAuYmxzUHVibGljS2V5KGJsc0tleSlcbiAgICAgICAgICAuYmxzU2lnbmF0dXJlKGJsc1NpZ25hdHVyZSlcbiAgICAgICAgICAuc3RhcnRUaW1lKDBuKVxuICAgICAgICAgIC5lbmRUaW1lKDFuKVxuICAgICAgICAgIC5zdGFrZUFtb3VudCgxbilcbiAgICAgICAgICAuZGVsZWdhdGlvbkZlZVJhdGUobWluRmVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYWludGFpbiBzdGF0ZSBjb3JyZWN0bHkgYWZ0ZXIgbXVsdGlwbGUgb3BlcmF0aW9ucycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG5vZGVJRDEgPSAnTm9kZUlELTdYaHcybUR4dURTNDRqNDJUQ0I2VTU1Nzllc2JTdDNMZyc7XG4gICAgICBjb25zdCBub2RlSUQyID0gJ05vZGVJRC04WWh4M25FeHZEUzU1azUzVURDN1Y2NjgwZnRkU3U0TWgnO1xuXG4gICAgICBidWlsZGVyLm5vZGVJRChub2RlSUQxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfbm9kZUlEJ10sIG5vZGVJRDEpO1xuXG4gICAgICBidWlsZGVyLm5vZGVJRChub2RlSUQyKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChidWlsZGVyWydfbm9kZUlEJ10sIG5vZGVJRDIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgQkxTIGtleSBmb3JtYXQgdmFsaWRhdGlvbiBlZGdlIGNhc2VzJywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gVG9vIHNob3J0XG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgYnVpbGRlci5ibHNQdWJsaWNLZXkoJzB4JyArICdhJy5yZXBlYXQoOTUpKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG5cbiAgICAgIC8vIFRvbyBsb25nXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgYnVpbGRlci5ibHNQdWJsaWNLZXkoJzB4JyArICdhJy5yZXBlYXQoOTcpKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG5cbiAgICAgIC8vIE5vIDB4IHByZWZpeFxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXIuYmxzUHVibGljS2V5KCdhJy5yZXBlYXQoOTYpKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../../../test/unit/smoke.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAC"}
|
package/dist/test/unit/smoke.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
require("mocha");
|
|
4
|
-
describe('sdk-coin-flrp smoke tests', function () {
|
|
5
|
-
it('should load all main modules without errors', function () {
|
|
6
|
-
// Test that main modules can be imported without throwing
|
|
7
|
-
(() => require('../../src/flrp')).should.not.throw();
|
|
8
|
-
(() => require('../../src/lib/utils')).should.not.throw();
|
|
9
|
-
(() => require('../../src/lib/atomicTransactionBuilder')).should.not.throw();
|
|
10
|
-
(() => require('../../src/lib/iface')).should.not.throw();
|
|
11
|
-
});
|
|
12
|
-
it('should have proper module exports', function () {
|
|
13
|
-
const flrp = require('../../src/flrp');
|
|
14
|
-
const utils = require('../../src/lib/utils');
|
|
15
|
-
const atomicTxBuilder = require('../../src/lib/atomicTransactionBuilder');
|
|
16
|
-
const iface = require('../../src/lib/iface');
|
|
17
|
-
flrp.should.have.property('Flrp');
|
|
18
|
-
utils.should.have.property('Utils');
|
|
19
|
-
atomicTxBuilder.should.have.property('AtomicTransactionBuilder');
|
|
20
|
-
iface.should.have.property('ADDRESS_SEPARATOR');
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21va2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc21va2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQkFBZTtBQUVmLFFBQVEsQ0FBQywyQkFBMkIsRUFBRTtJQUNwQyxFQUFFLENBQUMsNkNBQTZDLEVBQUU7UUFDaEQsMERBQTBEO1FBQzFELENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JELENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFELENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdFLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG1DQUFtQyxFQUFFO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDakUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbW9jaGEnO1xuXG5kZXNjcmliZSgnc2RrLWNvaW4tZmxycCBzbW9rZSB0ZXN0cycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCBsb2FkIGFsbCBtYWluIG1vZHVsZXMgd2l0aG91dCBlcnJvcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGVzdCB0aGF0IG1haW4gbW9kdWxlcyBjYW4gYmUgaW1wb3J0ZWQgd2l0aG91dCB0aHJvd2luZ1xuICAgICgoKSA9PiByZXF1aXJlKCcuLi8uLi9zcmMvZmxycCcpKS5zaG91bGQubm90LnRocm93KCk7XG4gICAgKCgpID0+IHJlcXVpcmUoJy4uLy4uL3NyYy9saWIvdXRpbHMnKSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICAgICgoKSA9PiByZXF1aXJlKCcuLi8uLi9zcmMvbGliL2F0b21pY1RyYW5zYWN0aW9uQnVpbGRlcicpKS5zaG91bGQubm90LnRocm93KCk7XG4gICAgKCgpID0+IHJlcXVpcmUoJy4uLy4uL3NyYy9saWIvaWZhY2UnKSkuc2hvdWxkLm5vdC50aHJvdygpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhdmUgcHJvcGVyIG1vZHVsZSBleHBvcnRzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGZscnAgPSByZXF1aXJlKCcuLi8uLi9zcmMvZmxycCcpO1xuICAgIGNvbnN0IHV0aWxzID0gcmVxdWlyZSgnLi4vLi4vc3JjL2xpYi91dGlscycpO1xuICAgIGNvbnN0IGF0b21pY1R4QnVpbGRlciA9IHJlcXVpcmUoJy4uLy4uL3NyYy9saWIvYXRvbWljVHJhbnNhY3Rpb25CdWlsZGVyJyk7XG4gICAgY29uc3QgaWZhY2UgPSByZXF1aXJlKCcuLi8uLi9zcmMvbGliL2lmYWNlJyk7XG5cbiAgICBmbHJwLnNob3VsZC5oYXZlLnByb3BlcnR5KCdGbHJwJyk7XG4gICAgdXRpbHMuc2hvdWxkLmhhdmUucHJvcGVydHkoJ1V0aWxzJyk7XG4gICAgYXRvbWljVHhCdWlsZGVyLnNob3VsZC5oYXZlLnByb3BlcnR5KCdBdG9taWNUcmFuc2FjdGlvbkJ1aWxkZXInKTtcbiAgICBpZmFjZS5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnQUREUkVTU19TRVBBUkFUT1InKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.test.d.ts","sourceRoot":"","sources":["../../../test/unit/transactionBuilder.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,114 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const statics_1 = require("@bitgo-beta/statics");
|
|
37
|
-
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
38
|
-
const assert = __importStar(require("assert"));
|
|
39
|
-
const transactionBuilder_1 = require("../../src/lib/transactionBuilder");
|
|
40
|
-
describe('TransactionBuilder', function () {
|
|
41
|
-
const coinConfig = statics_1.coins.get('tflrp');
|
|
42
|
-
// We can't directly instantiate abstract TransactionBuilder,
|
|
43
|
-
// so we test through concrete implementations or static methods
|
|
44
|
-
describe('Class availability', function () {
|
|
45
|
-
it('should be available as a constructor', function () {
|
|
46
|
-
assert.ok(transactionBuilder_1.TransactionBuilder);
|
|
47
|
-
assert.ok(typeof transactionBuilder_1.TransactionBuilder === 'function');
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe('Validation methods', function () {
|
|
51
|
-
it('should have validateAmount method', function () {
|
|
52
|
-
// Test through a concrete implementation (we'll use DelegatorTxBuilder)
|
|
53
|
-
const { DelegatorTxBuilder } = require('../../src/lib/delegatorTxBuilder');
|
|
54
|
-
const builder = new DelegatorTxBuilder(coinConfig);
|
|
55
|
-
// Valid amount
|
|
56
|
-
assert.doesNotThrow(() => {
|
|
57
|
-
// Access protected method
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
59
|
-
builder.validateAmount(1000000000000000000n);
|
|
60
|
-
});
|
|
61
|
-
// Invalid amount (negative)
|
|
62
|
-
assert.throws(() => {
|
|
63
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
|
-
builder.validateAmount(-1000n);
|
|
65
|
-
}, sdk_core_1.BuildTransactionError);
|
|
66
|
-
// Invalid amount (zero)
|
|
67
|
-
assert.throws(() => {
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
-
builder.validateAmount(0n);
|
|
70
|
-
}, sdk_core_1.BuildTransactionError);
|
|
71
|
-
});
|
|
72
|
-
it('should validate node IDs through delegator builder', function () {
|
|
73
|
-
const { DelegatorTxBuilder } = require('../../src/lib/delegatorTxBuilder');
|
|
74
|
-
const builder = new DelegatorTxBuilder(coinConfig);
|
|
75
|
-
// Valid node ID
|
|
76
|
-
assert.doesNotThrow(() => {
|
|
77
|
-
builder.nodeID('NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg');
|
|
78
|
-
});
|
|
79
|
-
// Invalid node ID (empty)
|
|
80
|
-
assert.throws(() => {
|
|
81
|
-
builder.nodeID('');
|
|
82
|
-
}, sdk_core_1.BuildTransactionError);
|
|
83
|
-
});
|
|
84
|
-
it('should validate time values through delegator builder', function () {
|
|
85
|
-
const { DelegatorTxBuilder } = require('../../src/lib/delegatorTxBuilder');
|
|
86
|
-
const builder = new DelegatorTxBuilder(coinConfig);
|
|
87
|
-
// Valid start time
|
|
88
|
-
assert.doesNotThrow(() => {
|
|
89
|
-
builder.startTime(1640995200);
|
|
90
|
-
});
|
|
91
|
-
// Invalid start time (negative)
|
|
92
|
-
assert.throws(() => {
|
|
93
|
-
builder.startTime(-1);
|
|
94
|
-
}, sdk_core_1.BuildTransactionError);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
describe('Network and Blockchain validation', function () {
|
|
98
|
-
it('should validate through initBuilder method', function () {
|
|
99
|
-
const { DelegatorTxBuilder } = require('../../src/lib/delegatorTxBuilder');
|
|
100
|
-
const builder = new DelegatorTxBuilder(coinConfig);
|
|
101
|
-
// Test with valid transaction data (should not throw)
|
|
102
|
-
const validTx = {
|
|
103
|
-
nodeID: 'NodeID-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg',
|
|
104
|
-
startTime: 1640995200,
|
|
105
|
-
endTime: 1641081600,
|
|
106
|
-
stakeAmount: '1000000000000000000',
|
|
107
|
-
};
|
|
108
|
-
assert.doesNotThrow(() => {
|
|
109
|
-
builder.initBuilder(validTx);
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBNEM7QUFDNUMsbURBQTZEO0FBQzdELCtDQUFpQztBQUNqQyx5RUFBc0U7QUFFdEUsUUFBUSxDQUFDLG9CQUFvQixFQUFFO0lBQzdCLE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFdEMsNkRBQTZEO0lBQzdELGdFQUFnRTtJQUNoRSxRQUFRLENBQUMsb0JBQW9CLEVBQUU7UUFDN0IsRUFBRSxDQUFDLHNDQUFzQyxFQUFFO1lBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsdUNBQWtCLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sdUNBQWtCLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxvQkFBb0IsRUFBRTtRQUM3QixFQUFFLENBQUMsbUNBQW1DLEVBQUU7WUFDdEMsd0VBQXdFO1lBQ3hFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1lBQzNFLE1BQU0sT0FBTyxHQUFHLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFbkQsZUFBZTtZQUNmLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO2dCQUN2QiwwQkFBMEI7Z0JBQzFCLDhEQUE4RDtnQkFDN0QsT0FBZSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1lBRUgsNEJBQTRCO1lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNqQiw4REFBOEQ7Z0JBQzdELE9BQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxDQUFDLEVBQUUsZ0NBQXFCLENBQUMsQ0FBQztZQUUxQix3QkFBd0I7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLDhEQUE4RDtnQkFDN0QsT0FBZSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDLEVBQUUsZ0NBQXFCLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvREFBb0QsRUFBRTtZQUN2RCxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxPQUFPLENBQUMsa0NBQWtDLENBQUMsQ0FBQztZQUMzRSxNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRW5ELGdCQUFnQjtZQUNoQixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQzdELENBQUMsQ0FBQyxDQUFDO1lBRUgsMEJBQTBCO1lBQzFCLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsRUFBRSxnQ0FBcUIsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHVEQUF1RCxFQUFFO1lBQzFELE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1lBQzNFLE1BQU0sT0FBTyxHQUFHLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFbkQsbUJBQW1CO1lBQ25CLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO2dCQUN2QixPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1lBRUgsZ0NBQWdDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNqQixPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsQ0FBQyxFQUFFLGdDQUFxQixDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQ0FBbUMsRUFBRTtRQUM1QyxFQUFFLENBQUMsNENBQTRDLEVBQUU7WUFDL0MsTUFBTSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDM0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVuRCxzREFBc0Q7WUFDdEQsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsTUFBTSxFQUFFLDBDQUEwQztnQkFDbEQsU0FBUyxFQUFFLFVBQVU7Z0JBQ3JCLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixXQUFXLEVBQUUscUJBQXFCO2FBQ25DLENBQUM7WUFFRixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtnQkFDdkIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyJztcblxuZGVzY3JpYmUoJ1RyYW5zYWN0aW9uQnVpbGRlcicsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCgndGZscnAnKTtcblxuICAvLyBXZSBjYW4ndCBkaXJlY3RseSBpbnN0YW50aWF0ZSBhYnN0cmFjdCBUcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIC8vIHNvIHdlIHRlc3QgdGhyb3VnaCBjb25jcmV0ZSBpbXBsZW1lbnRhdGlvbnMgb3Igc3RhdGljIG1ldGhvZHNcbiAgZGVzY3JpYmUoJ0NsYXNzIGF2YWlsYWJpbGl0eScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGJlIGF2YWlsYWJsZSBhcyBhIGNvbnN0cnVjdG9yJywgZnVuY3Rpb24gKCkge1xuICAgICAgYXNzZXJ0Lm9rKFRyYW5zYWN0aW9uQnVpbGRlcik7XG4gICAgICBhc3NlcnQub2sodHlwZW9mIFRyYW5zYWN0aW9uQnVpbGRlciA9PT0gJ2Z1bmN0aW9uJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdWYWxpZGF0aW9uIG1ldGhvZHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBoYXZlIHZhbGlkYXRlQW1vdW50IG1ldGhvZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFRlc3QgdGhyb3VnaCBhIGNvbmNyZXRlIGltcGxlbWVudGF0aW9uICh3ZSdsbCB1c2UgRGVsZWdhdG9yVHhCdWlsZGVyKVxuICAgICAgY29uc3QgeyBEZWxlZ2F0b3JUeEJ1aWxkZXIgfSA9IHJlcXVpcmUoJy4uLy4uL3NyYy9saWIvZGVsZWdhdG9yVHhCdWlsZGVyJyk7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IERlbGVnYXRvclR4QnVpbGRlcihjb2luQ29uZmlnKTtcblxuICAgICAgLy8gVmFsaWQgYW1vdW50XG4gICAgICBhc3NlcnQuZG9lc05vdFRocm93KCgpID0+IHtcbiAgICAgICAgLy8gQWNjZXNzIHByb3RlY3RlZCBtZXRob2RcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgKGJ1aWxkZXIgYXMgYW55KS52YWxpZGF0ZUFtb3VudCgxMDAwMDAwMDAwMDAwMDAwMDAwbik7XG4gICAgICB9KTtcblxuICAgICAgLy8gSW52YWxpZCBhbW91bnQgKG5lZ2F0aXZlKVxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIChidWlsZGVyIGFzIGFueSkudmFsaWRhdGVBbW91bnQoLTEwMDBuKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG5cbiAgICAgIC8vIEludmFsaWQgYW1vdW50ICh6ZXJvKVxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIChidWlsZGVyIGFzIGFueSkudmFsaWRhdGVBbW91bnQoMG4pO1xuICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbm9kZSBJRHMgdGhyb3VnaCBkZWxlZ2F0b3IgYnVpbGRlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgRGVsZWdhdG9yVHhCdWlsZGVyIH0gPSByZXF1aXJlKCcuLi8uLi9zcmMvbGliL2RlbGVnYXRvclR4QnVpbGRlcicpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBEZWxlZ2F0b3JUeEJ1aWxkZXIoY29pbkNvbmZpZyk7XG5cbiAgICAgIC8vIFZhbGlkIG5vZGUgSURcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT4ge1xuICAgICAgICBidWlsZGVyLm5vZGVJRCgnTm9kZUlELTdYaHcybUR4dURTNDRqNDJUQ0I2VTU1Nzllc2JTdDNMZycpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEludmFsaWQgbm9kZSBJRCAoZW1wdHkpXG4gICAgICBhc3NlcnQudGhyb3dzKCgpID0+IHtcbiAgICAgICAgYnVpbGRlci5ub2RlSUQoJycpO1xuICAgICAgfSwgQnVpbGRUcmFuc2FjdGlvbkVycm9yKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgdGltZSB2YWx1ZXMgdGhyb3VnaCBkZWxlZ2F0b3IgYnVpbGRlcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgRGVsZWdhdG9yVHhCdWlsZGVyIH0gPSByZXF1aXJlKCcuLi8uLi9zcmMvbGliL2RlbGVnYXRvclR4QnVpbGRlcicpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBEZWxlZ2F0b3JUeEJ1aWxkZXIoY29pbkNvbmZpZyk7XG5cbiAgICAgIC8vIFZhbGlkIHN0YXJ0IHRpbWVcbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT4ge1xuICAgICAgICBidWlsZGVyLnN0YXJ0VGltZSgxNjQwOTk1MjAwKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBJbnZhbGlkIHN0YXJ0IHRpbWUgKG5lZ2F0aXZlKVxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiB7XG4gICAgICAgIGJ1aWxkZXIuc3RhcnRUaW1lKC0xKTtcbiAgICAgIH0sIEJ1aWxkVHJhbnNhY3Rpb25FcnJvcik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdOZXR3b3JrIGFuZCBCbG9ja2NoYWluIHZhbGlkYXRpb24nLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0aHJvdWdoIGluaXRCdWlsZGVyIG1ldGhvZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHsgRGVsZWdhdG9yVHhCdWlsZGVyIH0gPSByZXF1aXJlKCcuLi8uLi9zcmMvbGliL2RlbGVnYXRvclR4QnVpbGRlcicpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBEZWxlZ2F0b3JUeEJ1aWxkZXIoY29pbkNvbmZpZyk7XG5cbiAgICAgIC8vIFRlc3Qgd2l0aCB2YWxpZCB0cmFuc2FjdGlvbiBkYXRhIChzaG91bGQgbm90IHRocm93KVxuICAgICAgY29uc3QgdmFsaWRUeCA9IHtcbiAgICAgICAgbm9kZUlEOiAnTm9kZUlELTdYaHcybUR4dURTNDRqNDJUQ0I2VTU1Nzllc2JTdDNMZycsXG4gICAgICAgIHN0YXJ0VGltZTogMTY0MDk5NTIwMCxcbiAgICAgICAgZW5kVGltZTogMTY0MTA4MTYwMCxcbiAgICAgICAgc3Rha2VBbW91bnQ6ICcxMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgIH07XG5cbiAgICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT4ge1xuICAgICAgICBidWlsZGVyLmluaXRCdWlsZGVyKHZhbGlkVHgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validatorTxBuilder.test.d.ts","sourceRoot":"","sources":["../../../test/unit/validatorTxBuilder.test.ts"],"names":[],"mappings":""}
|