@bitgo/sdk-coin-xdc 1.6.0 → 1.7.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadKycBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/uploadKycBuilder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAMtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;gBAEvC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgB5B;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IActC;;;;;OAKG;IACH,KAAK,IAAI,aAAa;IAOtB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;CAIlC"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UploadKycBuilder = exports.UploadKycCall = void 0;
4
+ const sdk_core_1 = require("@bitgo/sdk-core");
5
+ const abstract_eth_1 = require("@bitgo/abstract-eth");
6
+ const validatorContract_1 = require("./validatorContract");
7
+ /**
8
+ * Represents an XDC uploadKYC contract call
9
+ * This is used to submit KYC document hashes (IPFS hashes) to the XDC Validator contract
10
+ */
11
+ class UploadKycCall extends abstract_eth_1.ContractCall {
12
+ constructor(contractAddress, ipfsHash) {
13
+ // uploadKYC(string) - takes a single string parameter (the IPFS hash)
14
+ super(validatorContract_1.UPLOAD_KYC_METHOD_ID, ['string'], [ipfsHash]);
15
+ this.contractAddress = contractAddress;
16
+ this.ipfsHash = ipfsHash;
17
+ }
18
+ }
19
+ exports.UploadKycCall = UploadKycCall;
20
+ /**
21
+ * Builder for XDC uploadKYC transactions
22
+ *
23
+ * This builder creates transactions that upload KYC document hashes to the XDC Validator contract.
24
+ * The flow is:
25
+ * 1. Upload KYC document to IPFS → get IPFS hash (e.g., "Qm...")
26
+ * 2. Use this builder to create a transaction that submits the hash to the validator contract
27
+ * 3. The transaction is signed using TSS/MPC
28
+ * 4. After successful upload, the address can propose a validator candidate
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const builder = new UploadKycBuilder(coinConfig);
33
+ * const call = builder
34
+ * .ipfsHash('QmRealIPFSHash...')
35
+ * .build();
36
+ * ```
37
+ */
38
+ class UploadKycBuilder {
39
+ constructor(coinConfig) {
40
+ this._coinConfig = coinConfig;
41
+ }
42
+ /**
43
+ * Set the IPFS hash of the uploaded KYC document
44
+ *
45
+ * @param {string} hash - The IPFS hash (e.g., "QmRealIPFSHash...")
46
+ * @returns {UploadKycBuilder} this builder instance
47
+ * @throws {InvalidParameterValueError} if the hash is invalid
48
+ */
49
+ ipfsHash(hash) {
50
+ if (!hash || hash.trim().length === 0) {
51
+ throw new sdk_core_1.InvalidParameterValueError('IPFS hash cannot be empty');
52
+ }
53
+ // Basic IPFS hash validation (should start with 'Qm' for v0 or 'b' for v1)
54
+ if (!hash.startsWith('Qm') && !hash.startsWith('b')) {
55
+ throw new sdk_core_1.InvalidParameterValueError('Invalid IPFS hash format. Expected hash starting with "Qm" (v0) or "b" (v1)');
56
+ }
57
+ this._ipfsHash = hash;
58
+ return this;
59
+ }
60
+ /**
61
+ * Set a custom validator contract address
62
+ * If not set, the default address for the network will be used
63
+ *
64
+ * @param {string} address - The validator contract address
65
+ * @returns {UploadKycBuilder} this builder instance
66
+ * @throws {InvalidParameterValueError} if the address is invalid
67
+ */
68
+ contractAddress(address) {
69
+ if (!address || address.trim().length === 0) {
70
+ throw new sdk_core_1.InvalidParameterValueError('Contract address cannot be empty');
71
+ }
72
+ // Basic Ethereum address validation
73
+ if (!/^(0x)?[0-9a-fA-F]{40}$/.test(address)) {
74
+ throw new sdk_core_1.InvalidParameterValueError('Invalid contract address format');
75
+ }
76
+ this._contractAddress = address.toLowerCase().startsWith('0x') ? address : `0x${address}`;
77
+ return this;
78
+ }
79
+ /**
80
+ * Build the uploadKYC contract call
81
+ *
82
+ * @returns {UploadKycCall} the constructed contract call
83
+ * @throws {BuildTransactionError} if required fields are missing
84
+ */
85
+ build() {
86
+ this.validateMandatoryFields();
87
+ const contractAddress = this._contractAddress || this.getDefaultContractAddress();
88
+ const ipfsHash = this._ipfsHash; // validated by validateMandatoryFields
89
+ return new UploadKycCall(contractAddress, ipfsHash);
90
+ }
91
+ /**
92
+ * Validate that all mandatory fields are set
93
+ * @private
94
+ */
95
+ validateMandatoryFields() {
96
+ if (!this._ipfsHash) {
97
+ throw new sdk_core_1.BuildTransactionError('Missing IPFS hash for uploadKYC transaction');
98
+ }
99
+ }
100
+ /**
101
+ * Get the default validator contract address for the current network
102
+ * @private
103
+ */
104
+ getDefaultContractAddress() {
105
+ const isTestnet = this._coinConfig.name === 'txdc';
106
+ return (0, validatorContract_1.getValidatorContractAddress)(isTestnet);
107
+ }
108
+ }
109
+ exports.UploadKycBuilder = UploadKycBuilder;
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkS3ljQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdXBsb2FkS3ljQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSw4Q0FBb0Y7QUFDcEYsc0RBQW1EO0FBQ25ELDJEQUF3RjtBQUV4Rjs7O0dBR0c7QUFDSCxNQUFhLGFBQWMsU0FBUSwyQkFBWTtJQUk3QyxZQUFZLGVBQXVCLEVBQUUsUUFBZ0I7UUFDbkQsc0VBQXNFO1FBQ3RFLEtBQUssQ0FBQyx3Q0FBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFWRCxzQ0FVQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQWEsZ0JBQWdCO0lBSzNCLFlBQVksVUFBZ0M7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUkscUNBQTBCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sSUFBSSxxQ0FBMEIsQ0FDbEMsNkVBQTZFLENBQzlFLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGVBQWUsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUkscUNBQTBCLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBRUQsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUkscUNBQTBCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMxRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDbEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQW1CLENBQUMsQ0FBQyx1Q0FBdUM7UUFDbEYsT0FBTyxJQUFJLGFBQWEsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLHVCQUF1QjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxnQ0FBcUIsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sseUJBQXlCO1FBQy9CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztRQUNuRCxPQUFPLElBQUEsK0NBQTJCLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBckZELDRDQXFGQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IENvbnRyYWN0Q2FsbCB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHsgVVBMT0FEX0tZQ19NRVRIT0RfSUQsIGdldFZhbGlkYXRvckNvbnRyYWN0QWRkcmVzcyB9IGZyb20gJy4vdmFsaWRhdG9yQ29udHJhY3QnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gWERDIHVwbG9hZEtZQyBjb250cmFjdCBjYWxsXG4gKiBUaGlzIGlzIHVzZWQgdG8gc3VibWl0IEtZQyBkb2N1bWVudCBoYXNoZXMgKElQRlMgaGFzaGVzKSB0byB0aGUgWERDIFZhbGlkYXRvciBjb250cmFjdFxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkS3ljQ2FsbCBleHRlbmRzIENvbnRyYWN0Q2FsbCB7XG4gIHB1YmxpYyByZWFkb25seSBjb250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGlwZnNIYXNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsIGlwZnNIYXNoOiBzdHJpbmcpIHtcbiAgICAvLyB1cGxvYWRLWUMoc3RyaW5nKSAtIHRha2VzIGEgc2luZ2xlIHN0cmluZyBwYXJhbWV0ZXIgKHRoZSBJUEZTIGhhc2gpXG4gICAgc3VwZXIoVVBMT0FEX0tZQ19NRVRIT0RfSUQsIFsnc3RyaW5nJ10sIFtpcGZzSGFzaF0pO1xuICAgIHRoaXMuY29udHJhY3RBZGRyZXNzID0gY29udHJhY3RBZGRyZXNzO1xuICAgIHRoaXMuaXBmc0hhc2ggPSBpcGZzSGFzaDtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkZXIgZm9yIFhEQyB1cGxvYWRLWUMgdHJhbnNhY3Rpb25zXG4gKlxuICogVGhpcyBidWlsZGVyIGNyZWF0ZXMgdHJhbnNhY3Rpb25zIHRoYXQgdXBsb2FkIEtZQyBkb2N1bWVudCBoYXNoZXMgdG8gdGhlIFhEQyBWYWxpZGF0b3IgY29udHJhY3QuXG4gKiBUaGUgZmxvdyBpczpcbiAqIDEuIFVwbG9hZCBLWUMgZG9jdW1lbnQgdG8gSVBGUyDihpIgZ2V0IElQRlMgaGFzaCAoZS5nLiwgXCJRbS4uLlwiKVxuICogMi4gVXNlIHRoaXMgYnVpbGRlciB0byBjcmVhdGUgYSB0cmFuc2FjdGlvbiB0aGF0IHN1Ym1pdHMgdGhlIGhhc2ggdG8gdGhlIHZhbGlkYXRvciBjb250cmFjdFxuICogMy4gVGhlIHRyYW5zYWN0aW9uIGlzIHNpZ25lZCB1c2luZyBUU1MvTVBDXG4gKiA0LiBBZnRlciBzdWNjZXNzZnVsIHVwbG9hZCwgdGhlIGFkZHJlc3MgY2FuIHByb3Bvc2UgYSB2YWxpZGF0b3IgY2FuZGlkYXRlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVXBsb2FkS3ljQnVpbGRlcihjb2luQ29uZmlnKTtcbiAqIGNvbnN0IGNhbGwgPSBidWlsZGVyXG4gKiAgIC5pcGZzSGFzaCgnUW1SZWFsSVBGU0hhc2guLi4nKVxuICogICAuYnVpbGQoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgVXBsb2FkS3ljQnVpbGRlciB7XG4gIHByaXZhdGUgX2lwZnNIYXNoPzogc3RyaW5nO1xuICBwcml2YXRlIF9jb250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgdGhpcy5fY29pbkNvbmZpZyA9IGNvaW5Db25maWc7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBJUEZTIGhhc2ggb2YgdGhlIHVwbG9hZGVkIEtZQyBkb2N1bWVudFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaGFzaCAtIFRoZSBJUEZTIGhhc2ggKGUuZy4sIFwiUW1SZWFsSVBGU0hhc2guLi5cIilcbiAgICogQHJldHVybnMge1VwbG9hZEt5Y0J1aWxkZXJ9IHRoaXMgYnVpbGRlciBpbnN0YW5jZVxuICAgKiBAdGhyb3dzIHtJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcn0gaWYgdGhlIGhhc2ggaXMgaW52YWxpZFxuICAgKi9cbiAgaXBmc0hhc2goaGFzaDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFoYXNoIHx8IGhhc2gudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdJUEZTIGhhc2ggY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuXG4gICAgLy8gQmFzaWMgSVBGUyBoYXNoIHZhbGlkYXRpb24gKHNob3VsZCBzdGFydCB3aXRoICdRbScgZm9yIHYwIG9yICdiJyBmb3IgdjEpXG4gICAgaWYgKCFoYXNoLnN0YXJ0c1dpdGgoJ1FtJykgJiYgIWhhc2guc3RhcnRzV2l0aCgnYicpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFBhcmFtZXRlclZhbHVlRXJyb3IoXG4gICAgICAgICdJbnZhbGlkIElQRlMgaGFzaCBmb3JtYXQuIEV4cGVjdGVkIGhhc2ggc3RhcnRpbmcgd2l0aCBcIlFtXCIgKHYwKSBvciBcImJcIiAodjEpJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pcGZzSGFzaCA9IGhhc2g7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgY3VzdG9tIHZhbGlkYXRvciBjb250cmFjdCBhZGRyZXNzXG4gICAqIElmIG5vdCBzZXQsIHRoZSBkZWZhdWx0IGFkZHJlc3MgZm9yIHRoZSBuZXR3b3JrIHdpbGwgYmUgdXNlZFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIFRoZSB2YWxpZGF0b3IgY29udHJhY3QgYWRkcmVzc1xuICAgKiBAcmV0dXJucyB7VXBsb2FkS3ljQnVpbGRlcn0gdGhpcyBidWlsZGVyIGluc3RhbmNlXG4gICAqIEB0aHJvd3Mge0ludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yfSBpZiB0aGUgYWRkcmVzcyBpcyBpbnZhbGlkXG4gICAqL1xuICBjb250cmFjdEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFhZGRyZXNzIHx8IGFkZHJlc3MudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRQYXJhbWV0ZXJWYWx1ZUVycm9yKCdDb250cmFjdCBhZGRyZXNzIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cblxuICAgIC8vIEJhc2ljIEV0aGVyZXVtIGFkZHJlc3MgdmFsaWRhdGlvblxuICAgIGlmICghL14oMHgpP1swLTlhLWZBLUZdezQwfSQvLnRlc3QoYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkUGFyYW1ldGVyVmFsdWVFcnJvcignSW52YWxpZCBjb250cmFjdCBhZGRyZXNzIGZvcm1hdCcpO1xuICAgIH1cblxuICAgIHRoaXMuX2NvbnRyYWN0QWRkcmVzcyA9IGFkZHJlc3MudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCcweCcpID8gYWRkcmVzcyA6IGAweCR7YWRkcmVzc31gO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSB1cGxvYWRLWUMgY29udHJhY3QgY2FsbFxuICAgKlxuICAgKiBAcmV0dXJucyB7VXBsb2FkS3ljQ2FsbH0gdGhlIGNvbnN0cnVjdGVkIGNvbnRyYWN0IGNhbGxcbiAgICogQHRocm93cyB7QnVpbGRUcmFuc2FjdGlvbkVycm9yfSBpZiByZXF1aXJlZCBmaWVsZHMgYXJlIG1pc3NpbmdcbiAgICovXG4gIGJ1aWxkKCk6IFVwbG9hZEt5Y0NhbGwge1xuICAgIHRoaXMudmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTtcbiAgICBjb25zdCBjb250cmFjdEFkZHJlc3MgPSB0aGlzLl9jb250cmFjdEFkZHJlc3MgfHwgdGhpcy5nZXREZWZhdWx0Q29udHJhY3RBZGRyZXNzKCk7XG4gICAgY29uc3QgaXBmc0hhc2ggPSB0aGlzLl9pcGZzSGFzaCBhcyBzdHJpbmc7IC8vIHZhbGlkYXRlZCBieSB2YWxpZGF0ZU1hbmRhdG9yeUZpZWxkc1xuICAgIHJldHVybiBuZXcgVXBsb2FkS3ljQ2FsbChjb250cmFjdEFkZHJlc3MsIGlwZnNIYXNoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IGFsbCBtYW5kYXRvcnkgZmllbGRzIGFyZSBzZXRcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVNYW5kYXRvcnlGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pcGZzSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignTWlzc2luZyBJUEZTIGhhc2ggZm9yIHVwbG9hZEtZQyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgdmFsaWRhdG9yIGNvbnRyYWN0IGFkZHJlc3MgZm9yIHRoZSBjdXJyZW50IG5ldHdvcmtcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0RGVmYXVsdENvbnRyYWN0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGlzVGVzdG5ldCA9IHRoaXMuX2NvaW5Db25maWcubmFtZSA9PT0gJ3R4ZGMnO1xuICAgIHJldHVybiBnZXRWYWxpZGF0b3JDb250cmFjdEFkZHJlc3MoaXNUZXN0bmV0KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,136 @@
1
+ /**
2
+ * XDC Validator Contract Constants and ABI
3
+ *
4
+ * This file contains the contract address and ABI for the XDC Validator contract
5
+ * which handles KYC uploads and validator staking operations.
6
+ *
7
+ * Contract Address: 0x0000000000000000000000000000000000000088 (System Contract)
8
+ * Source: XDC Network Validator Contract
9
+ * Reference: https://github.com/XinFinOrg/XDPoSChain
10
+ */
11
+ /**
12
+ * XDC Validator Contract Address (Testnet)
13
+ * This is the deployed contract address on XDC Apothem testnet (chainId: 51)
14
+ */
15
+ export declare const XDC_VALIDATOR_CONTRACT_ADDRESS_TESTNET = "0x0000000000000000000000000000000000000088";
16
+ /**
17
+ * XDC Validator Contract Address (Mainnet)
18
+ * This is the deployed contract address on XDC mainnet (chainId: 50)
19
+ */
20
+ export declare const XDC_VALIDATOR_CONTRACT_ADDRESS_MAINNET = "0x0000000000000000000000000000000000000088";
21
+ /**
22
+ * uploadKYC method ID
23
+ * keccak256("uploadKYC(string)") = 0xf5c95125
24
+ */
25
+ export declare const UPLOAD_KYC_METHOD_ID = "0xf5c95125";
26
+ /**
27
+ * propose method ID
28
+ * keccak256("propose(address)") = 0x01267951
29
+ */
30
+ export declare const PROPOSE_METHOD_ID = "0x01267951";
31
+ /**
32
+ * Full XDC Validator Contract ABI
33
+ * Imported from JSON file for easy use with Web3/XDC3
34
+ */
35
+ export declare const XDC_VALIDATOR_ABI: ({
36
+ constant: boolean;
37
+ inputs: {
38
+ name: string;
39
+ type: string;
40
+ }[];
41
+ name: string;
42
+ outputs: {
43
+ name: string;
44
+ type: string;
45
+ }[];
46
+ payable: boolean;
47
+ stateMutability: string;
48
+ type: string;
49
+ anonymous?: undefined;
50
+ } | {
51
+ anonymous: boolean;
52
+ inputs: {
53
+ indexed: boolean;
54
+ name: string;
55
+ type: string;
56
+ }[];
57
+ name: string;
58
+ type: string;
59
+ constant?: undefined;
60
+ outputs?: undefined;
61
+ payable?: undefined;
62
+ stateMutability?: undefined;
63
+ })[];
64
+ /**
65
+ * Get the uploadKYC function ABI
66
+ * Useful for encoding function calls
67
+ */
68
+ export declare const UPLOAD_KYC_ABI: {
69
+ constant: boolean;
70
+ inputs: {
71
+ name: string;
72
+ type: string;
73
+ }[];
74
+ name: string;
75
+ outputs: {
76
+ name: string;
77
+ type: string;
78
+ }[];
79
+ payable: boolean;
80
+ stateMutability: string;
81
+ type: string;
82
+ anonymous?: undefined;
83
+ } | {
84
+ anonymous: boolean;
85
+ inputs: {
86
+ indexed: boolean;
87
+ name: string;
88
+ type: string;
89
+ }[];
90
+ name: string;
91
+ type: string;
92
+ constant?: undefined;
93
+ outputs?: undefined;
94
+ payable?: undefined;
95
+ stateMutability?: undefined;
96
+ } | undefined;
97
+ /**
98
+ * Get the propose function ABI
99
+ * Useful for encoding function calls
100
+ */
101
+ export declare const PROPOSE_ABI: {
102
+ constant: boolean;
103
+ inputs: {
104
+ name: string;
105
+ type: string;
106
+ }[];
107
+ name: string;
108
+ outputs: {
109
+ name: string;
110
+ type: string;
111
+ }[];
112
+ payable: boolean;
113
+ stateMutability: string;
114
+ type: string;
115
+ anonymous?: undefined;
116
+ } | {
117
+ anonymous: boolean;
118
+ inputs: {
119
+ indexed: boolean;
120
+ name: string;
121
+ type: string;
122
+ }[];
123
+ name: string;
124
+ type: string;
125
+ constant?: undefined;
126
+ outputs?: undefined;
127
+ payable?: undefined;
128
+ stateMutability?: undefined;
129
+ } | undefined;
130
+ /**
131
+ * Get the validator contract address for the given network
132
+ * @param isTestnet - whether to use testnet or mainnet
133
+ * @returns the validator contract address
134
+ */
135
+ export declare function getValidatorContractAddress(isTestnet: boolean): string;
136
+ //# sourceMappingURL=validatorContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatorContract.d.ts","sourceRoot":"","sources":["../../../src/lib/validatorContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;GAGG;AACH,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AAEnG;;;GAGG;AACH,eAAO,MAAM,sCAAsC,+CAA+C,CAAC;AAEnG;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAkB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAA4D,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAA0D,CAAC;AAEnF;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAEtE"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * XDC Validator Contract Constants and ABI
4
+ *
5
+ * This file contains the contract address and ABI for the XDC Validator contract
6
+ * which handles KYC uploads and validator staking operations.
7
+ *
8
+ * Contract Address: 0x0000000000000000000000000000000000000088 (System Contract)
9
+ * Source: XDC Network Validator Contract
10
+ * Reference: https://github.com/XinFinOrg/XDPoSChain
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.PROPOSE_ABI = exports.UPLOAD_KYC_ABI = exports.XDC_VALIDATOR_ABI = exports.PROPOSE_METHOD_ID = exports.UPLOAD_KYC_METHOD_ID = exports.XDC_VALIDATOR_CONTRACT_ADDRESS_MAINNET = exports.XDC_VALIDATOR_CONTRACT_ADDRESS_TESTNET = void 0;
17
+ exports.getValidatorContractAddress = getValidatorContractAddress;
18
+ const XDCValidatorABI_json_1 = __importDefault(require("./XDCValidatorABI.json"));
19
+ /**
20
+ * XDC Validator Contract Address (Testnet)
21
+ * This is the deployed contract address on XDC Apothem testnet (chainId: 51)
22
+ */
23
+ exports.XDC_VALIDATOR_CONTRACT_ADDRESS_TESTNET = '0x0000000000000000000000000000000000000088';
24
+ /**
25
+ * XDC Validator Contract Address (Mainnet)
26
+ * This is the deployed contract address on XDC mainnet (chainId: 50)
27
+ */
28
+ exports.XDC_VALIDATOR_CONTRACT_ADDRESS_MAINNET = '0x0000000000000000000000000000000000000088';
29
+ /**
30
+ * uploadKYC method ID
31
+ * keccak256("uploadKYC(string)") = 0xf5c95125
32
+ */
33
+ exports.UPLOAD_KYC_METHOD_ID = '0xf5c95125';
34
+ /**
35
+ * propose method ID
36
+ * keccak256("propose(address)") = 0x01267951
37
+ */
38
+ exports.PROPOSE_METHOD_ID = '0x01267951';
39
+ /**
40
+ * Full XDC Validator Contract ABI
41
+ * Imported from JSON file for easy use with Web3/XDC3
42
+ */
43
+ exports.XDC_VALIDATOR_ABI = XDCValidatorABI_json_1.default;
44
+ /**
45
+ * Get the uploadKYC function ABI
46
+ * Useful for encoding function calls
47
+ */
48
+ exports.UPLOAD_KYC_ABI = XDCValidatorABI_json_1.default.find((item) => item.name === 'uploadKYC');
49
+ /**
50
+ * Get the propose function ABI
51
+ * Useful for encoding function calls
52
+ */
53
+ exports.PROPOSE_ABI = XDCValidatorABI_json_1.default.find((item) => item.name === 'propose');
54
+ /**
55
+ * Get the validator contract address for the given network
56
+ * @param isTestnet - whether to use testnet or mainnet
57
+ * @returns the validator contract address
58
+ */
59
+ function getValidatorContractAddress(isTestnet) {
60
+ return isTestnet ? exports.XDC_VALIDATOR_CONTRACT_ADDRESS_TESTNET : exports.XDC_VALIDATOR_CONTRACT_ADDRESS_MAINNET;
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yQ29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ZhbGlkYXRvckNvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7O0dBU0c7Ozs7OztBQW1ESCxrRUFFQztBQW5ERCxrRkFBcUQ7QUFFckQ7OztHQUdHO0FBQ1UsUUFBQSxzQ0FBc0MsR0FBRyw0Q0FBNEMsQ0FBQztBQUVuRzs7O0dBR0c7QUFDVSxRQUFBLHNDQUFzQyxHQUFHLDRDQUE0QyxDQUFDO0FBRW5HOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0FBRWpEOzs7R0FHRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsOEJBQWUsQ0FBQztBQUVqRDs7O0dBR0c7QUFDVSxRQUFBLGNBQWMsR0FBRyw4QkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztBQUV4Rjs7O0dBR0c7QUFDVSxRQUFBLFdBQVcsR0FBRyw4QkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztBQUVuRjs7OztHQUlHO0FBQ0gsU0FBZ0IsMkJBQTJCLENBQUMsU0FBa0I7SUFDNUQsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLDhDQUFzQyxDQUFDLENBQUMsQ0FBQyw4Q0FBc0MsQ0FBQztBQUNyRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBYREMgVmFsaWRhdG9yIENvbnRyYWN0IENvbnN0YW50cyBhbmQgQUJJXG4gKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBjb250cmFjdCBhZGRyZXNzIGFuZCBBQkkgZm9yIHRoZSBYREMgVmFsaWRhdG9yIGNvbnRyYWN0XG4gKiB3aGljaCBoYW5kbGVzIEtZQyB1cGxvYWRzIGFuZCB2YWxpZGF0b3Igc3Rha2luZyBvcGVyYXRpb25zLlxuICpcbiAqIENvbnRyYWN0IEFkZHJlc3M6IDB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OCAoU3lzdGVtIENvbnRyYWN0KVxuICogU291cmNlOiBYREMgTmV0d29yayBWYWxpZGF0b3IgQ29udHJhY3RcbiAqIFJlZmVyZW5jZTogaHR0cHM6Ly9naXRodWIuY29tL1hpbkZpbk9yZy9YRFBvU0NoYWluXG4gKi9cblxuaW1wb3J0IFhEQ1ZhbGlkYXRvckFCSSBmcm9tICcuL1hEQ1ZhbGlkYXRvckFCSS5qc29uJztcblxuLyoqXG4gKiBYREMgVmFsaWRhdG9yIENvbnRyYWN0IEFkZHJlc3MgKFRlc3RuZXQpXG4gKiBUaGlzIGlzIHRoZSBkZXBsb3llZCBjb250cmFjdCBhZGRyZXNzIG9uIFhEQyBBcG90aGVtIHRlc3RuZXQgKGNoYWluSWQ6IDUxKVxuICovXG5leHBvcnQgY29uc3QgWERDX1ZBTElEQVRPUl9DT05UUkFDVF9BRERSRVNTX1RFU1RORVQgPSAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4JztcblxuLyoqXG4gKiBYREMgVmFsaWRhdG9yIENvbnRyYWN0IEFkZHJlc3MgKE1haW5uZXQpXG4gKiBUaGlzIGlzIHRoZSBkZXBsb3llZCBjb250cmFjdCBhZGRyZXNzIG9uIFhEQyBtYWlubmV0IChjaGFpbklkOiA1MClcbiAqL1xuZXhwb3J0IGNvbnN0IFhEQ19WQUxJREFUT1JfQ09OVFJBQ1RfQUREUkVTU19NQUlOTkVUID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OCc7XG5cbi8qKlxuICogdXBsb2FkS1lDIG1ldGhvZCBJRFxuICoga2VjY2FrMjU2KFwidXBsb2FkS1lDKHN0cmluZylcIikgPSAweGY1Yzk1MTI1XG4gKi9cbmV4cG9ydCBjb25zdCBVUExPQURfS1lDX01FVEhPRF9JRCA9ICcweGY1Yzk1MTI1JztcblxuLyoqXG4gKiBwcm9wb3NlIG1ldGhvZCBJRFxuICoga2VjY2FrMjU2KFwicHJvcG9zZShhZGRyZXNzKVwiKSA9IDB4MDEyNjc5NTFcbiAqL1xuZXhwb3J0IGNvbnN0IFBST1BPU0VfTUVUSE9EX0lEID0gJzB4MDEyNjc5NTEnO1xuXG4vKipcbiAqIEZ1bGwgWERDIFZhbGlkYXRvciBDb250cmFjdCBBQklcbiAqIEltcG9ydGVkIGZyb20gSlNPTiBmaWxlIGZvciBlYXN5IHVzZSB3aXRoIFdlYjMvWERDM1xuICovXG5leHBvcnQgY29uc3QgWERDX1ZBTElEQVRPUl9BQkkgPSBYRENWYWxpZGF0b3JBQkk7XG5cbi8qKlxuICogR2V0IHRoZSB1cGxvYWRLWUMgZnVuY3Rpb24gQUJJXG4gKiBVc2VmdWwgZm9yIGVuY29kaW5nIGZ1bmN0aW9uIGNhbGxzXG4gKi9cbmV4cG9ydCBjb25zdCBVUExPQURfS1lDX0FCSSA9IFhEQ1ZhbGlkYXRvckFCSS5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09ICd1cGxvYWRLWUMnKTtcblxuLyoqXG4gKiBHZXQgdGhlIHByb3Bvc2UgZnVuY3Rpb24gQUJJXG4gKiBVc2VmdWwgZm9yIGVuY29kaW5nIGZ1bmN0aW9uIGNhbGxzXG4gKi9cbmV4cG9ydCBjb25zdCBQUk9QT1NFX0FCSSA9IFhEQ1ZhbGlkYXRvckFCSS5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgPT09ICdwcm9wb3NlJyk7XG5cbi8qKlxuICogR2V0IHRoZSB2YWxpZGF0b3IgY29udHJhY3QgYWRkcmVzcyBmb3IgdGhlIGdpdmVuIG5ldHdvcmtcbiAqIEBwYXJhbSBpc1Rlc3RuZXQgLSB3aGV0aGVyIHRvIHVzZSB0ZXN0bmV0IG9yIG1haW5uZXRcbiAqIEByZXR1cm5zIHRoZSB2YWxpZGF0b3IgY29udHJhY3QgYWRkcmVzc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRhdG9yQ29udHJhY3RBZGRyZXNzKGlzVGVzdG5ldDogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBpc1Rlc3RuZXQgPyBYRENfVkFMSURBVE9SX0NPTlRSQUNUX0FERFJFU1NfVEVTVE5FVCA6IFhEQ19WQUxJREFUT1JfQ09OVFJBQ1RfQUREUkVTU19NQUlOTkVUO1xufVxuIl19
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { EthLikeTokenConfig } from '@bitgo/statics';
5
5
  import { BitGoBase, CoinConstructor, NamedCoinConstructor, MPCAlgorithm } from '@bitgo/sdk-core';
6
- import { CoinNames, EthLikeToken } from '@bitgo/abstract-eth';
6
+ import { CoinNames, EthLikeToken, VerifyEthTransactionOptions } from '@bitgo/abstract-eth';
7
7
  import { TransactionBuilder } from './lib';
8
8
  export { EthLikeTokenConfig };
9
9
  export declare class XdcToken extends EthLikeToken {
@@ -23,5 +23,15 @@ export declare class XdcToken extends EthLikeToken {
23
23
  supportsTss(): boolean;
24
24
  /** @inheritDoc */
25
25
  getMPCAlgorithm(): MPCAlgorithm;
26
+ /**
27
+ * Verify if a tss transaction is valid
28
+ *
29
+ * @param {VerifyEthTransactionOptions} params
30
+ * @param {TransactionParams} params.txParams - params object passed to send
31
+ * @param {TransactionPrebuild} params.txPrebuild - prebuild object returned by server
32
+ * @param {Wallet} params.wallet - Wallet object to obtain keys to verify against
33
+ * @returns {boolean}
34
+ */
35
+ verifyTssTransaction(params: VerifyEthTransactionOptions): Promise<boolean>;
26
36
  }
27
37
  //# sourceMappingURL=xdcToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xdcToken.d.ts","sourceRoot":"","sources":["../../src/xdcToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAS,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAmC,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,qBAAa,QAAS,SAAQ,YAAY;IACxC,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,SAAS,CAGzB;gBACU,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB;IAG7D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe;IAI1E,MAAM,CAAC,uBAAuB,IAAI,oBAAoB,EAAE;IAIxD,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD;;;;OAIG;IACG,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMtG,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,OAAO;IAItB,kBAAkB;IAClB,eAAe,IAAI,YAAY;CAGhC"}
1
+ {"version":3,"file":"xdcToken.d.ts","sourceRoot":"","sources":["../../src/xdcToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAS,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzG,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,qBAAa,QAAS,SAAQ,YAAY;IACxC,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,MAAM,CAAC,SAAS,EAAE,SAAS,CAGzB;gBACU,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB;IAG7D,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe;IAI1E,MAAM,CAAC,uBAAuB,IAAI,oBAAoB,EAAE;IAIxD,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD;;;;OAIG;IACG,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMtG,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,OAAO;IAItB,kBAAkB;IAClB,eAAe,IAAI,YAAY;IAI/B;;;;;;;;OAQG;IACG,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;CAoBlF"}
@@ -41,10 +41,34 @@ class XdcToken extends abstract_eth_1.EthLikeToken {
41
41
  getMPCAlgorithm() {
42
42
  return 'ecdsa';
43
43
  }
44
+ /**
45
+ * Verify if a tss transaction is valid
46
+ *
47
+ * @param {VerifyEthTransactionOptions} params
48
+ * @param {TransactionParams} params.txParams - params object passed to send
49
+ * @param {TransactionPrebuild} params.txPrebuild - prebuild object returned by server
50
+ * @param {Wallet} params.wallet - Wallet object to obtain keys to verify against
51
+ * @returns {boolean}
52
+ */
53
+ async verifyTssTransaction(params) {
54
+ const { txParams, txPrebuild, wallet } = params;
55
+ if (!txParams?.recipients &&
56
+ !(txParams.prebuildTx?.consolidateId ||
57
+ (txParams.type && ['acceleration', 'fillNonce', 'transferToken'].includes(txParams.type)))) {
58
+ throw new Error(`missing txParams`);
59
+ }
60
+ if (!wallet || !txPrebuild) {
61
+ throw new Error(`missing params`);
62
+ }
63
+ if (txParams.hop && txParams.recipients && txParams.recipients.length > 1) {
64
+ throw new Error(`tx cannot be both a batch and hop transaction`);
65
+ }
66
+ return true;
67
+ }
44
68
  }
45
69
  exports.XdcToken = XdcToken;
46
70
  XdcToken.coinNames = {
47
71
  Mainnet: 'xdc',
48
72
  Testnet: 'txdc',
49
73
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRjVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveGRjVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCw0Q0FBMkQ7QUFDM0QsOENBQXlHO0FBQ3pHLHNEQUErRjtBQUUvRiwrQkFBMkM7QUFHM0MsTUFBYSxRQUFTLFNBQVEsMkJBQVk7SUFNeEMsWUFBWSxLQUFnQixFQUFFLFdBQStCO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQTBCO1FBQ3RELE9BQU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUI7UUFDNUIsT0FBTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxLQUE2QjtRQUNqRSxNQUFNLFFBQVEsR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFDOUUsTUFBTSxXQUFXLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1FBQ2hGLE9BQU8sTUFBTSxJQUFBLDhDQUErQixFQUFDLEtBQUssRUFBRSxXQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZTtRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O0FBM0NILDRCQTRDQztBQTFDUSxrQkFBUyxHQUFjO0lBQzVCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsT0FBTyxFQUFFLE1BQU07Q0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCB7IEV0aExpa2VUb2tlbkNvbmZpZywgY29pbnMgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIENvaW5Db25zdHJ1Y3RvciwgTmFtZWRDb2luQ29uc3RydWN0b3IsIGNvbW1vbiwgTVBDQWxnb3JpdGhtIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IENvaW5OYW1lcywgRXRoTGlrZVRva2VuLCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5IH0gZnJvbSAnQGJpdGdvL2Fic3RyYWN0LWV0aCc7XG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vbGliJztcbmV4cG9ydCB7IEV0aExpa2VUb2tlbkNvbmZpZyB9O1xuXG5leHBvcnQgY2xhc3MgWGRjVG9rZW4gZXh0ZW5kcyBFdGhMaWtlVG9rZW4ge1xuICBwdWJsaWMgcmVhZG9ubHkgdG9rZW5Db25maWc6IEV0aExpa2VUb2tlbkNvbmZpZztcbiAgc3RhdGljIGNvaW5OYW1lczogQ29pbk5hbWVzID0ge1xuICAgIE1haW5uZXQ6ICd4ZGMnLFxuICAgIFRlc3RuZXQ6ICd0eGRjJyxcbiAgfTtcbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgdG9rZW5Db25maWc6IEV0aExpa2VUb2tlbkNvbmZpZykge1xuICAgIHN1cGVyKGJpdGdvLCB0b2tlbkNvbmZpZywgWGRjVG9rZW4uY29pbk5hbWVzKTtcbiAgfVxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWc6IEV0aExpa2VUb2tlbkNvbmZpZyk6IENvaW5Db25zdHJ1Y3RvciB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRva2VuQ29uc3RydWN0b3IoY29uZmlnLCBYZGNUb2tlbi5jb2luTmFtZXMpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCk6IE5hbWVkQ29pbkNvbnN0cnVjdG9yW10ge1xuICAgIHJldHVybiBzdXBlci5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhYZGNUb2tlbi5jb2luTmFtZXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSBhIHF1ZXJ5IHRvIFhEQyBFdGhlcnNjYW4gZm9yIGluZm9ybWF0aW9uIHN1Y2ggYXMgYmFsYW5jZSwgdG9rZW4gYmFsYW5jZSwgc29saWRpdHkgY2FsbHNcbiAgICogQHBhcmFtIHtPYmplY3R9IHF1ZXJ5IGtleS12YWx1ZSBwYWlycyBvZiBwYXJhbWV0ZXJzIHRvIGFwcGVuZCBhZnRlciAvYXBpXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPE9iamVjdD59IHJlc3BvbnNlIGZyb20gWERDIEV0aGVyc2NhblxuICAgKi9cbiAgYXN5bmMgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdCBhcGlUb2tlbiA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0ueGRjRXhwbG9yZXJBcGlUb2tlbjtcbiAgICBjb25zdCBleHBsb3JlclVybCA9IGNvbW1vbi5FbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0ueGRjRXhwbG9yZXJCYXNlVXJsO1xuICAgIHJldHVybiBhd2FpdCByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5LCBleHBsb3JlclVybCBhcyBzdHJpbmcsIGFwaVRva2VuKTtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdYREMgVG9rZW4nO1xuICB9XG5cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cbn1cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRjVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveGRjVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCw0Q0FBMkQ7QUFDM0QsOENBQXlHO0FBQ3pHLHNEQUs2QjtBQUU3QiwrQkFBMkM7QUFHM0MsTUFBYSxRQUFTLFNBQVEsMkJBQVk7SUFNeEMsWUFBWSxLQUFnQixFQUFFLFdBQStCO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQTBCO1FBQ3RELE9BQU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUI7UUFDNUIsT0FBTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxLQUE2QjtRQUNqRSxNQUFNLFFBQVEsR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFDOUUsTUFBTSxXQUFXLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1FBQ2hGLE9BQU8sTUFBTSxJQUFBLDhDQUErQixFQUFDLEtBQUssRUFBRSxXQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZTtRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFtQztRQUM1RCxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDaEQsSUFDRSxDQUFDLFFBQVEsRUFBRSxVQUFVO1lBQ3JCLENBQUMsQ0FDQyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWE7Z0JBQ2xDLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRixFQUNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQXpFSCw0QkEwRUM7QUF4RVEsa0JBQVMsR0FBYztJQUM1QixPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxNQUFNO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQml0R29CYXNlLCBDb2luQ29uc3RydWN0b3IsIE5hbWVkQ29pbkNvbnN0cnVjdG9yLCBjb21tb24sIE1QQ0FsZ29yaXRobSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQge1xuICBDb2luTmFtZXMsXG4gIEV0aExpa2VUb2tlbixcbiAgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSxcbiAgVmVyaWZ5RXRoVHJhbnNhY3Rpb25PcHRpb25zLFxufSBmcm9tICdAYml0Z28vYWJzdHJhY3QtZXRoJztcblxuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuZXhwb3J0IHsgRXRoTGlrZVRva2VuQ29uZmlnIH07XG5cbmV4cG9ydCBjbGFzcyBYZGNUb2tlbiBleHRlbmRzIEV0aExpa2VUb2tlbiB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnO1xuICBzdGF0aWMgY29pbk5hbWVzOiBDb2luTmFtZXMgPSB7XG4gICAgTWFpbm5ldDogJ3hkYycsXG4gICAgVGVzdG5ldDogJ3R4ZGMnLFxuICB9O1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKSB7XG4gICAgc3VwZXIoYml0Z28sIHRva2VuQ29uZmlnLCBYZGNUb2tlbi5jb2luTmFtZXMpO1xuICB9XG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWcsIFhkY1Rva2VuLmNvaW5OYW1lcyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFhkY1Rva2VuLmNvaW5OYW1lcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0QmFzZUNoYWluKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIGEgcXVlcnkgdG8gWERDIEV0aGVyc2NhbiBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBiYWxhbmNlLCB0b2tlbiBiYWxhbmNlLCBzb2xpZGl0eSBjYWxsc1xuICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnkga2V5LXZhbHVlIHBhaXJzIG9mIHBhcmFtZXRlcnMgdG8gYXBwZW5kIGFmdGVyIC9hcGlcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gcmVzcG9uc2UgZnJvbSBYREMgRXRoZXJzY2FuXG4gICAqL1xuICBhc3luYyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGFwaVRva2VuID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckJhc2VVcmw7XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1hEQyBUb2tlbic7XG4gIH1cblxuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgaWYgYSB0c3MgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIHtWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnN9IHBhcmFtc1xuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGFyYW1zfSBwYXJhbXMudHhQYXJhbXMgLSBwYXJhbXMgb2JqZWN0IHBhc3NlZCB0byBzZW5kXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QcmVidWlsZH0gcGFyYW1zLnR4UHJlYnVpbGQgLSBwcmVidWlsZCBvYmplY3QgcmV0dXJuZWQgYnkgc2VydmVyXG4gICAqIEBwYXJhbSB7V2FsbGV0fSBwYXJhbXMud2FsbGV0IC0gV2FsbGV0IG9iamVjdCB0byBvYnRhaW4ga2V5cyB0byB2ZXJpZnkgYWdhaW5zdFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGFzeW5jIHZlcmlmeVRzc1RyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5RXRoVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFBhcmFtcywgdHhQcmVidWlsZCwgd2FsbGV0IH0gPSBwYXJhbXM7XG4gICAgaWYgKFxuICAgICAgIXR4UGFyYW1zPy5yZWNpcGllbnRzICYmXG4gICAgICAhKFxuICAgICAgICB0eFBhcmFtcy5wcmVidWlsZFR4Py5jb25zb2xpZGF0ZUlkIHx8XG4gICAgICAgICh0eFBhcmFtcy50eXBlICYmIFsnYWNjZWxlcmF0aW9uJywgJ2ZpbGxOb25jZScsICd0cmFuc2ZlclRva2VuJ10uaW5jbHVkZXModHhQYXJhbXMudHlwZSkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgdHhQYXJhbXNgKTtcbiAgICB9XG4gICAgaWYgKCF3YWxsZXQgfHwgIXR4UHJlYnVpbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyBwYXJhbXNgKTtcbiAgICB9XG4gICAgaWYgKHR4UGFyYW1zLmhvcCAmJiB0eFBhcmFtcy5yZWNpcGllbnRzICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eCBjYW5ub3QgYmUgYm90aCBhIGJhdGNoIGFuZCBob3AgdHJhbnNhY3Rpb25gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -10,6 +10,27 @@ export declare const mockDataUnsignedSweep: {
10
10
  getBalanceRequest: Record<string, string>;
11
11
  getBalanceResponse: Record<string, unknown>;
12
12
  };
13
+ export declare const mockTokenTransferData: {
14
+ txRequestId: string;
15
+ walletId: string;
16
+ serializedTxHex: string;
17
+ signableHex: string;
18
+ tokenContractAddress: string;
19
+ recipientAddress: string;
20
+ senderAddress: string;
21
+ tokenAmount: string;
22
+ feeInfo: {
23
+ fee: number;
24
+ feeString: string;
25
+ };
26
+ txPrebuild: {
27
+ txHex: string;
28
+ recipients: {
29
+ address: string;
30
+ amount: string;
31
+ }[];
32
+ };
33
+ };
13
34
  export declare const mockDataNonBitGoRecovery: {
14
35
  recoveryDestination: string;
15
36
  userKeyData: string;
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../test/resources.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAajC,CAAC;AAkCF,eAAO,MAAM,wBAAwB;;;;;;;;;;CAYpC,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../test/resources.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAajC,CAAC;AAmCF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;CAyBjC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;CAYpC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockDataNonBitGoRecovery = exports.mockDataUnsignedSweep = void 0;
3
+ exports.mockDataNonBitGoRecovery = exports.mockTokenTransferData = exports.mockDataUnsignedSweep = void 0;
4
4
  const getTxListRequestUnsignedSweep = {
5
5
  chainid: '51',
6
6
  module: 'account',
@@ -69,6 +69,30 @@ const getBalanceResponseNonBitGoRecovery = {
69
69
  result: '100000000000000000',
70
70
  message: 'OK',
71
71
  };
72
+ // Mock data for txdc:tmt token transfer TSS transaction
73
+ exports.mockTokenTransferData = {
74
+ txRequestId: '2475368d-f604-46e3-a743-e32f663fa350',
75
+ walletId: '695e1ca4fb4a739c8c6f9b49120c55c7',
76
+ serializedTxHex: 'f86a0485045d964b8083061a8094b283ec8dad644effc5c4c50bb7bb21442ac3c2db80b844a9059cbb000000000000000000000000421cdf5e890070c28db0fd8e4bf87deac0cd0ffc00000000000000000000000000000000000000000000000000000000000f4240808080',
77
+ signableHex: 'f86a0485045d964b8083061a8094b283ec8dad644effc5c4c50bb7bb21442ac3c2db80b844a9059cbb000000000000000000000000421cdf5e890070c28db0fd8e4bf87deac0cd0ffc00000000000000000000000000000000000000000000000000000000000f4240338080',
78
+ tokenContractAddress: '0xb283ec8dad644effc5c4c50bb7bb21442ac3c2db',
79
+ recipientAddress: '0x421cdf5e890070c28db0fd8e4bf87deac0cd0ffc',
80
+ senderAddress: '0x6aafaddf545f96772140f0008190c176a065df9a',
81
+ tokenAmount: '1000000',
82
+ feeInfo: {
83
+ fee: 7500000000000000,
84
+ feeString: '7500000000000000',
85
+ },
86
+ txPrebuild: {
87
+ txHex: 'f86a0485045d964b8083061a8094b283ec8dad644effc5c4c50bb7bb21442ac3c2db80b844a9059cbb000000000000000000000000421cdf5e890070c28db0fd8e4bf87deac0cd0ffc00000000000000000000000000000000000000000000000000000000000f4240808080',
88
+ recipients: [
89
+ {
90
+ address: '0x421cdf5e890070c28db0fd8e4bf87deac0cd0ffc',
91
+ amount: '1000000',
92
+ },
93
+ ],
94
+ },
95
+ };
72
96
  exports.mockDataNonBitGoRecovery = {
73
97
  recoveryDestination: '0xd76b586901850f2c656db0cbef795c0851bbec35',
74
98
  userKeyData: '{"iv":"XeXwD5B465wYvao9WFZC7A==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"caDtzBCF3IA=","ct":"0qr0YV2DgN68F9luNpjFQhwDTIXwyTTYdQirvbgITHqIDmITmV1IMgkKIdzSZBfmLkB6bG46oVF4snVG7lXEJz2twrutI01g59xjw88ULgR5wV5ZdFrGcmNZvOQ1H5imoWGS8bVKONmeF55TBgi49r9x3dsmgWvJ/EHeApj/FrAP1BLX/Rgl57kZqnNoryl55P8L2cJtJE1weDBD+/GsggdrO/dYBmihKTWyTBVa7UBIIgV5wOd4RXbZN1Hg2Vc0bY56KrpZbY1CsdQiIwH3tkKFPdqthlHVEfS8XViaYVl0Go3C/mUMYZH7CTg/s4LMpdlWzh3iRnmGercvIFZBfcehgNVv9H/OctYZnKfUdI5mZsVGxQRIMWr8oFbmjR3pYJ94oxS8assAzl7hNI4RJi/u4N9/5VJIi//069zsMsgA+k4b3u3xvivkTjO5sscAPs/Sp0mb5QLQhP48D/sHIYwhQiThJaH+flSoUQu5LNWmucmYr08lRRiI07O7DZAY2pplLSvBfkrBtgTgi+rLN95lKkxi7PYTGWuek1Sd/XiXit6EJ5FImYH2eKEVgatYvKfj/BdNJ2iHmeaykajtjpr21lt0Iqk98iZLZfCp5w4hfHHHB4QCrBzCAeG2MEPqmrAN67z4gMxUbkI+j9lYp5SyvlFmDIm78SyQ60371Wfr+7b4+wFqPq9fumXBZ4i0xYbcWTrKjYrn5bO5o3LWiRoh7EW8mzbMIC2m/DwIwdCHodbz4g31Psnk6Yk6UqEMq5JhOoUJYuVhYthNmbRlI59UDg+rz/HO9nYnZqsUgubSKcZArqM1J4T4+EDKuHtgnCQm2hqHlsJu+/n73jU33GEm86pDdcb8udHsfPCvhEIuLw6ZyThiX8JEOCi8Ueb0GPL31MSkJ7L7cOizgp6lHgs4nZorZfUIKjDd3twcpBNXjT15KEQbrW8RQChXmVl0b5N8BAom6e9Xpz2kDRGbvbYfBOdiht5Vr5Sm7prAQVVCZTWq6/qOZFWr7LJ+Cdw1qYt64UFcBHNtaX3d5WOMNNMqesrglVTW7w2Gscu7XaxoA4cTOKvMemG1cWTag3kr8oNgtz5gXsfbSo7CJrN8vw=="}',
@@ -80,4 +104,4 @@ exports.mockDataNonBitGoRecovery = {
80
104
  getBalanceRequest: getBalanceRequestNonBitGoRecovery,
81
105
  getBalanceResponse: getBalanceResponseNonBitGoRecovery,
82
106
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSw2QkFBNkIsR0FBMkI7SUFDNUQsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUE0QjtJQUM5RCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRTtRQUNOO1lBQ0UsSUFBSSxFQUFFLG9FQUFvRTtZQUMxRSxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSw0Q0FBNEM7U0FDbkQ7S0FDRjtJQUNELE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BQU0sOEJBQThCLEdBQTJCO0lBQzdELE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsT0FBTyxFQUFFLDRDQUE0QztDQUN0RCxDQUFDO0FBRUYsTUFBTSwrQkFBK0IsR0FBNEI7SUFDL0QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUNMLG9JQUFvSTtJQUN0SSxTQUFTLEVBQ1Asb0lBQW9JO0lBQ3RJLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLGlCQUFpQixFQUFFLDRDQUE0QztJQUMvRCxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsa0JBQWtCLEVBQUUsK0JBQStCO0NBQ3BELENBQUM7QUFFRixNQUFNLGdDQUFnQyxHQUEyQjtJQUMvRCxPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSw0Q0FBNEM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQTRCO0lBQ2pFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFO1FBQ047WUFDRSxJQUFJLEVBQUUsb0VBQW9FO1lBQzFFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLDRDQUE0QztTQUNuRDtLQUNGO0lBQ0QsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBMkI7SUFDaEUsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLGtDQUFrQyxHQUE0QjtJQUNsRSxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRVcsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsV0FBVyxFQUNULG91Q0FBb3VDO0lBQ3R1QyxhQUFhLEVBQ1gsb3VDQUFvdUM7SUFDdHVDLGdCQUFnQixFQUFFLGlCQUFpQjtJQUNuQyxpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZ0JBQWdCLEVBQUUsZ0NBQWdDO0lBQ2xELGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxpQkFBaUIsRUFBRSxpQ0FBaUM7SUFDcEQsa0JBQWtCLEVBQUUsa0NBQWtDO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzUxJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ3R4bGlzdCcsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVzcG9uc2VVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogW1xuICAgIHtcbiAgICAgIGhhc2g6ICcweGVkZTg1NWQ0M2Q3MGVhMWJiNzVkYjYzZDRmNzUxMTNkYWUwODQ1ZjBkNGJkYjBiMmQ4YmRhNTUyNDljNzA4MTInLFxuICAgICAgbm9uY2U6ICcyMycsXG4gICAgICBmcm9tOiAnMHg3NDI4MzgxOTNjNDE2OWY2YjJiYTdiMGUwM2Y3MjNjM2JhMDkyOGUxJyxcbiAgICB9LFxuICBdLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlcXVlc3RVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBjaGFpbmlkOiAnNTEnLFxuICBtb2R1bGU6ICdhY2NvdW50JyxcbiAgYWN0aW9uOiAnYmFsYW5jZScsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlc3BvbnNlVW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6ICcxMDAwMDAwMDAwMDAwMDAwMDAnLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuZXhwb3J0IGNvbnN0IG1vY2tEYXRhVW5zaWduZWRTd2VlcCA9IHtcbiAgdXNlcktleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGJhY2t1cEtleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGRlcml2YXRpb25QYXRoOiAnbS8wJyxcbiAgZGVyaXZhdGlvblNlZWQ6ICcnLFxuICB3YWxsZXRCYXNlQWRkcmVzczogJzB4NzQyODM4MTkzYzQxNjlmNmIyYmE3YjBlMDNmNzIzYzNiYTA5MjhlMScsXG4gIHJlY292ZXJ5RGVzdGluYXRpb246ICcweGQ3NmI1ODY5MDE4NTBmMmM2NTZkYjBjYmVmNzk1YzA4NTFiYmVjMzUnLFxuICBnZXRUeExpc3RSZXF1ZXN0OiBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0VHhMaXN0UmVzcG9uc2U6IGdldFR4TGlzdFJlc3BvbnNlVW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlcXVlc3Q6IGdldEJhbGFuY2VSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlc3BvbnNlOiBnZXRCYWxhbmNlUmVzcG9uc2VVbnNpZ25lZFN3ZWVwLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVxdWVzdE5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNoYWluaWQ6ICc1MScsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICd0eGxpc3QnLFxuICBhZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbn07XG5cbmNvbnN0IGdldFR4TGlzdFJlc3BvbnNlTm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6IFtcbiAgICB7XG4gICAgICBoYXNoOiAnMHhlZGU4NTVkNDNkNzBlYTFiYjc1ZGI2M2Q0Zjc1MTEzZGFlMDg0NWYwZDRiZGIwYjJkOGJkYTU1MjQ5YzcwODEyJyxcbiAgICAgIG5vbmNlOiAnMjMnLFxuICAgICAgZnJvbTogJzB4NDQ3N2JjM2UyNDcyYjJjNTU4MGMwMTA1MjZkZmM1NjE0ODcxOTUyZCcsXG4gICAgfSxcbiAgXSxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzUxJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ2JhbGFuY2UnLFxuICBhZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXNwb25zZU5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICBzdGF0dXM6ICcxJyxcbiAgcmVzdWx0OiAnMTAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmV4cG9ydCBjb25zdCBtb2NrRGF0YU5vbkJpdEdvUmVjb3ZlcnkgPSB7XG4gIHJlY292ZXJ5RGVzdGluYXRpb246ICcweGQ3NmI1ODY5MDE4NTBmMmM2NTZkYjBjYmVmNzk1YzA4NTFiYmVjMzUnLFxuICB1c2VyS2V5RGF0YTpcbiAgICAne1wiaXZcIjpcIlhlWHdENUI0NjV3WXZhbzlXRlpDN0E9PVwiLFwidlwiOjEsXCJpdGVyXCI6MTAwMDAsXCJrc1wiOjI1NixcInRzXCI6NjQsXCJtb2RlXCI6XCJjY21cIixcImFkYXRhXCI6XCJcIixcImNpcGhlclwiOlwiYWVzXCIsXCJzYWx0XCI6XCJjYUR0ekJDRjNJQT1cIixcImN0XCI6XCIwcXIwWVYyRGdONjhGOWx1TnBqRlFod0RUSVh3eVRUWWRRaXJ2YmdJVEhxSURtSVRtVjFJTWdrS0lkelNaQmZtTGtCNmJHNDZvVkY0c25WRzdsWEVKejJ0d3J1dEkwMWc1OXhqdzg4VUxnUjV3VjVaZEZyR2NtTlp2T1ExSDVpbW9XR1M4YlZLT05tZUY1NVRCZ2k0OXI5eDNkc21nV3ZKL0VIZUFwai9GckFQMUJMWC9SZ2w1N2tacW5Ob3J5bDU1UDhMMmNKdEpFMXdlREJEKy9Hc2dnZHJPL2RZQm1paEtUV3lUQlZhN1VCSUlnVjV3T2Q0UlhiWk4xSGcyVmMwYlk1NktycFpiWTFDc2RRaUl3SDN0a0tGUGRxdGhsSFZFZlM4WFZpYVlWbDBHbzNDL21VTVlaSDdDVGcvczRMTXBkbFd6aDNpUm5tR2VyY3ZJRlpCZmNlaGdOVnY5SC9PY3RZWm5LZlVkSTVtWnNWR3hRUklNV3I4b0ZibWpSM3BZSjk0b3hTOGFzc0F6bDdoTkk0UkppL3U0TjkvNVZKSWkvLzA2OXpzTXNnQStrNGIzdTN4dml2a1RqTzVzc2NBUHMvU3AwbWI1UUxRaFA0OEQvc0hJWXdoUWlUaEphSCtmbFNvVVF1NUxOV211Y21ZcjA4bFJSaUkwN083RFpBWTJwcGxMU3ZCZmtyQnRnVGdpK3JMTjk1bEtreGk3UFlUR1d1ZWsxU2QvWGlYaXQ2RUo1RkltWUgyZUtFVmdhdFl2S2ZqL0JkTkoyaUhtZWF5a2FqdGpwcjIxbHQwSXFrOThpWkxaZkNwNXc0aGZISEhCNFFDckJ6Q0FlRzJNRVBxbXJBTjY3ejRnTXhVYmtJK2o5bFlwNVN5dmxGbURJbTc4U3lRNjAzNzFXZnIrN2I0K3dGcVBxOWZ1bVhCWjRpMHhZYmNXVHJLallybjViTzVvM0xXaVJvaDdFVzhtemJNSUMybS9Ed0l3ZENIb2RiejRnMzFQc25rNllrNlVxRU1xNUpoT29VSll1VmhZdGhObWJSbEk1OVVEZytyei9ITzluWW5acXNVZ3ViU0tjWkFycU0xSjRUNCtFREt1SHRnbkNRbTJocUhsc0p1Ky9uNzNqVTMzR0VtODZwRGRjYjh1ZEhzZlBDdmhFSXVMdzZaeVRoaVg4SkVPQ2k4VWViMEdQTDMxTVNrSjdMN2NPaXpncDZsSGdzNG5ab3JaZlVJS2pEZDN0d2NwQk5YalQxNUtFUWJyVzhSUUNoWG1WbDBiNU44QkFvbTZlOVhwejJrRFJHYnZiWWZCT2RpaHQ1VnI1U203cHJBUVZWQ1pUV3E2L3FPWkZXcjdMSitDZHcxcVl0NjRVRmNCSE50YVgzZDVXT01OTk1xZXNyZ2xWVFc3dzJHc2N1N1hheG9BNGNUT0t2TWVtRzFjV1RhZzNrcjhvTmd0ejVnWHNmYlNvN0NKck44dnc9PVwifScsXG4gIGJhY2t1cEtleURhdGE6XG4gICAgJ3tcIml2XCI6XCJKMzJWSUpoTzlDYmY1YnFjdjc1S2FnPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiWlE1VnNIZFhNNFE9XCIsXCJjdFwiOlwiWFRnQVV5OFRaQUxLdHQvUHRKR0FXYkhmdUV4SDVDNXl3M3k4RXJ5cmNZM3VaZGVrdGwzV2tMNEtISEdUdEw5eXpzc0NUT1dVTVRlbW9BS2lwZCtXLzNtcFp1UTg4cCtsbG9JZ1U3VGNlM1JMQkcrZ3U2NjVic3ZUVXVWcGZNcnBaSHhEWFhWTXp3b1VWSGF4d2Z2dTJ0Z2R1RG5wa0QvQlgyUk41cWZJNlA2eno1cjhVdVdiaURQS0VhcXBjQUhRK1JCaXRCUWlPeE5BbFJOWWV4blV4MXBDcWNLMDhocXJxZFF2eDdlbFhYZENJM1R3ZXBHVzdRd1J6V2E5cHh2TTlkODVBV0VTdWVKMkI0SnJaNWJrckl6WGl4R0pjb1VBSlZ2R2ZENjl6b0xVSDllaW5uTWFmcG9jRVRCVURReWV2Qy9qLzFGd2daVUNlR2NiNFU5Tjl0UUp0UjBmb3p6Z3BBbzkxbldBNVVma0QyK2h6UnZ6MnAxRG1jKzRiTmI2cy83dksrQklPZHBlNGJsekk0M1B4TUxvQkdrRVFIbEdIWUNyT1VuYlY3ZGN4bHlQdjBxZm9tOEs0ZjYvNzRZRUtpTVBqd0Ezc0NjbnRXYm9XOGdVUEhGMnh4L1dBZ21ISTlET2lYc0NKWk1IeDRHaVptWS9wUjlSVmUvT2VGQXFQTFdKb1Q2S2FpelRKRDNTbzQvRzVvSEtQZ1RRYk1JUGkxbFl0cUtkT3VoeWNJU3NhRWdua0cxYThUcTVDTjB0azVWeXdTbWo0a1NycXFqY3A3a2JBVytWaWFOa1pMdVNpYm9tSzlBdnVPR2tFWkJxREV1eUZKblM0b2F5UVRMeG5zdHpPMUpKR2htckNza0g5Qi9RSUlyVVZsMUlPdi9JVnlQZzRNN1QxZzArWWZIZEFYZHVMWHU5YmpIa3F6R2FTUVp1MzViczVRS3kwYktFaEF3b2oremdZQUYvZ1pCSDAvaVB6cldNMnh1L0hNZVFLd0kwS0ZMT2lCeDNjTW1OWUUrRmI2dkNqcFZYQlRZWVVDQk9qUm5yQXVSL2xjM0FuakFlZkNNQUQ4OStGUStRVzVJelp2OTdsclN3MFJiK0RJY3RmWGRkVUtLN3l5QmU4Q2NaV1UxZEdBWXNiL2hrK0g1bFRaSkJ1cjVNM2ExdnpQTWk2OEhLblJ0N1habXlCc3ZQQTh0MEpWSm1sYzBSZWpxRHJjcHM0dUtqS2RNYUROT3ZCem1FaWpkVnY4TjVxME5nK3lId3EzQm9scW9ZbjRtVkpPck11UmxadDRwT0RrSTh1T1UxSGEvVlN0THpoVDJIRmV4WitZMEp6TTBEUzVoc3lnSHQ0RHo2L1JmWlRLSFl2eHp1UmlITkxibU5jT0J2VmJCT0wyTG0rRGxvM2ZGdVZEM2ZTMDh2SnVhZmMvdUFmYXRwUndScWdFL0V6dlpPcG5aeUhjcjRsVVZFaFJyRFl3PT1cIn0nLFxuICB3YWxsZXRQYXNzcGhyYXNlOiAncHJpdGh2aXNoZXQyNTAzJyxcbiAgd2FsbGV0Um9vdEFkZHJlc3M6ICcweDQ0NzdiYzNlMjQ3MmIyYzU1ODBjMDEwNTI2ZGZjNTYxNDg3MTk1MmQnLFxuICBnZXRUeExpc3RSZXF1ZXN0OiBnZXRUeExpc3RSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeSxcbiAgZ2V0VHhMaXN0UmVzcG9uc2U6IGdldFR4TGlzdFJlc3BvbnNlTm9uQml0R29SZWNvdmVyeSxcbiAgZ2V0QmFsYW5jZVJlcXVlc3Q6IGdldEJhbGFuY2VSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeSxcbiAgZ2V0QmFsYW5jZVJlc3BvbnNlOiBnZXRCYWxhbmNlUmVzcG9uc2VOb25CaXRHb1JlY292ZXJ5LFxufTtcbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSw2QkFBNkIsR0FBMkI7SUFDNUQsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUE0QjtJQUM5RCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRTtRQUNOO1lBQ0UsSUFBSSxFQUFFLG9FQUFvRTtZQUMxRSxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSw0Q0FBNEM7U0FDbkQ7S0FDRjtJQUNELE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BQU0sOEJBQThCLEdBQTJCO0lBQzdELE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsT0FBTyxFQUFFLDRDQUE0QztDQUN0RCxDQUFDO0FBRUYsTUFBTSwrQkFBK0IsR0FBNEI7SUFDL0QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUNMLG9JQUFvSTtJQUN0SSxTQUFTLEVBQ1Asb0lBQW9JO0lBQ3RJLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLGlCQUFpQixFQUFFLDRDQUE0QztJQUMvRCxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsa0JBQWtCLEVBQUUsK0JBQStCO0NBQ3BELENBQUM7QUFFRixNQUFNLGdDQUFnQyxHQUEyQjtJQUMvRCxPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSw0Q0FBNEM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQTRCO0lBQ2pFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFO1FBQ047WUFDRSxJQUFJLEVBQUUsb0VBQW9FO1lBQzFFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLDRDQUE0QztTQUNuRDtLQUNGO0lBQ0QsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBMkI7SUFDaEUsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLGtDQUFrQyxHQUE0QjtJQUNsRSxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsd0RBQXdEO0FBQzNDLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsV0FBVyxFQUFFLHNDQUFzQztJQUNuRCxRQUFRLEVBQUUsa0NBQWtDO0lBQzVDLGVBQWUsRUFDYiwwTkFBME47SUFDNU4sV0FBVyxFQUNULDBOQUEwTjtJQUM1TixvQkFBb0IsRUFBRSw0Q0FBNEM7SUFDbEUsZ0JBQWdCLEVBQUUsNENBQTRDO0lBQzlELGFBQWEsRUFBRSw0Q0FBNEM7SUFDM0QsV0FBVyxFQUFFLFNBQVM7SUFDdEIsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixTQUFTLEVBQUUsa0JBQWtCO0tBQzlCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsS0FBSyxFQUNILDBOQUEwTjtRQUM1TixVQUFVLEVBQUU7WUFDVjtnQkFDRSxPQUFPLEVBQUUsNENBQTRDO2dCQUNyRCxNQUFNLEVBQUUsU0FBUzthQUNsQjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRVcsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsV0FBVyxFQUNULG91Q0FBb3VDO0lBQ3R1QyxhQUFhLEVBQ1gsb3VDQUFvdUM7SUFDdHVDLGdCQUFnQixFQUFFLGlCQUFpQjtJQUNuQyxpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZ0JBQWdCLEVBQUUsZ0NBQWdDO0lBQ2xELGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxpQkFBaUIsRUFBRSxpQ0FBaUM7SUFDcEQsa0JBQWtCLEVBQUUsa0NBQWtDO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzUxJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ3R4bGlzdCcsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVzcG9uc2VVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogW1xuICAgIHtcbiAgICAgIGhhc2g6ICcweGVkZTg1NWQ0M2Q3MGVhMWJiNzVkYjYzZDRmNzUxMTNkYWUwODQ1ZjBkNGJkYjBiMmQ4YmRhNTUyNDljNzA4MTInLFxuICAgICAgbm9uY2U6ICcyMycsXG4gICAgICBmcm9tOiAnMHg3NDI4MzgxOTNjNDE2OWY2YjJiYTdiMGUwM2Y3MjNjM2JhMDkyOGUxJyxcbiAgICB9LFxuICBdLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlcXVlc3RVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBjaGFpbmlkOiAnNTEnLFxuICBtb2R1bGU6ICdhY2NvdW50JyxcbiAgYWN0aW9uOiAnYmFsYW5jZScsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlc3BvbnNlVW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6ICcxMDAwMDAwMDAwMDAwMDAwMDAnLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuZXhwb3J0IGNvbnN0IG1vY2tEYXRhVW5zaWduZWRTd2VlcCA9IHtcbiAgdXNlcktleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGJhY2t1cEtleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGRlcml2YXRpb25QYXRoOiAnbS8wJyxcbiAgZGVyaXZhdGlvblNlZWQ6ICcnLFxuICB3YWxsZXRCYXNlQWRkcmVzczogJzB4NzQyODM4MTkzYzQxNjlmNmIyYmE3YjBlMDNmNzIzYzNiYTA5MjhlMScsXG4gIHJlY292ZXJ5RGVzdGluYXRpb246ICcweGQ3NmI1ODY5MDE4NTBmMmM2NTZkYjBjYmVmNzk1YzA4NTFiYmVjMzUnLFxuICBnZXRUeExpc3RSZXF1ZXN0OiBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0VHhMaXN0UmVzcG9uc2U6IGdldFR4TGlzdFJlc3BvbnNlVW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlcXVlc3Q6IGdldEJhbGFuY2VSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlc3BvbnNlOiBnZXRCYWxhbmNlUmVzcG9uc2VVbnNpZ25lZFN3ZWVwLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVxdWVzdE5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNoYWluaWQ6ICc1MScsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICd0eGxpc3QnLFxuICBhZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbn07XG5cbmNvbnN0IGdldFR4TGlzdFJlc3BvbnNlTm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6IFtcbiAgICB7XG4gICAgICBoYXNoOiAnMHhlZGU4NTVkNDNkNzBlYTFiYjc1ZGI2M2Q0Zjc1MTEzZGFlMDg0NWYwZDRiZGIwYjJkOGJkYTU1MjQ5YzcwODEyJyxcbiAgICAgIG5vbmNlOiAnMjMnLFxuICAgICAgZnJvbTogJzB4NDQ3N2JjM2UyNDcyYjJjNTU4MGMwMTA1MjZkZmM1NjE0ODcxOTUyZCcsXG4gICAgfSxcbiAgXSxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzUxJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ2JhbGFuY2UnLFxuICBhZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXNwb25zZU5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICBzdGF0dXM6ICcxJyxcbiAgcmVzdWx0OiAnMTAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbi8vIE1vY2sgZGF0YSBmb3IgdHhkYzp0bXQgdG9rZW4gdHJhbnNmZXIgVFNTIHRyYW5zYWN0aW9uXG5leHBvcnQgY29uc3QgbW9ja1Rva2VuVHJhbnNmZXJEYXRhID0ge1xuICB0eFJlcXVlc3RJZDogJzI0NzUzNjhkLWY2MDQtNDZlMy1hNzQzLWUzMmY2NjNmYTM1MCcsXG4gIHdhbGxldElkOiAnNjk1ZTFjYTRmYjRhNzM5YzhjNmY5YjQ5MTIwYzU1YzcnLFxuICBzZXJpYWxpemVkVHhIZXg6XG4gICAgJ2Y4NmEwNDg1MDQ1ZDk2NGI4MDgzMDYxYTgwOTRiMjgzZWM4ZGFkNjQ0ZWZmYzVjNGM1MGJiN2JiMjE0NDJhYzNjMmRiODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MjFjZGY1ZTg5MDA3MGMyOGRiMGZkOGU0YmY4N2RlYWMwY2QwZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDgwODA4MCcsXG4gIHNpZ25hYmxlSGV4OlxuICAgICdmODZhMDQ4NTA0NWQ5NjRiODA4MzA2MWE4MDk0YjI4M2VjOGRhZDY0NGVmZmM1YzRjNTBiYjdiYjIxNDQyYWMzYzJkYjgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIxY2RmNWU4OTAwNzBjMjhkYjBmZDhlNGJmODdkZWFjMGNkMGZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAzMzgwODAnLFxuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogJzB4YjI4M2VjOGRhZDY0NGVmZmM1YzRjNTBiYjdiYjIxNDQyYWMzYzJkYicsXG4gIHJlY2lwaWVudEFkZHJlc3M6ICcweDQyMWNkZjVlODkwMDcwYzI4ZGIwZmQ4ZTRiZjg3ZGVhYzBjZDBmZmMnLFxuICBzZW5kZXJBZGRyZXNzOiAnMHg2YWFmYWRkZjU0NWY5Njc3MjE0MGYwMDA4MTkwYzE3NmEwNjVkZjlhJyxcbiAgdG9rZW5BbW91bnQ6ICcxMDAwMDAwJyxcbiAgZmVlSW5mbzoge1xuICAgIGZlZTogNzUwMDAwMDAwMDAwMDAwMCxcbiAgICBmZWVTdHJpbmc6ICc3NTAwMDAwMDAwMDAwMDAwJyxcbiAgfSxcbiAgdHhQcmVidWlsZDoge1xuICAgIHR4SGV4OlxuICAgICAgJ2Y4NmEwNDg1MDQ1ZDk2NGI4MDgzMDYxYTgwOTRiMjgzZWM4ZGFkNjQ0ZWZmYzVjNGM1MGJiN2JiMjE0NDJhYzNjMmRiODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MjFjZGY1ZTg5MDA3MGMyOGRiMGZkOGU0YmY4N2RlYWMwY2QwZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDgwODA4MCcsXG4gICAgcmVjaXBpZW50czogW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiAnMHg0MjFjZGY1ZTg5MDA3MGMyOGRiMGZkOGU0YmY4N2RlYWMwY2QwZmZjJyxcbiAgICAgICAgYW1vdW50OiAnMTAwMDAwMCcsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5ID0ge1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiAnMHhkNzZiNTg2OTAxODUwZjJjNjU2ZGIwY2JlZjc5NWMwODUxYmJlYzM1JyxcbiAgdXNlcktleURhdGE6XG4gICAgJ3tcIml2XCI6XCJYZVh3RDVCNDY1d1l2YW85V0ZaQzdBPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiY2FEdHpCQ0YzSUE9XCIsXCJjdFwiOlwiMHFyMFlWMkRnTjY4RjlsdU5wakZRaHdEVElYd3lUVFlkUWlydmJnSVRIcUlEbUlUbVYxSU1na0tJZHpTWkJmbUxrQjZiRzQ2b1ZGNHNuVkc3bFhFSnoydHdydXRJMDFnNTl4anc4OFVMZ1I1d1Y1WmRGckdjbU5adk9RMUg1aW1vV0dTOGJWS09ObWVGNTVUQmdpNDlyOXgzZHNtZ1d2Si9FSGVBcGovRnJBUDFCTFgvUmdsNTdrWnFuTm9yeWw1NVA4TDJjSnRKRTF3ZURCRCsvR3NnZ2RyTy9kWUJtaWhLVFd5VEJWYTdVQklJZ1Y1d09kNFJYYlpOMUhnMlZjMGJZNTZLcnBaYlkxQ3NkUWlJd0gzdGtLRlBkcXRobEhWRWZTOFhWaWFZVmwwR28zQy9tVU1ZWkg3Q1RnL3M0TE1wZGxXemgzaVJubUdlcmN2SUZaQmZjZWhnTlZ2OUgvT2N0WVpuS2ZVZEk1bVpzVkd4UVJJTVdyOG9GYm1qUjNwWUo5NG94Uzhhc3NBemw3aE5JNFJKaS91NE45LzVWSklpLy8wNjl6c01zZ0ErazRiM3UzeHZpdmtUak81c3NjQVBzL1NwMG1iNVFMUWhQNDhEL3NISVl3aFFpVGhKYUgrZmxTb1VRdTVMTldtdWNtWXIwOGxSUmlJMDdPN0RaQVkycHBsTFN2QmZrckJ0Z1RnaStyTE45NWxLa3hpN1BZVEdXdWVrMVNkL1hpWGl0NkVKNUZJbVlIMmVLRVZnYXRZdktmai9CZE5KMmlIbWVheWthanRqcHIyMWx0MElxazk4aVpMWmZDcDV3NGhmSEhIQjRRQ3JCekNBZUcyTUVQcW1yQU42N3o0Z014VWJrSStqOWxZcDVTeXZsRm1ESW03OFN5UTYwMzcxV2ZyKzdiNCt3RnFQcTlmdW1YQlo0aTB4WWJjV1RyS2pZcm41Yk81bzNMV2lSb2g3RVc4bXpiTUlDMm0vRHdJd2RDSG9kYno0ZzMxUHNuazZZazZVcUVNcTVKaE9vVUpZdVZoWXRoTm1iUmxJNTlVRGcrcnovSE85blluWnFzVWd1YlNLY1pBcnFNMUo0VDQrRURLdUh0Z25DUW0yaHFIbHNKdSsvbjczalUzM0dFbTg2cERkY2I4dWRIc2ZQQ3ZoRUl1THc2WnlUaGlYOEpFT0NpOFVlYjBHUEwzMU1Ta0o3TDdjT2l6Z3A2bEhnczRuWm9yWmZVSUtqRGQzdHdjcEJOWGpUMTVLRVFiclc4UlFDaFhtVmwwYjVOOEJBb202ZTlYcHoya0RSR2J2YllmQk9kaWh0NVZyNVNtN3ByQVFWVkNaVFdxNi9xT1pGV3I3TEorQ2R3MXFZdDY0VUZjQkhOdGFYM2Q1V09NTk5NcWVzcmdsVlRXN3cyR3NjdTdYYXhvQTRjVE9Ldk1lbUcxY1dUYWcza3I4b05ndHo1Z1hzZmJTbzdDSnJOOHZ3PT1cIn0nLFxuICBiYWNrdXBLZXlEYXRhOlxuICAgICd7XCJpdlwiOlwiSjMyVklKaE85Q2JmNWJxY3Y3NUthZz09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIjpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIlpRNVZzSGRYTTRRPVwiLFwiY3RcIjpcIlhUZ0FVeThUWkFMS3R0L1B0SkdBV2JIZnVFeEg1QzV5dzN5OEVyeXJjWTN1WmRla3RsM1drTDRLSEhHVHRMOXl6c3NDVE9XVU1UZW1vQUtpcGQrVy8zbXBadVE4OHArbGxvSWdVN1RjZTNSTEJHK2d1NjY1YnN2VFV1VnBmTXJwWkh4RFhYVk16d29VVkhheHdmdnUydGdkdURucGtEL0JYMlJONXFmSTZQNnp6NXI4VXVXYmlEUEtFYXFwY0FIUStSQml0QlFpT3hOQWxSTllleG5VeDFwQ3FjSzA4aHFycWRRdng3ZWxYWGRDSTNUd2VwR1c3UXdSeldhOXB4dk05ZDg1QVdFU3VlSjJCNEpyWjVia3JJelhpeEdKY29VQUpWdkdmRDY5em9MVUg5ZWlubk1hZnBvY0VUQlVEUXlldkMvai8xRndnWlVDZUdjYjRVOU45dFFKdFIwZm96emdwQW85MW5XQTVVZmtEMitoelJ2ejJwMURtYys0Yk5iNnMvN3ZLK0JJT2RwZTRibHpJNDNQeE1Mb0JHa0VRSGxHSFlDck9VbmJWN2RjeGx5UHYwcWZvbThLNGY2Lzc0WUVLaU1QandBM3NDY250V2JvVzhnVVBIRjJ4eC9XQWdtSEk5RE9pWHNDSlpNSHg0R2labVkvcFI5UlZlL09lRkFxUExXSm9UNkthaXpUSkQzU280L0c1b0hLUGdUUWJNSVBpMWxZdHFLZE91aHljSVNzYUVnbmtHMWE4VHE1Q04wdGs1Vnl3U21qNGtTcnFxamNwN2tiQVcrVmlhTmtaTHVTaWJvbUs5QXZ1T0drRVpCcURFdXlGSm5TNG9heVFUTHhuc3R6TzFKSkdobXJDc2tIOUIvUUlJclVWbDFJT3YvSVZ5UGc0TTdUMWcwK1lmSGRBWGR1TFh1OWJqSGtxekdhU1FadTM1YnM1UUt5MGJLRWhBd29qK3pnWUFGL2daQkgwL2lQenJXTTJ4dS9ITWVRS3dJMEtGTE9pQngzY01tTllFK0ZiNnZDanBWWEJUWVlVQ0JPalJuckF1Ui9sYzNBbmpBZWZDTUFEODkrRlErUVc1SXpadjk3bHJTdzBSYitESWN0ZlhkZFVLSzd5eUJlOENjWldVMWRHQVlzYi9oaytINWxUWkpCdXI1TTNhMXZ6UE1pNjhIS25SdDdYWm15QnN2UEE4dDBKVkptbGMwUmVqcURyY3BzNHVLaktkTWFETk92QnptRWlqZFZ2OE41cTBOZyt5SHdxM0JvbHFvWW40bVZKT3JNdVJsWnQ0cE9Ea0k4dU9VMUhhL1ZTdEx6aFQySEZleForWTBKek0wRFM1aHN5Z0h0NER6Ni9SZlpUS0hZdnh6dVJpSE5MYm1OY09CdlZiQk9MMkxtK0RsbzNmRnVWRDNmUzA4dkp1YWZjL3VBZmF0cFJ3UnFnRS9FenZaT3BuWnlIY3I0bFVWRWhSckRZdz09XCJ9JyxcbiAgd2FsbGV0UGFzc3BocmFzZTogJ3ByaXRodmlzaGV0MjUwMycsXG4gIHdhbGxldFJvb3RBZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbiAgZ2V0VHhMaXN0UmVxdWVzdDogZ2V0VHhMaXN0UmVxdWVzdE5vbkJpdEdvUmVjb3ZlcnksXG4gIGdldFR4TGlzdFJlc3BvbnNlOiBnZXRUeExpc3RSZXNwb25zZU5vbkJpdEdvUmVjb3ZlcnksXG4gIGdldEJhbGFuY2VSZXF1ZXN0OiBnZXRCYWxhbmNlUmVxdWVzdE5vbkJpdEdvUmVjb3ZlcnksXG4gIGdldEJhbGFuY2VSZXNwb25zZTogZ2V0QmFsYW5jZVJlc3BvbnNlTm9uQml0R29SZWNvdmVyeSxcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=uploadKyc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadKyc.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/uploadKyc.ts"],"names":[],"mappings":""}