@bitgo-beta/sdk-coin-xdc 1.0.1-beta.886 → 1.0.1-beta.888
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/src/lib/XDCValidatorABI.json +431 -0
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +9 -2
- package/dist/src/lib/transactionBuilder.d.ts +22 -2
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +49 -1
- package/dist/src/lib/uploadKycBuilder.d.ts +73 -0
- package/dist/src/lib/uploadKycBuilder.d.ts.map +1 -0
- package/dist/src/lib/uploadKycBuilder.js +110 -0
- package/dist/src/lib/validatorContract.d.ts +136 -0
- package/dist/src/lib/validatorContract.d.ts.map +1 -0
- package/dist/src/lib/validatorContract.js +62 -0
- package/dist/test/unit/transactionBuilder/uploadKyc.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/uploadKyc.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/uploadKyc.js +215 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"constant": false,
|
|
4
|
+
"inputs": [
|
|
5
|
+
{
|
|
6
|
+
"name": "kychash",
|
|
7
|
+
"type": "string"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"name": "uploadKYC",
|
|
11
|
+
"outputs": [],
|
|
12
|
+
"payable": false,
|
|
13
|
+
"stateMutability": "nonpayable",
|
|
14
|
+
"type": "function"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"constant": false,
|
|
18
|
+
"inputs": [
|
|
19
|
+
{
|
|
20
|
+
"name": "_candidate",
|
|
21
|
+
"type": "address"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"name": "propose",
|
|
25
|
+
"outputs": [],
|
|
26
|
+
"payable": true,
|
|
27
|
+
"stateMutability": "payable",
|
|
28
|
+
"type": "function"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"constant": false,
|
|
32
|
+
"inputs": [
|
|
33
|
+
{
|
|
34
|
+
"name": "_candidate",
|
|
35
|
+
"type": "address"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"name": "vote",
|
|
39
|
+
"outputs": [],
|
|
40
|
+
"payable": true,
|
|
41
|
+
"stateMutability": "payable",
|
|
42
|
+
"type": "function"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"constant": false,
|
|
46
|
+
"inputs": [
|
|
47
|
+
{
|
|
48
|
+
"name": "_candidate",
|
|
49
|
+
"type": "address"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "_cap",
|
|
53
|
+
"type": "uint256"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"name": "unvote",
|
|
57
|
+
"outputs": [],
|
|
58
|
+
"payable": false,
|
|
59
|
+
"stateMutability": "nonpayable",
|
|
60
|
+
"type": "function"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"constant": false,
|
|
64
|
+
"inputs": [
|
|
65
|
+
{
|
|
66
|
+
"name": "_candidate",
|
|
67
|
+
"type": "address"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"name": "resign",
|
|
71
|
+
"outputs": [],
|
|
72
|
+
"payable": false,
|
|
73
|
+
"stateMutability": "nonpayable",
|
|
74
|
+
"type": "function"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"constant": false,
|
|
78
|
+
"inputs": [
|
|
79
|
+
{
|
|
80
|
+
"name": "_blockNumber",
|
|
81
|
+
"type": "uint256"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "_index",
|
|
85
|
+
"type": "uint256"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"name": "withdraw",
|
|
89
|
+
"outputs": [],
|
|
90
|
+
"payable": false,
|
|
91
|
+
"stateMutability": "nonpayable",
|
|
92
|
+
"type": "function"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"constant": true,
|
|
96
|
+
"inputs": [],
|
|
97
|
+
"name": "getCandidates",
|
|
98
|
+
"outputs": [
|
|
99
|
+
{
|
|
100
|
+
"name": "",
|
|
101
|
+
"type": "address[]"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"payable": false,
|
|
105
|
+
"stateMutability": "view",
|
|
106
|
+
"type": "function"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"constant": true,
|
|
110
|
+
"inputs": [
|
|
111
|
+
{
|
|
112
|
+
"name": "_candidate",
|
|
113
|
+
"type": "address"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"name": "getCandidateCap",
|
|
117
|
+
"outputs": [
|
|
118
|
+
{
|
|
119
|
+
"name": "",
|
|
120
|
+
"type": "uint256"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"payable": false,
|
|
124
|
+
"stateMutability": "view",
|
|
125
|
+
"type": "function"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"constant": true,
|
|
129
|
+
"inputs": [
|
|
130
|
+
{
|
|
131
|
+
"name": "_candidate",
|
|
132
|
+
"type": "address"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"name": "getCandidateOwner",
|
|
136
|
+
"outputs": [
|
|
137
|
+
{
|
|
138
|
+
"name": "",
|
|
139
|
+
"type": "address"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
"payable": false,
|
|
143
|
+
"stateMutability": "view",
|
|
144
|
+
"type": "function"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"constant": true,
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"name": "_candidate",
|
|
151
|
+
"type": "address"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "_voter",
|
|
155
|
+
"type": "address"
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"name": "getVoterCap",
|
|
159
|
+
"outputs": [
|
|
160
|
+
{
|
|
161
|
+
"name": "",
|
|
162
|
+
"type": "uint256"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"payable": false,
|
|
166
|
+
"stateMutability": "view",
|
|
167
|
+
"type": "function"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"constant": true,
|
|
171
|
+
"inputs": [
|
|
172
|
+
{
|
|
173
|
+
"name": "_candidate",
|
|
174
|
+
"type": "address"
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"name": "getVoters",
|
|
178
|
+
"outputs": [
|
|
179
|
+
{
|
|
180
|
+
"name": "",
|
|
181
|
+
"type": "address[]"
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"payable": false,
|
|
185
|
+
"stateMutability": "view",
|
|
186
|
+
"type": "function"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"constant": true,
|
|
190
|
+
"inputs": [
|
|
191
|
+
{
|
|
192
|
+
"name": "_candidate",
|
|
193
|
+
"type": "address"
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"name": "isCandidate",
|
|
197
|
+
"outputs": [
|
|
198
|
+
{
|
|
199
|
+
"name": "",
|
|
200
|
+
"type": "bool"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"payable": false,
|
|
204
|
+
"stateMutability": "view",
|
|
205
|
+
"type": "function"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"constant": true,
|
|
209
|
+
"inputs": [
|
|
210
|
+
{
|
|
211
|
+
"name": "_address",
|
|
212
|
+
"type": "address"
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
"name": "getLatestKYC",
|
|
216
|
+
"outputs": [
|
|
217
|
+
{
|
|
218
|
+
"name": "",
|
|
219
|
+
"type": "string"
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
"payable": false,
|
|
223
|
+
"stateMutability": "view",
|
|
224
|
+
"type": "function"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"constant": true,
|
|
228
|
+
"inputs": [
|
|
229
|
+
{
|
|
230
|
+
"name": "_address",
|
|
231
|
+
"type": "address"
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"name": "getHashCount",
|
|
235
|
+
"outputs": [
|
|
236
|
+
{
|
|
237
|
+
"name": "",
|
|
238
|
+
"type": "uint256"
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"payable": false,
|
|
242
|
+
"stateMutability": "view",
|
|
243
|
+
"type": "function"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"constant": true,
|
|
247
|
+
"inputs": [],
|
|
248
|
+
"name": "getOwnerCount",
|
|
249
|
+
"outputs": [
|
|
250
|
+
{
|
|
251
|
+
"name": "",
|
|
252
|
+
"type": "uint256"
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
"payable": false,
|
|
256
|
+
"stateMutability": "view",
|
|
257
|
+
"type": "function"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"constant": false,
|
|
261
|
+
"inputs": [
|
|
262
|
+
{
|
|
263
|
+
"name": "_invalidCandidate",
|
|
264
|
+
"type": "address"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"name": "voteInvalidKYC",
|
|
268
|
+
"outputs": [],
|
|
269
|
+
"payable": false,
|
|
270
|
+
"stateMutability": "nonpayable",
|
|
271
|
+
"type": "function"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"constant": true,
|
|
275
|
+
"inputs": [
|
|
276
|
+
{
|
|
277
|
+
"name": "_invalidCandidate",
|
|
278
|
+
"type": "address"
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
"name": "invalidPercent",
|
|
282
|
+
"outputs": [
|
|
283
|
+
{
|
|
284
|
+
"name": "",
|
|
285
|
+
"type": "uint256"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"payable": false,
|
|
289
|
+
"stateMutability": "view",
|
|
290
|
+
"type": "function"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"anonymous": false,
|
|
294
|
+
"inputs": [
|
|
295
|
+
{
|
|
296
|
+
"indexed": false,
|
|
297
|
+
"name": "_voter",
|
|
298
|
+
"type": "address"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"indexed": false,
|
|
302
|
+
"name": "_candidate",
|
|
303
|
+
"type": "address"
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"indexed": false,
|
|
307
|
+
"name": "_cap",
|
|
308
|
+
"type": "uint256"
|
|
309
|
+
}
|
|
310
|
+
],
|
|
311
|
+
"name": "Vote",
|
|
312
|
+
"type": "event"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"anonymous": false,
|
|
316
|
+
"inputs": [
|
|
317
|
+
{
|
|
318
|
+
"indexed": false,
|
|
319
|
+
"name": "_voter",
|
|
320
|
+
"type": "address"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"indexed": false,
|
|
324
|
+
"name": "_candidate",
|
|
325
|
+
"type": "address"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"indexed": false,
|
|
329
|
+
"name": "_cap",
|
|
330
|
+
"type": "uint256"
|
|
331
|
+
}
|
|
332
|
+
],
|
|
333
|
+
"name": "Unvote",
|
|
334
|
+
"type": "event"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"anonymous": false,
|
|
338
|
+
"inputs": [
|
|
339
|
+
{
|
|
340
|
+
"indexed": false,
|
|
341
|
+
"name": "_owner",
|
|
342
|
+
"type": "address"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"indexed": false,
|
|
346
|
+
"name": "_candidate",
|
|
347
|
+
"type": "address"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"indexed": false,
|
|
351
|
+
"name": "_cap",
|
|
352
|
+
"type": "uint256"
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
"name": "Propose",
|
|
356
|
+
"type": "event"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"anonymous": false,
|
|
360
|
+
"inputs": [
|
|
361
|
+
{
|
|
362
|
+
"indexed": false,
|
|
363
|
+
"name": "_owner",
|
|
364
|
+
"type": "address"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"indexed": false,
|
|
368
|
+
"name": "_candidate",
|
|
369
|
+
"type": "address"
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"name": "Resign",
|
|
373
|
+
"type": "event"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"anonymous": false,
|
|
377
|
+
"inputs": [
|
|
378
|
+
{
|
|
379
|
+
"indexed": false,
|
|
380
|
+
"name": "_owner",
|
|
381
|
+
"type": "address"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"indexed": false,
|
|
385
|
+
"name": "_blockNumber",
|
|
386
|
+
"type": "uint256"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"indexed": false,
|
|
390
|
+
"name": "_cap",
|
|
391
|
+
"type": "uint256"
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"name": "Withdraw",
|
|
395
|
+
"type": "event"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"anonymous": false,
|
|
399
|
+
"inputs": [
|
|
400
|
+
{
|
|
401
|
+
"indexed": false,
|
|
402
|
+
"name": "_owner",
|
|
403
|
+
"type": "address"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"indexed": false,
|
|
407
|
+
"name": "kycHash",
|
|
408
|
+
"type": "string"
|
|
409
|
+
}
|
|
410
|
+
],
|
|
411
|
+
"name": "UploadedKYC",
|
|
412
|
+
"type": "event"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"anonymous": false,
|
|
416
|
+
"inputs": [
|
|
417
|
+
{
|
|
418
|
+
"indexed": false,
|
|
419
|
+
"name": "_masternodeOwner",
|
|
420
|
+
"type": "address"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"indexed": false,
|
|
424
|
+
"name": "_masternodes",
|
|
425
|
+
"type": "address[]"
|
|
426
|
+
}
|
|
427
|
+
],
|
|
428
|
+
"name": "InvalidatedNode",
|
|
429
|
+
"type": "event"
|
|
430
|
+
}
|
|
431
|
+
]
|
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as Utils from './utils';
|
|
2
2
|
export { TransactionBuilder } from './transactionBuilder';
|
|
3
3
|
export { TransferBuilder } from './transferBuilder';
|
|
4
|
+
export { UploadKycBuilder, UploadKycCall } from './uploadKycBuilder';
|
|
4
5
|
export { Transaction, KeyPair } from '@bitgo-beta/abstract-eth';
|
|
5
6
|
export { Utils };
|
|
7
|
+
export * from './validatorContract';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,cAAc,qBAAqB,CAAC"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -32,15 +32,22 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
36
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Utils = exports.KeyPair = exports.Transaction = exports.TransferBuilder = exports.TransactionBuilder = void 0;
|
|
39
|
+
exports.Utils = exports.KeyPair = exports.Transaction = exports.UploadKycCall = exports.UploadKycBuilder = exports.TransferBuilder = exports.TransactionBuilder = void 0;
|
|
37
40
|
const Utils = __importStar(require("./utils"));
|
|
38
41
|
exports.Utils = Utils;
|
|
39
42
|
var transactionBuilder_1 = require("./transactionBuilder");
|
|
40
43
|
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
|
|
41
44
|
var transferBuilder_1 = require("./transferBuilder");
|
|
42
45
|
Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
|
|
46
|
+
var uploadKycBuilder_1 = require("./uploadKycBuilder");
|
|
47
|
+
Object.defineProperty(exports, "UploadKycBuilder", { enumerable: true, get: function () { return uploadKycBuilder_1.UploadKycBuilder; } });
|
|
48
|
+
Object.defineProperty(exports, "UploadKycCall", { enumerable: true, get: function () { return uploadKycBuilder_1.UploadKycCall; } });
|
|
43
49
|
var abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
44
50
|
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return abstract_eth_1.Transaction; } });
|
|
45
51
|
Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return abstract_eth_1.KeyPair; } });
|
|
46
|
-
|
|
52
|
+
__exportStar(require("./validatorContract"), exports);
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQU14QixzQkFBSztBQUpkLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHVEQUFxRTtBQUE1RCxvSEFBQSxnQkFBZ0IsT0FBQTtBQUFFLGlIQUFBLGFBQWEsT0FBQTtBQUN4Qyx5REFBZ0U7QUFBdkQsMkdBQUEsV0FBVyxPQUFBO0FBQUUsdUdBQUEsT0FBTyxPQUFBO0FBRTdCLHNEQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBVcGxvYWRLeWNCdWlsZGVyLCBVcGxvYWRLeWNDYWxsIH0gZnJvbSAnLi91cGxvYWRLeWNCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uLCBLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmV4cG9ydCB7IFV0aWxzIH07XG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvckNvbnRyYWN0JztcbiJdfQ==
|
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
-
import {
|
|
2
|
+
import { PublicKey } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { TransactionBuilder as AbstractTransactionBuilder, Transaction, TxData } from '@bitgo-beta/abstract-eth';
|
|
3
4
|
import { TransferBuilder } from './transferBuilder';
|
|
5
|
+
import { UploadKycBuilder } from './uploadKycBuilder';
|
|
4
6
|
export declare class TransactionBuilder extends AbstractTransactionBuilder {
|
|
5
7
|
protected _transfer: TransferBuilder;
|
|
6
8
|
private _signatures;
|
|
9
|
+
private _uploadKycBuilder?;
|
|
10
|
+
private _uploadKycCall?;
|
|
7
11
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
12
|
/** @inheritdoc */
|
|
9
13
|
transfer(data?: string): TransferBuilder;
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Gets the uploadKYC builder if it exists, or creates a new one for this transaction
|
|
16
|
+
*
|
|
17
|
+
* @returns {UploadKycBuilder} the uploadKYC builder
|
|
18
|
+
* @throws {BuildTransactionError} if transaction type is not ContractCall
|
|
19
|
+
*/
|
|
20
|
+
uploadKyc(): UploadKycBuilder;
|
|
21
|
+
/** @inheritdoc */
|
|
22
|
+
build(): Promise<Transaction>;
|
|
23
|
+
/**
|
|
24
|
+
* Build the transaction data for uploadKYC contract call
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
private buildUploadKycTransaction;
|
|
28
|
+
/** @inheritdoc */
|
|
29
|
+
protected getTransactionData(): TxData;
|
|
30
|
+
addSignature(publicKey: PublicKey, signature: Buffer): void;
|
|
11
31
|
protected getContractData(addresses: string[]): string;
|
|
12
32
|
}
|
|
13
33
|
//# sourceMappingURL=transactionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA0C,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,oBAAoB,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;IACrC,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,cAAc,CAAC,CAAgB;gBAE3B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO7C,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC;;;;;OAKG;IACH,SAAS,IAAI,gBAAgB;IAU7B,kBAAkB;IACZ,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAWnC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAUjC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAUtC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK3D,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CAGvD"}
|
|
@@ -5,11 +5,13 @@ const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
|
5
5
|
const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
7
|
const transferBuilder_1 = require("./transferBuilder");
|
|
8
|
+
const uploadKycBuilder_1 = require("./uploadKycBuilder");
|
|
8
9
|
class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
|
|
9
10
|
constructor(_coinConfig) {
|
|
10
11
|
super(_coinConfig);
|
|
11
12
|
this._common = (0, utils_1.getCommon)(this._coinConfig.network.type);
|
|
12
13
|
this.transaction = new abstract_eth_1.Transaction(this._coinConfig, this._common);
|
|
14
|
+
this._signatures = [];
|
|
13
15
|
}
|
|
14
16
|
/** @inheritdoc */
|
|
15
17
|
transfer(data) {
|
|
@@ -21,6 +23,52 @@ class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
|
|
|
21
23
|
}
|
|
22
24
|
return this._transfer;
|
|
23
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Gets the uploadKYC builder if it exists, or creates a new one for this transaction
|
|
28
|
+
*
|
|
29
|
+
* @returns {UploadKycBuilder} the uploadKYC builder
|
|
30
|
+
* @throws {BuildTransactionError} if transaction type is not ContractCall
|
|
31
|
+
*/
|
|
32
|
+
uploadKyc() {
|
|
33
|
+
if (this._type !== sdk_core_1.TransactionType.ContractCall) {
|
|
34
|
+
throw new sdk_core_1.BuildTransactionError('uploadKYC can only be set for contract call transactions');
|
|
35
|
+
}
|
|
36
|
+
if (!this._uploadKycBuilder) {
|
|
37
|
+
this._uploadKycBuilder = new uploadKycBuilder_1.UploadKycBuilder(this._coinConfig);
|
|
38
|
+
}
|
|
39
|
+
return this._uploadKycBuilder;
|
|
40
|
+
}
|
|
41
|
+
/** @inheritdoc */
|
|
42
|
+
async build() {
|
|
43
|
+
// If uploadKYC builder is set, build and cache the result before validation
|
|
44
|
+
if (this._uploadKycBuilder && this._type === sdk_core_1.TransactionType.ContractCall) {
|
|
45
|
+
this._uploadKycCall = this._uploadKycBuilder.build();
|
|
46
|
+
this.contract(this._uploadKycCall.contractAddress);
|
|
47
|
+
this.data(this._uploadKycCall.serialize());
|
|
48
|
+
}
|
|
49
|
+
return (await super.build());
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build the transaction data for uploadKYC contract call
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
buildUploadKycTransaction() {
|
|
56
|
+
if (!this._uploadKycCall) {
|
|
57
|
+
throw new sdk_core_1.BuildTransactionError('uploadKYC call not initialized');
|
|
58
|
+
}
|
|
59
|
+
// The contract address and data are already set in build() method
|
|
60
|
+
// Just return the base transaction data with the serialized data
|
|
61
|
+
return this.buildBase(this._uploadKycCall.serialize());
|
|
62
|
+
}
|
|
63
|
+
/** @inheritdoc */
|
|
64
|
+
getTransactionData() {
|
|
65
|
+
// If uploadKYC builder is set, build uploadKYC transaction
|
|
66
|
+
if (this._uploadKycBuilder && this._type === sdk_core_1.TransactionType.ContractCall) {
|
|
67
|
+
return this.buildUploadKycTransaction();
|
|
68
|
+
}
|
|
69
|
+
// Otherwise, use the parent implementation
|
|
70
|
+
return super.getTransactionData();
|
|
71
|
+
}
|
|
24
72
|
addSignature(publicKey, signature) {
|
|
25
73
|
this._signatures = [];
|
|
26
74
|
this._signatures.push({ publicKey, signature });
|
|
@@ -30,4 +78,4 @@ class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
|
|
|
30
78
|
}
|
|
31
79
|
}
|
|
32
80
|
exports.TransactionBuilder = TransactionBuilder;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQXlGO0FBQ3pGLDJEQUFpSDtBQUNqSCxtQ0FBb0M7QUFDcEMsdURBQW9EO0FBQ3BELHlEQUFxRTtBQUVyRSxNQUFhLGtCQUFtQixTQUFRLGlDQUEwQjtJQU1oRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsaUJBQVMsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksMEJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFFBQVEsQ0FBQyxJQUFhO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSywwQkFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSywwQkFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2hELE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksbUNBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLEtBQUssQ0FBQyxLQUFLO1FBQ1QsNEVBQTRFO1FBQzVFLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssMEJBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sseUJBQXlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELGtFQUFrRTtRQUNsRSxpRUFBaUU7UUFDakUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCO1FBQzFCLDJEQUEyRDtRQUMzRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLDBCQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUUsT0FBTyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsMkNBQTJDO1FBQzNDLE9BQU8sS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVTLGVBQWUsQ0FBQyxTQUFtQjtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBckZELGdEQXFGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlLCBQdWJsaWNLZXkgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgYXMgQWJzdHJhY3RUcmFuc2FjdGlvbkJ1aWxkZXIsIFRyYW5zYWN0aW9uLCBUeERhdGEgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgZ2V0Q29tbW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBVcGxvYWRLeWNCdWlsZGVyLCBVcGxvYWRLeWNDYWxsIH0gZnJvbSAnLi91cGxvYWRLeWNCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEFic3RyYWN0VHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2ZlcjogVHJhbnNmZXJCdWlsZGVyO1xuICBwcml2YXRlIF9zaWduYXR1cmVzOiB7IHB1YmxpY0tleTogUHVibGljS2V5OyBzaWduYXR1cmU6IEJ1ZmZlciB9W107XG4gIHByaXZhdGUgX3VwbG9hZEt5Y0J1aWxkZXI/OiBVcGxvYWRLeWNCdWlsZGVyO1xuICBwcml2YXRlIF91cGxvYWRLeWNDYWxsPzogVXBsb2FkS3ljQ2FsbDtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fY29tbW9uID0gZ2V0Q29tbW9uKHRoaXMuX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgICB0aGlzLnRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcsIHRoaXMuX2NvbW1vbik7XG4gICAgdGhpcy5fc2lnbmF0dXJlcyA9IFtdO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRyYW5zZmVyKGRhdGE/OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNmZXJzIGNhbiBvbmx5IGJlIHNldCBmb3Igc2VuZCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90cmFuc2Zlcikge1xuICAgICAgdGhpcy5fdHJhbnNmZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmZXI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdXBsb2FkS1lDIGJ1aWxkZXIgaWYgaXQgZXhpc3RzLCBvciBjcmVhdGVzIGEgbmV3IG9uZSBmb3IgdGhpcyB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcmV0dXJucyB7VXBsb2FkS3ljQnVpbGRlcn0gdGhlIHVwbG9hZEtZQyBidWlsZGVyXG4gICAqIEB0aHJvd3Mge0J1aWxkVHJhbnNhY3Rpb25FcnJvcn0gaWYgdHJhbnNhY3Rpb24gdHlwZSBpcyBub3QgQ29udHJhY3RDYWxsXG4gICAqL1xuICB1cGxvYWRLeWMoKTogVXBsb2FkS3ljQnVpbGRlciB7XG4gICAgaWYgKHRoaXMuX3R5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGwpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ3VwbG9hZEtZQyBjYW4gb25seSBiZSBzZXQgZm9yIGNvbnRyYWN0IGNhbGwgdHJhbnNhY3Rpb25zJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fdXBsb2FkS3ljQnVpbGRlcikge1xuICAgICAgdGhpcy5fdXBsb2FkS3ljQnVpbGRlciA9IG5ldyBVcGxvYWRLeWNCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdXBsb2FkS3ljQnVpbGRlcjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgLy8gSWYgdXBsb2FkS1lDIGJ1aWxkZXIgaXMgc2V0LCBidWlsZCBhbmQgY2FjaGUgdGhlIHJlc3VsdCBiZWZvcmUgdmFsaWRhdGlvblxuICAgIGlmICh0aGlzLl91cGxvYWRLeWNCdWlsZGVyICYmIHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGwpIHtcbiAgICAgIHRoaXMuX3VwbG9hZEt5Y0NhbGwgPSB0aGlzLl91cGxvYWRLeWNCdWlsZGVyLmJ1aWxkKCk7XG4gICAgICB0aGlzLmNvbnRyYWN0KHRoaXMuX3VwbG9hZEt5Y0NhbGwuY29udHJhY3RBZGRyZXNzKTtcbiAgICAgIHRoaXMuZGF0YSh0aGlzLl91cGxvYWRLeWNDYWxsLnNlcmlhbGl6ZSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKGF3YWl0IHN1cGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSB0cmFuc2FjdGlvbiBkYXRhIGZvciB1cGxvYWRLWUMgY29udHJhY3QgY2FsbFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZFVwbG9hZEt5Y1RyYW5zYWN0aW9uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl91cGxvYWRLeWNDYWxsKSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCd1cGxvYWRLWUMgY2FsbCBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG5cbiAgICAvLyBUaGUgY29udHJhY3QgYWRkcmVzcyBhbmQgZGF0YSBhcmUgYWxyZWFkeSBzZXQgaW4gYnVpbGQoKSBtZXRob2RcbiAgICAvLyBKdXN0IHJldHVybiB0aGUgYmFzZSB0cmFuc2FjdGlvbiBkYXRhIHdpdGggdGhlIHNlcmlhbGl6ZWQgZGF0YVxuICAgIHJldHVybiB0aGlzLmJ1aWxkQmFzZSh0aGlzLl91cGxvYWRLeWNDYWxsLnNlcmlhbGl6ZSgpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25EYXRhKCk6IFR4RGF0YSB7XG4gICAgLy8gSWYgdXBsb2FkS1lDIGJ1aWxkZXIgaXMgc2V0LCBidWlsZCB1cGxvYWRLWUMgdHJhbnNhY3Rpb25cbiAgICBpZiAodGhpcy5fdXBsb2FkS3ljQnVpbGRlciAmJiB0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQ29udHJhY3RDYWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZFVwbG9hZEt5Y1RyYW5zYWN0aW9uKCk7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB1c2UgdGhlIHBhcmVudCBpbXBsZW1lbnRhdGlvblxuICAgIHJldHVybiBzdXBlci5nZXRUcmFuc2FjdGlvbkRhdGEoKTtcbiAgfVxuXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IFB1YmxpY0tleSwgc2lnbmF0dXJlOiBCdWZmZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29udHJhY3REYXRhKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
5
|
+
import { ContractCall } from '@bitgo-beta/abstract-eth';
|
|
6
|
+
/**
|
|
7
|
+
* Represents an XDC uploadKYC contract call
|
|
8
|
+
* This is used to submit KYC document hashes (IPFS hashes) to the XDC Validator contract
|
|
9
|
+
*/
|
|
10
|
+
export declare class UploadKycCall extends ContractCall {
|
|
11
|
+
readonly contractAddress: string;
|
|
12
|
+
readonly ipfsHash: string;
|
|
13
|
+
constructor(contractAddress: string, ipfsHash: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Builder for XDC uploadKYC transactions
|
|
17
|
+
*
|
|
18
|
+
* This builder creates transactions that upload KYC document hashes to the XDC Validator contract.
|
|
19
|
+
* The flow is:
|
|
20
|
+
* 1. Upload KYC document to IPFS → get IPFS hash (e.g., "Qm...")
|
|
21
|
+
* 2. Use this builder to create a transaction that submits the hash to the validator contract
|
|
22
|
+
* 3. The transaction is signed using TSS/MPC
|
|
23
|
+
* 4. After successful upload, the address can propose a validator candidate
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const builder = new UploadKycBuilder(coinConfig);
|
|
28
|
+
* const call = builder
|
|
29
|
+
* .ipfsHash('QmRealIPFSHash...')
|
|
30
|
+
* .build();
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class UploadKycBuilder {
|
|
34
|
+
private _ipfsHash?;
|
|
35
|
+
private _contractAddress?;
|
|
36
|
+
private readonly _coinConfig;
|
|
37
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
38
|
+
/**
|
|
39
|
+
* Set the IPFS hash of the uploaded KYC document
|
|
40
|
+
*
|
|
41
|
+
* @param {string} hash - The IPFS hash (e.g., "QmRealIPFSHash...")
|
|
42
|
+
* @returns {UploadKycBuilder} this builder instance
|
|
43
|
+
* @throws {InvalidParameterValueError} if the hash is invalid
|
|
44
|
+
*/
|
|
45
|
+
ipfsHash(hash: string): this;
|
|
46
|
+
/**
|
|
47
|
+
* Set a custom validator contract address
|
|
48
|
+
* If not set, the default address for the network will be used
|
|
49
|
+
*
|
|
50
|
+
* @param {string} address - The validator contract address
|
|
51
|
+
* @returns {UploadKycBuilder} this builder instance
|
|
52
|
+
* @throws {InvalidParameterValueError} if the address is invalid
|
|
53
|
+
*/
|
|
54
|
+
contractAddress(address: string): this;
|
|
55
|
+
/**
|
|
56
|
+
* Build the uploadKYC contract call
|
|
57
|
+
*
|
|
58
|
+
* @returns {UploadKycCall} the constructed contract call
|
|
59
|
+
* @throws {BuildTransactionError} if required fields are missing
|
|
60
|
+
*/
|
|
61
|
+
build(): UploadKycCall;
|
|
62
|
+
/**
|
|
63
|
+
* Validate that all mandatory fields are set
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
private validateMandatoryFields;
|
|
67
|
+
/**
|
|
68
|
+
* Get the default validator contract address for the current network
|
|
69
|
+
* @private
|
|
70
|
+
*/
|
|
71
|
+
private getDefaultContractAddress;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=uploadKycBuilder.d.ts.map
|