@bitgo-beta/sdk-coin-xdc 1.0.1-beta.88 → 1.0.1-beta.881

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.
Files changed (37) hide show
  1. package/dist/src/index.d.ts +1 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -1
  4. package/dist/src/lib/transactionBuilder.d.ts +2 -0
  5. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  6. package/dist/src/lib/transactionBuilder.js +5 -1
  7. package/dist/src/register.d.ts.map +1 -1
  8. package/dist/src/register.js +5 -1
  9. package/dist/src/xdc.d.ts +15 -2
  10. package/dist/src/xdc.d.ts.map +1 -1
  11. package/dist/src/xdc.js +32 -1
  12. package/dist/src/xdcToken.d.ts +37 -0
  13. package/dist/src/xdcToken.d.ts.map +1 -0
  14. package/dist/src/xdcToken.js +74 -0
  15. package/dist/test/resources.d.ts +45 -0
  16. package/dist/test/resources.d.ts.map +1 -0
  17. package/dist/test/resources.js +107 -0
  18. package/dist/test/unit/getBuilder.d.ts +3 -0
  19. package/dist/test/unit/getBuilder.d.ts.map +1 -0
  20. package/dist/test/unit/getBuilder.js +10 -0
  21. package/dist/test/unit/transactionBuilder/send.d.ts +2 -0
  22. package/dist/test/unit/transactionBuilder/send.d.ts.map +1 -0
  23. package/dist/test/unit/transactionBuilder/send.js +19 -0
  24. package/dist/test/unit/utils.d.ts +2 -0
  25. package/dist/test/unit/utils.d.ts.map +1 -0
  26. package/dist/test/unit/utils.js +27 -0
  27. package/dist/test/unit/xdc.d.ts +2 -0
  28. package/dist/test/unit/xdc.d.ts.map +1 -0
  29. package/dist/test/unit/xdc.js +172 -0
  30. package/dist/test/unit/xdcToken.d.ts +2 -0
  31. package/dist/test/unit/xdcToken.d.ts.map +1 -0
  32. package/dist/test/unit/xdcToken.js +228 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -0
  34. package/package.json +14 -10
  35. package/.eslintignore +0 -5
  36. package/.mocharc.yml +0 -8
  37. package/CHANGELOG.md +0 -48
@@ -2,4 +2,5 @@ export * from './lib';
2
2
  export * from './xdc';
3
3
  export * from './txdc';
4
4
  export * from './register';
5
+ export * from './xdcToken';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -18,4 +18,5 @@ __exportStar(require("./lib"), exports);
18
18
  __exportStar(require("./xdc"), exports);
19
19
  __exportStar(require("./txdc"), exports);
20
20
  __exportStar(require("./register"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliJztcbmV4cG9ydCAqIGZyb20gJy4veGRjJztcbmV4cG9ydCAqIGZyb20gJy4vdHhkYyc7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdGVyJztcbiJdfQ==
21
+ __exportStar(require("./xdcToken"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG5leHBvcnQgKiBmcm9tICcuL3hkYyc7XG5leHBvcnQgKiBmcm9tICcuL3R4ZGMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlcic7XG5leHBvcnQgKiBmcm9tICcuL3hkY1Rva2VuJztcbiJdfQ==
@@ -3,9 +3,11 @@ import { TransactionBuilder as AbstractTransactionBuilder } from '@bitgo-beta/ab
3
3
  import { TransferBuilder } from './transferBuilder';
4
4
  export declare class TransactionBuilder extends AbstractTransactionBuilder {
5
5
  protected _transfer: TransferBuilder;
6
+ private _signatures;
6
7
  constructor(_coinConfig: Readonly<CoinConfig>);
7
8
  /** @inheritdoc */
8
9
  transfer(data?: string): TransferBuilder;
10
+ addSignature(publicKey: any, signature: any): void;
9
11
  protected getContractData(addresses: string[]): string;
10
12
  }
11
13
  //# 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;AAE7D,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAe,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;gBAEzB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CAGvD"}
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;AAE7D,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAe,MAAM,0BAA0B,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;IACrC,OAAO,CAAC,WAAW,CAAM;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAM7C,kBAAkB;IAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe;IAUxC,YAAY,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA;IAKjC,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;CAGvD"}
@@ -21,9 +21,13 @@ class TransactionBuilder extends abstract_eth_1.TransactionBuilder {
21
21
  }
22
22
  return this._transfer;
23
23
  }
24
+ addSignature(publicKey, signature) {
25
+ this._signatures = [];
26
+ this._signatures.push({ publicKey, signature });
27
+ }
24
28
  getContractData(addresses) {
25
29
  throw new Error('Method not implemented.');
26
30
  }
27
31
  }
28
32
  exports.TransactionBuilder = TransactionBuilder;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBQzlFLDJEQUF5RztBQUN6RyxtQ0FBb0M7QUFDcEMsdURBQW9EO0FBRXBELE1BQWEsa0JBQW1CLFNBQVEsaUNBQTBCO0lBR2hFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsUUFBUSxDQUFDLElBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLDBCQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRVMsZUFBZSxDQUFDLFNBQW1CO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUF2QkQsZ0RBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgYXMgQWJzdHJhY3RUcmFuc2FjdGlvbkJ1aWxkZXIsIFRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcbmltcG9ydCB7IGdldENvbW1vbiB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zZmVyOiBUcmFuc2ZlckJ1aWxkZXI7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGdldENvbW1vbih0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRyYW5zZmVyKGRhdGE/OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNmZXJzIGNhbiBvbmx5IGJlIHNldCBmb3Igc2VuZCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90cmFuc2Zlcikge1xuICAgICAgdGhpcy5fdHJhbnNmZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29udHJhY3REYXRhKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQThFO0FBQzlFLDJEQUF5RztBQUN6RyxtQ0FBb0M7QUFDcEMsdURBQW9EO0FBRXBELE1BQWEsa0JBQW1CLFNBQVEsaUNBQTBCO0lBSWhFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSwwQkFBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsUUFBUSxDQUFDLElBQWE7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLDBCQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLGdDQUFxQixDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVTLGVBQWUsQ0FBQyxTQUFtQjtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBN0JELGdEQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIGFzIEFic3RyYWN0VHJhbnNhY3Rpb25CdWlsZGVyLCBUcmFuc2FjdGlvbiB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBnZXRDb21tb24gfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEFic3RyYWN0VHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2ZlcjogVHJhbnNmZXJCdWlsZGVyO1xuICBwcml2YXRlIF9zaWduYXR1cmVzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX2NvbW1vbiA9IGdldENvbW1vbih0aGlzLl9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnLCB0aGlzLl9jb21tb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRyYW5zZmVyKGRhdGE/OiBzdHJpbmcpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIGlmICh0aGlzLl90eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU2VuZCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNmZXJzIGNhbiBvbmx5IGJlIHNldCBmb3Igc2VuZCB0cmFuc2FjdGlvbnMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl90cmFuc2Zlcikge1xuICAgICAgdGhpcy5fdHJhbnNmZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNmZXI7XG4gIH1cblxuICBhZGRTaWduYXR1cmUocHVibGljS2V5LCBzaWduYXR1cmUpIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q29udHJhY3REYXRhKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAMzC,CAAC"}
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.register = void 0;
4
4
  const xdc_1 = require("./xdc");
5
5
  const txdc_1 = require("./txdc");
6
+ const xdcToken_1 = require("./xdcToken");
6
7
  const register = (sdk) => {
7
8
  sdk.register('xdc', xdc_1.Xdc.createInstance);
8
9
  sdk.register('txdc', txdc_1.Txdc.createInstance);
10
+ xdcToken_1.XdcToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
11
+ sdk.register(name, coinConstructor);
12
+ });
9
13
  };
10
14
  exports.register = register;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUV2QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgWGRjIH0gZnJvbSAnLi94ZGMnO1xuaW1wb3J0IHsgVHhkYyB9IGZyb20gJy4vdHhkYyc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlciA9IChzZGs6IEJpdEdvQmFzZSk6IHZvaWQgPT4ge1xuICBzZGsucmVnaXN0ZXIoJ3hkYycsIFhkYy5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcigndHhkYycsIFR4ZGMuY3JlYXRlSW5zdGFuY2UpO1xufTtcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQTRCO0FBQzVCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFFL0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFjLEVBQVEsRUFBRTtJQUMvQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLG1CQUFRLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3ZFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBTlcsUUFBQSxRQUFRLFlBTW5CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgWGRjIH0gZnJvbSAnLi94ZGMnO1xuaW1wb3J0IHsgVHhkYyB9IGZyb20gJy4vdHhkYyc7XG5pbXBvcnQgeyBYZGNUb2tlbiB9IGZyb20gJy4veGRjVG9rZW4nO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgc2RrLnJlZ2lzdGVyKCd4ZGMnLCBYZGMuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3R4ZGMnLCBUeGRjLmNyZWF0ZUluc3RhbmNlKTtcbiAgWGRjVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKS5mb3JFYWNoKCh7IG5hbWUsIGNvaW5Db25zdHJ1Y3RvciB9KSA9PiB7XG4gICAgc2RrLnJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gIH0pO1xufTtcbiJdfQ==
package/dist/src/xdc.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { BaseCoin, BitGoBase, MPCAlgorithm } from '@bitgo-beta/sdk-core';
1
+ import { BaseCoin, BitGoBase, MPCAlgorithm, MultisigType } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
3
- import { AbstractEthLikeNewCoins } from '@bitgo-beta/abstract-eth';
3
+ import { AbstractEthLikeNewCoins, UnsignedSweepTxMPCv2, RecoverOptions, OfflineVaultTxInfo, VerifyEthTransactionOptions } from '@bitgo-beta/abstract-eth';
4
4
  import { TransactionBuilder } from './lib';
5
5
  export declare class Xdc extends AbstractEthLikeNewCoins {
6
6
  protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
@@ -8,8 +8,21 @@ export declare class Xdc extends AbstractEthLikeNewCoins {
8
8
  protected getTransactionBuilder(): TransactionBuilder;
9
9
  /** @inheritDoc */
10
10
  supportsTss(): boolean;
11
+ /** inherited doc */
12
+ getDefaultMultisigType(): MultisigType;
11
13
  /** @inheritDoc */
12
14
  getMPCAlgorithm(): MPCAlgorithm;
15
+ protected buildUnsignedSweepTxnTSS(params: RecoverOptions): Promise<OfflineVaultTxInfo | UnsignedSweepTxMPCv2>;
13
16
  recoveryBlockchainExplorerQuery(query: Record<string, string>): Promise<Record<string, unknown>>;
17
+ /**
18
+ * Verify if a tss transaction is valid
19
+ *
20
+ * @param {VerifyEthTransactionOptions} params
21
+ * @param {TransactionParams} params.txParams - params object passed to send
22
+ * @param {TransactionPrebuild} params.txPrebuild - prebuild object returned by server
23
+ * @param {Wallet} params.wallet - Wallet object to obtain keys to verify against
24
+ * @returns {boolean}
25
+ */
26
+ verifyTssTransaction(params: VerifyEthTransactionOptions): Promise<boolean>;
14
27
  }
15
28
  //# sourceMappingURL=xdc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xdc.d.ts","sourceRoot":"","sources":["../../src/xdc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAmC,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,qBAAa,GAAI,SAAQ,uBAAuB;IAC9C,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,kBAAkB;IAClB,eAAe,IAAI,YAAY;IAIzB,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAKvG"}
1
+ {"version":3,"file":"xdc.d.ts","sourceRoot":"","sources":["../../src/xdc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAU,YAAY,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAS,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,uBAAuB,EAEvB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,qBAAa,GAAI,SAAQ,uBAAuB;IAC9C,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAI/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;IAIrD,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,oBAAoB;IACpB,sBAAsB,IAAI,YAAY;IAItC,kBAAkB;IAClB,eAAe,IAAI,YAAY;cAIf,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;IAI9G,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAKtG;;;;;;;;OAQG;IACG,oBAAoB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;CAoBlF"}
package/dist/src/xdc.js CHANGED
@@ -19,15 +19,46 @@ class Xdc extends abstract_eth_1.AbstractEthLikeNewCoins {
19
19
  supportsTss() {
20
20
  return true;
21
21
  }
22
+ /** inherited doc */
23
+ getDefaultMultisigType() {
24
+ return sdk_core_1.multisigTypes.tss;
25
+ }
22
26
  /** @inheritDoc */
23
27
  getMPCAlgorithm() {
24
28
  return 'ecdsa';
25
29
  }
30
+ async buildUnsignedSweepTxnTSS(params) {
31
+ return this.buildUnsignedSweepTxnMPCv2(params);
32
+ }
26
33
  async recoveryBlockchainExplorerQuery(query) {
27
34
  const apiToken = sdk_core_1.common.Environments[this.bitgo.getEnv()].xdcExplorerApiToken;
28
35
  const explorerUrl = sdk_core_1.common.Environments[this.bitgo.getEnv()].xdcExplorerBaseUrl;
29
36
  return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
30
37
  }
38
+ /**
39
+ * Verify if a tss transaction is valid
40
+ *
41
+ * @param {VerifyEthTransactionOptions} params
42
+ * @param {TransactionParams} params.txParams - params object passed to send
43
+ * @param {TransactionPrebuild} params.txPrebuild - prebuild object returned by server
44
+ * @param {Wallet} params.wallet - Wallet object to obtain keys to verify against
45
+ * @returns {boolean}
46
+ */
47
+ async verifyTssTransaction(params) {
48
+ const { txParams, txPrebuild, wallet } = params;
49
+ if (!txParams?.recipients &&
50
+ !(txParams.prebuildTx?.consolidateId ||
51
+ (txParams.type && ['acceleration', 'fillNonce', 'transferToken'].includes(txParams.type)))) {
52
+ throw new Error(`missing txParams`);
53
+ }
54
+ if (!wallet || !txPrebuild) {
55
+ throw new Error(`missing params`);
56
+ }
57
+ if (txParams.hop && txParams.recipients && txParams.recipients.length > 1) {
58
+ throw new Error(`tx cannot be both a batch and hop transaction`);
59
+ }
60
+ return true;
61
+ }
31
62
  }
32
63
  exports.Xdc = Xdc;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3hkYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBaUY7QUFDakYsaURBQXlFO0FBQ3pFLDJEQUFvRztBQUNwRywrQkFBMkM7QUFFM0MsTUFBYSxHQUFJLFNBQVEsc0NBQXVCO0lBQzlDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZTtRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsK0JBQStCLENBQUMsS0FBNkI7UUFDakUsTUFBTSxRQUFRLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1FBQzlFLE1BQU0sV0FBVyxHQUFHLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRixPQUFPLE1BQU0sSUFBQSw4Q0FBK0IsRUFBQyxLQUFLLEVBQUUsV0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RixDQUFDO0NBQ0Y7QUE1QkQsa0JBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSwgY29tbW9uLCBNUENBbGdvcml0aG0gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBBYnN0cmFjdEV0aExpa2VOZXdDb2lucywgcmVjb3ZlcnlCbG9ja2NoYWluRXhwbG9yZXJRdWVyeSB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2xpYic7XG5cbmV4cG9ydCBjbGFzcyBYZGMgZXh0ZW5kcyBBYnN0cmFjdEV0aExpa2VOZXdDb2lucyB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFhkYyhiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICBhc3luYyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGFwaVRva2VuID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckJhc2VVcmw7XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xuICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3hkYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBOEc7QUFDOUcsaURBQXlFO0FBQ3pFLDJEQU9rQztBQUNsQywrQkFBMkM7QUFFM0MsTUFBYSxHQUFJLFNBQVEsc0NBQXVCO0lBQzlDLFlBQXNCLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvQkFBb0I7SUFDcEIsc0JBQXNCO1FBQ3BCLE9BQU8sd0JBQWEsQ0FBQyxHQUFHLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixlQUFlO1FBQ2IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVTLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFzQjtRQUM3RCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLCtCQUErQixDQUFDLEtBQTZCO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLGlCQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUM5RSxNQUFNLFdBQVcsR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7UUFDaEYsT0FBTyxNQUFNLElBQUEsOENBQStCLEVBQUMsS0FBSyxFQUFFLFdBQXFCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUNEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQW1DO1FBQzVELE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNoRCxJQUNFLENBQUMsUUFBUSxFQUFFLFVBQVU7WUFDckIsQ0FBQyxDQUNDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsYUFBYTtnQkFDbEMsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzFGLEVBQ0QsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUUsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQWxFRCxrQkFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiwgQml0R29CYXNlLCBjb21tb24sIE1QQ0FsZ29yaXRobSwgTXVsdGlzaWdUeXBlLCBtdWx0aXNpZ1R5cGVzIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RFdGhMaWtlTmV3Q29pbnMsXG4gIHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnksXG4gIFVuc2lnbmVkU3dlZXBUeE1QQ3YyLFxuICBSZWNvdmVyT3B0aW9ucyxcbiAgT2ZmbGluZVZhdWx0VHhJbmZvLFxuICBWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnMsXG59IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWV0aCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2xpYic7XG5cbmV4cG9ydCBjbGFzcyBYZGMgZXh0ZW5kcyBBYnN0cmFjdEV0aExpa2VOZXdDb2lucyB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFhkYyhiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRyYW5zYWN0aW9uQnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyKGNvaW5zLmdldCh0aGlzLmdldEJhc2VDaGFpbigpKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgc3VwcG9ydHNUc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogaW5oZXJpdGVkIGRvYyAqL1xuICBnZXREZWZhdWx0TXVsdGlzaWdUeXBlKCk6IE11bHRpc2lnVHlwZSB7XG4gICAgcmV0dXJuIG11bHRpc2lnVHlwZXMudHNzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGdldE1QQ0FsZ29yaXRobSgpOiBNUENBbGdvcml0aG0ge1xuICAgIHJldHVybiAnZWNkc2EnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkVW5zaWduZWRTd2VlcFR4blRTUyhwYXJhbXM6IFJlY292ZXJPcHRpb25zKTogUHJvbWlzZTxPZmZsaW5lVmF1bHRUeEluZm8gfCBVbnNpZ25lZFN3ZWVwVHhNUEN2Mj4ge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkVW5zaWduZWRTd2VlcFR4bk1QQ3YyKHBhcmFtcyk7XG4gIH1cblxuICBhc3luYyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGFwaVRva2VuID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckJhc2VVcmw7XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xuICB9XG4gIC8qKlxuICAgKiBWZXJpZnkgaWYgYSB0c3MgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIHtWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnN9IHBhcmFtc1xuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGFyYW1zfSBwYXJhbXMudHhQYXJhbXMgLSBwYXJhbXMgb2JqZWN0IHBhc3NlZCB0byBzZW5kXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QcmVidWlsZH0gcGFyYW1zLnR4UHJlYnVpbGQgLSBwcmVidWlsZCBvYmplY3QgcmV0dXJuZWQgYnkgc2VydmVyXG4gICAqIEBwYXJhbSB7V2FsbGV0fSBwYXJhbXMud2FsbGV0IC0gV2FsbGV0IG9iamVjdCB0byBvYnRhaW4ga2V5cyB0byB2ZXJpZnkgYWdhaW5zdFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGFzeW5jIHZlcmlmeVRzc1RyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5RXRoVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFBhcmFtcywgdHhQcmVidWlsZCwgd2FsbGV0IH0gPSBwYXJhbXM7XG4gICAgaWYgKFxuICAgICAgIXR4UGFyYW1zPy5yZWNpcGllbnRzICYmXG4gICAgICAhKFxuICAgICAgICB0eFBhcmFtcy5wcmVidWlsZFR4Py5jb25zb2xpZGF0ZUlkIHx8XG4gICAgICAgICh0eFBhcmFtcy50eXBlICYmIFsnYWNjZWxlcmF0aW9uJywgJ2ZpbGxOb25jZScsICd0cmFuc2ZlclRva2VuJ10uaW5jbHVkZXModHhQYXJhbXMudHlwZSkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgdHhQYXJhbXNgKTtcbiAgICB9XG4gICAgaWYgKCF3YWxsZXQgfHwgIXR4UHJlYnVpbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyBwYXJhbXNgKTtcbiAgICB9XG4gICAgaWYgKHR4UGFyYW1zLmhvcCAmJiB0eFBhcmFtcy5yZWNpcGllbnRzICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eCBjYW5ub3QgYmUgYm90aCBhIGJhdGNoIGFuZCBob3AgdHJhbnNhY3Rpb25gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { EthLikeTokenConfig } from '@bitgo-beta/statics';
5
+ import { BitGoBase, CoinConstructor, NamedCoinConstructor, MPCAlgorithm } from '@bitgo-beta/sdk-core';
6
+ import { CoinNames, EthLikeToken, VerifyEthTransactionOptions } from '@bitgo-beta/abstract-eth';
7
+ import { TransactionBuilder } from './lib';
8
+ export { EthLikeTokenConfig };
9
+ export declare class XdcToken extends EthLikeToken {
10
+ readonly tokenConfig: EthLikeTokenConfig;
11
+ static coinNames: CoinNames;
12
+ constructor(bitgo: BitGoBase, tokenConfig: EthLikeTokenConfig);
13
+ static createTokenConstructor(config: EthLikeTokenConfig): CoinConstructor;
14
+ static createTokenConstructors(): NamedCoinConstructor[];
15
+ protected getTransactionBuilder(): TransactionBuilder;
16
+ /**
17
+ * Make a query to XDC Etherscan for information such as balance, token balance, solidity calls
18
+ * @param {Object} query key-value pairs of parameters to append after /api
19
+ * @returns {Promise<Object>} response from XDC Etherscan
20
+ */
21
+ recoveryBlockchainExplorerQuery(query: Record<string, string>): Promise<Record<string, unknown>>;
22
+ getFullName(): string;
23
+ supportsTss(): boolean;
24
+ /** @inheritDoc */
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>;
36
+ }
37
+ //# sourceMappingURL=xdcToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xdcToken.d.ts","sourceRoot":"","sources":["../../src/xdcToken.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAS,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAElC,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"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XdcToken = void 0;
4
+ /**
5
+ * @prettier
6
+ */
7
+ const statics_1 = require("@bitgo-beta/statics");
8
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
+ const abstract_eth_1 = require("@bitgo-beta/abstract-eth");
10
+ const lib_1 = require("./lib");
11
+ class XdcToken extends abstract_eth_1.EthLikeToken {
12
+ constructor(bitgo, tokenConfig) {
13
+ super(bitgo, tokenConfig, XdcToken.coinNames);
14
+ }
15
+ static createTokenConstructor(config) {
16
+ return super.createTokenConstructor(config, XdcToken.coinNames);
17
+ }
18
+ static createTokenConstructors() {
19
+ return super.createTokenConstructors(XdcToken.coinNames);
20
+ }
21
+ getTransactionBuilder() {
22
+ return new lib_1.TransactionBuilder(statics_1.coins.get(this.getBaseChain()));
23
+ }
24
+ /**
25
+ * Make a query to XDC Etherscan for information such as balance, token balance, solidity calls
26
+ * @param {Object} query key-value pairs of parameters to append after /api
27
+ * @returns {Promise<Object>} response from XDC Etherscan
28
+ */
29
+ async recoveryBlockchainExplorerQuery(query) {
30
+ const apiToken = sdk_core_1.common.Environments[this.bitgo.getEnv()].xdcExplorerApiToken;
31
+ const explorerUrl = sdk_core_1.common.Environments[this.bitgo.getEnv()].xdcExplorerBaseUrl;
32
+ return await (0, abstract_eth_1.recoveryBlockchainExplorerQuery)(query, explorerUrl, apiToken);
33
+ }
34
+ getFullName() {
35
+ return 'XDC Token';
36
+ }
37
+ supportsTss() {
38
+ return true;
39
+ }
40
+ /** @inheritDoc */
41
+ getMPCAlgorithm() {
42
+ return 'ecdsa';
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
+ }
68
+ }
69
+ exports.XdcToken = XdcToken;
70
+ XdcToken.coinNames = {
71
+ Mainnet: 'xdc',
72
+ Testnet: 'txdc',
73
+ };
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGRjVG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveGRjVG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxpREFBZ0U7QUFDaEUsbURBQThHO0FBQzlHLDJEQUtrQztBQUVsQywrQkFBMkM7QUFHM0MsTUFBYSxRQUFTLFNBQVEsMkJBQVk7SUFNeEMsWUFBWSxLQUFnQixFQUFFLFdBQStCO1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLHNCQUFzQixDQUFDLE1BQTBCO1FBQ3RELE9BQU8sS0FBSyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyx1QkFBdUI7UUFDNUIsT0FBTyxLQUFLLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxLQUE2QjtRQUNqRSxNQUFNLFFBQVEsR0FBRyxpQkFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFDOUUsTUFBTSxXQUFXLEdBQUcsaUJBQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1FBQ2hGLE9BQU8sTUFBTSxJQUFBLDhDQUErQixFQUFDLEtBQUssRUFBRSxXQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsZUFBZTtRQUNiLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFtQztRQUM1RCxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDaEQsSUFDRSxDQUFDLFFBQVEsRUFBRSxVQUFVO1lBQ3JCLENBQUMsQ0FDQyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWE7Z0JBQ2xDLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxRixFQUNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztBQXpFSCw0QkEwRUM7QUF4RVEsa0JBQVMsR0FBYztJQUM1QixPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRSxNQUFNO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBFdGhMaWtlVG9rZW5Db25maWcsIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCaXRHb0Jhc2UsIENvaW5Db25zdHJ1Y3RvciwgTmFtZWRDb2luQ29uc3RydWN0b3IsIGNvbW1vbiwgTVBDQWxnb3JpdGhtIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgQ29pbk5hbWVzLFxuICBFdGhMaWtlVG9rZW4sXG4gIHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnksXG4gIFZlcmlmeUV0aFRyYW5zYWN0aW9uT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3QtZXRoJztcblxuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9saWInO1xuZXhwb3J0IHsgRXRoTGlrZVRva2VuQ29uZmlnIH07XG5cbmV4cG9ydCBjbGFzcyBYZGNUb2tlbiBleHRlbmRzIEV0aExpa2VUb2tlbiB7XG4gIHB1YmxpYyByZWFkb25seSB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnO1xuICBzdGF0aWMgY29pbk5hbWVzOiBDb2luTmFtZXMgPSB7XG4gICAgTWFpbm5ldDogJ3hkYycsXG4gICAgVGVzdG5ldDogJ3R4ZGMnLFxuICB9O1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCB0b2tlbkNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKSB7XG4gICAgc3VwZXIoYml0Z28sIHRva2VuQ29uZmlnLCBYZGNUb2tlbi5jb2luTmFtZXMpO1xuICB9XG4gIHN0YXRpYyBjcmVhdGVUb2tlbkNvbnN0cnVjdG9yKGNvbmZpZzogRXRoTGlrZVRva2VuQ29uZmlnKTogQ29pbkNvbnN0cnVjdG9yIHtcbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlVG9rZW5Db25zdHJ1Y3Rvcihjb25maWcsIFhkY1Rva2VuLmNvaW5OYW1lcyk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoKTogTmFtZWRDb2luQ29uc3RydWN0b3JbXSB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKFhkY1Rva2VuLmNvaW5OYW1lcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VHJhbnNhY3Rpb25CdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KHRoaXMuZ2V0QmFzZUNoYWluKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtlIGEgcXVlcnkgdG8gWERDIEV0aGVyc2NhbiBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBiYWxhbmNlLCB0b2tlbiBiYWxhbmNlLCBzb2xpZGl0eSBjYWxsc1xuICAgKiBAcGFyYW0ge09iamVjdH0gcXVlcnkga2V5LXZhbHVlIHBhaXJzIG9mIHBhcmFtZXRlcnMgdG8gYXBwZW5kIGFmdGVyIC9hcGlcbiAgICogQHJldHVybnMge1Byb21pc2U8T2JqZWN0Pn0gcmVzcG9uc2UgZnJvbSBYREMgRXRoZXJzY2FuXG4gICAqL1xuICBhc3luYyByZWNvdmVyeUJsb2NrY2hhaW5FeHBsb3JlclF1ZXJ5KHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgIGNvbnN0IGFwaVRva2VuID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckFwaVRva2VuO1xuICAgIGNvbnN0IGV4cGxvcmVyVXJsID0gY29tbW9uLkVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS54ZGNFeHBsb3JlckJhc2VVcmw7XG4gICAgcmV0dXJuIGF3YWl0IHJlY292ZXJ5QmxvY2tjaGFpbkV4cGxvcmVyUXVlcnkocXVlcnksIGV4cGxvcmVyVXJsIGFzIHN0cmluZywgYXBpVG9rZW4pO1xuICB9XG5cbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1hEQyBUb2tlbic7XG4gIH1cblxuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBnZXRNUENBbGdvcml0aG0oKTogTVBDQWxnb3JpdGhtIHtcbiAgICByZXR1cm4gJ2VjZHNhJztcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZnkgaWYgYSB0c3MgdHJhbnNhY3Rpb24gaXMgdmFsaWRcbiAgICpcbiAgICogQHBhcmFtIHtWZXJpZnlFdGhUcmFuc2FjdGlvbk9wdGlvbnN9IHBhcmFtc1xuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uUGFyYW1zfSBwYXJhbXMudHhQYXJhbXMgLSBwYXJhbXMgb2JqZWN0IHBhc3NlZCB0byBzZW5kXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25QcmVidWlsZH0gcGFyYW1zLnR4UHJlYnVpbGQgLSBwcmVidWlsZCBvYmplY3QgcmV0dXJuZWQgYnkgc2VydmVyXG4gICAqIEBwYXJhbSB7V2FsbGV0fSBwYXJhbXMud2FsbGV0IC0gV2FsbGV0IG9iamVjdCB0byBvYnRhaW4ga2V5cyB0byB2ZXJpZnkgYWdhaW5zdFxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICovXG4gIGFzeW5jIHZlcmlmeVRzc1RyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5RXRoVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyB0eFBhcmFtcywgdHhQcmVidWlsZCwgd2FsbGV0IH0gPSBwYXJhbXM7XG4gICAgaWYgKFxuICAgICAgIXR4UGFyYW1zPy5yZWNpcGllbnRzICYmXG4gICAgICAhKFxuICAgICAgICB0eFBhcmFtcy5wcmVidWlsZFR4Py5jb25zb2xpZGF0ZUlkIHx8XG4gICAgICAgICh0eFBhcmFtcy50eXBlICYmIFsnYWNjZWxlcmF0aW9uJywgJ2ZpbGxOb25jZScsICd0cmFuc2ZlclRva2VuJ10uaW5jbHVkZXModHhQYXJhbXMudHlwZSkpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgdHhQYXJhbXNgKTtcbiAgICB9XG4gICAgaWYgKCF3YWxsZXQgfHwgIXR4UHJlYnVpbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyBwYXJhbXNgKTtcbiAgICB9XG4gICAgaWYgKHR4UGFyYW1zLmhvcCAmJiB0eFBhcmFtcy5yZWNpcGllbnRzICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB0eCBjYW5ub3QgYmUgYm90aCBhIGJhdGNoIGFuZCBob3AgdHJhbnNhY3Rpb25gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,45 @@
1
+ export declare const mockDataUnsignedSweep: {
2
+ userKey: string;
3
+ backupKey: string;
4
+ derivationPath: string;
5
+ derivationSeed: string;
6
+ walletBaseAddress: string;
7
+ recoveryDestination: string;
8
+ getTxListRequest: Record<string, string>;
9
+ getTxListResponse: Record<string, unknown>;
10
+ getBalanceRequest: Record<string, string>;
11
+ getBalanceResponse: Record<string, unknown>;
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
+ };
34
+ export declare const mockDataNonBitGoRecovery: {
35
+ recoveryDestination: string;
36
+ userKeyData: string;
37
+ backupKeyData: string;
38
+ walletPassphrase: string;
39
+ walletRootAddress: string;
40
+ getTxListRequest: Record<string, string>;
41
+ getTxListResponse: Record<string, unknown>;
42
+ getBalanceRequest: Record<string, string>;
43
+ getBalanceResponse: Record<string, unknown>;
44
+ };
45
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mockDataNonBitGoRecovery = exports.mockTokenTransferData = exports.mockDataUnsignedSweep = void 0;
4
+ const getTxListRequestUnsignedSweep = {
5
+ chainid: '51',
6
+ module: 'account',
7
+ action: 'txlist',
8
+ address: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
9
+ };
10
+ const getTxListResponseUnsignedSweep = {
11
+ status: '1',
12
+ result: [
13
+ {
14
+ hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
15
+ nonce: '23',
16
+ from: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
17
+ },
18
+ ],
19
+ message: 'OK',
20
+ };
21
+ const getBalanceRequestUnsignedSweep = {
22
+ chainid: '51',
23
+ module: 'account',
24
+ action: 'balance',
25
+ address: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
26
+ };
27
+ const getBalanceResponseUnsignedSweep = {
28
+ status: '1',
29
+ result: '100000000000000000',
30
+ message: 'OK',
31
+ };
32
+ exports.mockDataUnsignedSweep = {
33
+ userKey: '029d2ded2d39ee7cd8d8bbba8b25e4c60bb09297936fa6b223de1f495b5ee20dcaf762367f9691f7719cb5e13e59d725669a18aad1e2522dd141fa4c7fd3d25c17',
34
+ backupKey: '029d2ded2d39ee7cd8d8bbba8b25e4c60bb09297936fa6b223de1f495b5ee20dcaf762367f9691f7719cb5e13e59d725669a18aad1e2522dd141fa4c7fd3d25c17',
35
+ derivationPath: 'm/0',
36
+ derivationSeed: '',
37
+ walletBaseAddress: '0x742838193c4169f6b2ba7b0e03f723c3ba0928e1',
38
+ recoveryDestination: '0xd76b586901850f2c656db0cbef795c0851bbec35',
39
+ getTxListRequest: getTxListRequestUnsignedSweep,
40
+ getTxListResponse: getTxListResponseUnsignedSweep,
41
+ getBalanceRequest: getBalanceRequestUnsignedSweep,
42
+ getBalanceResponse: getBalanceResponseUnsignedSweep,
43
+ };
44
+ const getTxListRequestNonBitGoRecovery = {
45
+ chainid: '51',
46
+ module: 'account',
47
+ action: 'txlist',
48
+ address: '0x4477bc3e2472b2c5580c010526dfc5614871952d',
49
+ };
50
+ const getTxListResponseNonBitGoRecovery = {
51
+ status: '1',
52
+ result: [
53
+ {
54
+ hash: '0xede855d43d70ea1bb75db63d4f75113dae0845f0d4bdb0b2d8bda55249c70812',
55
+ nonce: '23',
56
+ from: '0x4477bc3e2472b2c5580c010526dfc5614871952d',
57
+ },
58
+ ],
59
+ message: 'OK',
60
+ };
61
+ const getBalanceRequestNonBitGoRecovery = {
62
+ chainid: '51',
63
+ module: 'account',
64
+ action: 'balance',
65
+ address: '0x4477bc3e2472b2c5580c010526dfc5614871952d',
66
+ };
67
+ const getBalanceResponseNonBitGoRecovery = {
68
+ status: '1',
69
+ result: '100000000000000000',
70
+ message: 'OK',
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
+ };
96
+ exports.mockDataNonBitGoRecovery = {
97
+ recoveryDestination: '0xd76b586901850f2c656db0cbef795c0851bbec35',
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=="}',
99
+ backupKeyData: '{"iv":"J32VIJhO9Cbf5bqcv75Kag==","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","salt":"ZQ5VsHdXM4Q=","ct":"XTgAUy8TZALKtt/PtJGAWbHfuExH5C5yw3y8EryrcY3uZdektl3WkL4KHHGTtL9yzssCTOWUMTemoAKipd+W/3mpZuQ88p+lloIgU7Tce3RLBG+gu665bsvTUuVpfMrpZHxDXXVMzwoUVHaxwfvu2tgduDnpkD/BX2RN5qfI6P6zz5r8UuWbiDPKEaqpcAHQ+RBitBQiOxNAlRNYexnUx1pCqcK08hqrqdQvx7elXXdCI3TwepGW7QwRzWa9pxvM9d85AWESueJ2B4JrZ5bkrIzXixGJcoUAJVvGfD69zoLUH9einnMafpocETBUDQyevC/j/1FwgZUCeGcb4U9N9tQJtR0fozzgpAo91nWA5UfkD2+hzRvz2p1Dmc+4bNb6s/7vK+BIOdpe4blzI43PxMLoBGkEQHlGHYCrOUnbV7dcxlyPv0qfom8K4f6/74YEKiMPjwA3sCcntWboW8gUPHF2xx/WAgmHI9DOiXsCJZMHx4GiZmY/pR9RVe/OeFAqPLWJoT6KaizTJD3So4/G5oHKPgTQbMIPi1lYtqKdOuhycISsaEgnkG1a8Tq5CN0tk5VywSmj4kSrqqjcp7kbAW+ViaNkZLuSibomK9AvuOGkEZBqDEuyFJnS4oayQTLxnstzO1JJGhmrCskH9B/QIIrUVl1IOv/IVyPg4M7T1g0+YfHdAXduLXu9bjHkqzGaSQZu35bs5QKy0bKEhAwoj+zgYAF/gZBH0/iPzrWM2xu/HMeQKwI0KFLOiBx3cMmNYE+Fb6vCjpVXBTYYUCBOjRnrAuR/lc3AnjAefCMAD89+FQ+QW5IzZv97lrSw0Rb+DIctfXddUKK7yyBe8CcZWU1dGAYsb/hk+H5lTZJBur5M3a1vzPMi68HKnRt7XZmyBsvPA8t0JVJmlc0RejqDrcps4uKjKdMaDNOvBzmEijdVv8N5q0Ng+yHwq3BolqoYn4mVJOrMuRlZt4pODkI8uOU1Ha/VStLzhT2HFexZ+Y0JzM0DS5hsygHt4Dz6/RfZTKHYvxzuRiHNLbmNcOBvVbBOL2Lm+Dlo3fFuVD3fS08vJuafc/uAfatpRwRqgE/EzvZOpnZyHcr4lUVEhRrDYw=="}',
100
+ walletPassphrase: 'prithvishet2503',
101
+ walletRootAddress: '0x4477bc3e2472b2c5580c010526dfc5614871952d',
102
+ getTxListRequest: getTxListRequestNonBitGoRecovery,
103
+ getTxListResponse: getTxListResponseNonBitGoRecovery,
104
+ getBalanceRequest: getBalanceRequestNonBitGoRecovery,
105
+ getBalanceResponse: getBalanceResponseNonBitGoRecovery,
106
+ };
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSw2QkFBNkIsR0FBMkI7SUFDNUQsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUE0QjtJQUM5RCxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRTtRQUNOO1lBQ0UsSUFBSSxFQUFFLG9FQUFvRTtZQUMxRSxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSw0Q0FBNEM7U0FDbkQ7S0FDRjtJQUNELE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BQU0sOEJBQThCLEdBQTJCO0lBQzdELE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsT0FBTyxFQUFFLDRDQUE0QztDQUN0RCxDQUFDO0FBRUYsTUFBTSwrQkFBK0IsR0FBNEI7SUFDL0QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsb0JBQW9CO0lBQzVCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsT0FBTyxFQUNMLG9JQUFvSTtJQUN0SSxTQUFTLEVBQ1Asb0lBQW9JO0lBQ3RJLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLGNBQWMsRUFBRSxFQUFFO0lBQ2xCLGlCQUFpQixFQUFFLDRDQUE0QztJQUMvRCxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsZ0JBQWdCLEVBQUUsNkJBQTZCO0lBQy9DLGlCQUFpQixFQUFFLDhCQUE4QjtJQUNqRCxpQkFBaUIsRUFBRSw4QkFBOEI7SUFDakQsa0JBQWtCLEVBQUUsK0JBQStCO0NBQ3BELENBQUM7QUFFRixNQUFNLGdDQUFnQyxHQUEyQjtJQUMvRCxPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSw0Q0FBNEM7Q0FDdEQsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQTRCO0lBQ2pFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsTUFBTSxFQUFFO1FBQ047WUFDRSxJQUFJLEVBQUUsb0VBQW9FO1lBQzFFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLDRDQUE0QztTQUNuRDtLQUNGO0lBQ0QsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBMkI7SUFDaEUsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsNENBQTRDO0NBQ3RELENBQUM7QUFFRixNQUFNLGtDQUFrQyxHQUE0QjtJQUNsRSxNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxvQkFBb0I7SUFDNUIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsd0RBQXdEO0FBQzNDLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsV0FBVyxFQUFFLHNDQUFzQztJQUNuRCxRQUFRLEVBQUUsa0NBQWtDO0lBQzVDLGVBQWUsRUFDYiwwTkFBME47SUFDNU4sV0FBVyxFQUNULDBOQUEwTjtJQUM1TixvQkFBb0IsRUFBRSw0Q0FBNEM7SUFDbEUsZ0JBQWdCLEVBQUUsNENBQTRDO0lBQzlELGFBQWEsRUFBRSw0Q0FBNEM7SUFDM0QsV0FBVyxFQUFFLFNBQVM7SUFDdEIsT0FBTyxFQUFFO1FBQ1AsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixTQUFTLEVBQUUsa0JBQWtCO0tBQzlCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsS0FBSyxFQUNILDBOQUEwTjtRQUM1TixVQUFVLEVBQUU7WUFDVjtnQkFDRSxPQUFPLEVBQUUsNENBQTRDO2dCQUNyRCxNQUFNLEVBQUUsU0FBUzthQUNsQjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRVcsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxtQkFBbUIsRUFBRSw0Q0FBNEM7SUFDakUsV0FBVyxFQUNULG91Q0FBb3VDO0lBQ3R1QyxhQUFhLEVBQ1gsb3VDQUFvdUM7SUFDdHVDLGdCQUFnQixFQUFFLGlCQUFpQjtJQUNuQyxpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZ0JBQWdCLEVBQUUsZ0NBQWdDO0lBQ2xELGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxpQkFBaUIsRUFBRSxpQ0FBaUM7SUFDcEQsa0JBQWtCLEVBQUUsa0NBQWtDO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzUxJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ3R4bGlzdCcsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVzcG9uc2VVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgc3RhdHVzOiAnMScsXG4gIHJlc3VsdDogW1xuICAgIHtcbiAgICAgIGhhc2g6ICcweGVkZTg1NWQ0M2Q3MGVhMWJiNzVkYjYzZDRmNzUxMTNkYWUwODQ1ZjBkNGJkYjBiMmQ4YmRhNTUyNDljNzA4MTInLFxuICAgICAgbm9uY2U6ICcyMycsXG4gICAgICBmcm9tOiAnMHg3NDI4MzgxOTNjNDE2OWY2YjJiYTdiMGUwM2Y3MjNjM2JhMDkyOGUxJyxcbiAgICB9LFxuICBdLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlcXVlc3RVbnNpZ25lZFN3ZWVwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBjaGFpbmlkOiAnNTEnLFxuICBtb2R1bGU6ICdhY2NvdW50JyxcbiAgYWN0aW9uOiAnYmFsYW5jZScsXG4gIGFkZHJlc3M6ICcweDc0MjgzODE5M2M0MTY5ZjZiMmJhN2IwZTAzZjcyM2MzYmEwOTI4ZTEnLFxufTtcblxuY29uc3QgZ2V0QmFsYW5jZVJlc3BvbnNlVW5zaWduZWRTd2VlcDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6ICcxMDAwMDAwMDAwMDAwMDAwMDAnLFxuICBtZXNzYWdlOiAnT0snLFxufTtcblxuZXhwb3J0IGNvbnN0IG1vY2tEYXRhVW5zaWduZWRTd2VlcCA9IHtcbiAgdXNlcktleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGJhY2t1cEtleTpcbiAgICAnMDI5ZDJkZWQyZDM5ZWU3Y2Q4ZDhiYmJhOGIyNWU0YzYwYmIwOTI5NzkzNmZhNmIyMjNkZTFmNDk1YjVlZTIwZGNhZjc2MjM2N2Y5NjkxZjc3MTljYjVlMTNlNTlkNzI1NjY5YTE4YWFkMWUyNTIyZGQxNDFmYTRjN2ZkM2QyNWMxNycsXG4gIGRlcml2YXRpb25QYXRoOiAnbS8wJyxcbiAgZGVyaXZhdGlvblNlZWQ6ICcnLFxuICB3YWxsZXRCYXNlQWRkcmVzczogJzB4NzQyODM4MTkzYzQxNjlmNmIyYmE3YjBlMDNmNzIzYzNiYTA5MjhlMScsXG4gIHJlY292ZXJ5RGVzdGluYXRpb246ICcweGQ3NmI1ODY5MDE4NTBmMmM2NTZkYjBjYmVmNzk1YzA4NTFiYmVjMzUnLFxuICBnZXRUeExpc3RSZXF1ZXN0OiBnZXRUeExpc3RSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0VHhMaXN0UmVzcG9uc2U6IGdldFR4TGlzdFJlc3BvbnNlVW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlcXVlc3Q6IGdldEJhbGFuY2VSZXF1ZXN0VW5zaWduZWRTd2VlcCxcbiAgZ2V0QmFsYW5jZVJlc3BvbnNlOiBnZXRCYWxhbmNlUmVzcG9uc2VVbnNpZ25lZFN3ZWVwLFxufTtcblxuY29uc3QgZ2V0VHhMaXN0UmVxdWVzdE5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNoYWluaWQ6ICc1MScsXG4gIG1vZHVsZTogJ2FjY291bnQnLFxuICBhY3Rpb246ICd0eGxpc3QnLFxuICBhZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbn07XG5cbmNvbnN0IGdldFR4TGlzdFJlc3BvbnNlTm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gIHN0YXR1czogJzEnLFxuICByZXN1bHQ6IFtcbiAgICB7XG4gICAgICBoYXNoOiAnMHhlZGU4NTVkNDNkNzBlYTFiYjc1ZGI2M2Q0Zjc1MTEzZGFlMDg0NWYwZDRiZGIwYjJkOGJkYTU1MjQ5YzcwODEyJyxcbiAgICAgIG5vbmNlOiAnMjMnLFxuICAgICAgZnJvbTogJzB4NDQ3N2JjM2UyNDcyYjJjNTU4MGMwMTA1MjZkZmM1NjE0ODcxOTUyZCcsXG4gICAgfSxcbiAgXSxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXF1ZXN0Tm9uQml0R29SZWNvdmVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY2hhaW5pZDogJzUxJyxcbiAgbW9kdWxlOiAnYWNjb3VudCcsXG4gIGFjdGlvbjogJ2JhbGFuY2UnLFxuICBhZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbn07XG5cbmNvbnN0IGdldEJhbGFuY2VSZXNwb25zZU5vbkJpdEdvUmVjb3Zlcnk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICBzdGF0dXM6ICcxJyxcbiAgcmVzdWx0OiAnMTAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgbWVzc2FnZTogJ09LJyxcbn07XG5cbi8vIE1vY2sgZGF0YSBmb3IgdHhkYzp0bXQgdG9rZW4gdHJhbnNmZXIgVFNTIHRyYW5zYWN0aW9uXG5leHBvcnQgY29uc3QgbW9ja1Rva2VuVHJhbnNmZXJEYXRhID0ge1xuICB0eFJlcXVlc3RJZDogJzI0NzUzNjhkLWY2MDQtNDZlMy1hNzQzLWUzMmY2NjNmYTM1MCcsXG4gIHdhbGxldElkOiAnNjk1ZTFjYTRmYjRhNzM5YzhjNmY5YjQ5MTIwYzU1YzcnLFxuICBzZXJpYWxpemVkVHhIZXg6XG4gICAgJ2Y4NmEwNDg1MDQ1ZDk2NGI4MDgzMDYxYTgwOTRiMjgzZWM4ZGFkNjQ0ZWZmYzVjNGM1MGJiN2JiMjE0NDJhYzNjMmRiODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MjFjZGY1ZTg5MDA3MGMyOGRiMGZkOGU0YmY4N2RlYWMwY2QwZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDgwODA4MCcsXG4gIHNpZ25hYmxlSGV4OlxuICAgICdmODZhMDQ4NTA0NWQ5NjRiODA4MzA2MWE4MDk0YjI4M2VjOGRhZDY0NGVmZmM1YzRjNTBiYjdiYjIxNDQyYWMzYzJkYjgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIxY2RmNWU4OTAwNzBjMjhkYjBmZDhlNGJmODdkZWFjMGNkMGZmYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZjQyNDAzMzgwODAnLFxuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogJzB4YjI4M2VjOGRhZDY0NGVmZmM1YzRjNTBiYjdiYjIxNDQyYWMzYzJkYicsXG4gIHJlY2lwaWVudEFkZHJlc3M6ICcweDQyMWNkZjVlODkwMDcwYzI4ZGIwZmQ4ZTRiZjg3ZGVhYzBjZDBmZmMnLFxuICBzZW5kZXJBZGRyZXNzOiAnMHg2YWFmYWRkZjU0NWY5Njc3MjE0MGYwMDA4MTkwYzE3NmEwNjVkZjlhJyxcbiAgdG9rZW5BbW91bnQ6ICcxMDAwMDAwJyxcbiAgZmVlSW5mbzoge1xuICAgIGZlZTogNzUwMDAwMDAwMDAwMDAwMCxcbiAgICBmZWVTdHJpbmc6ICc3NTAwMDAwMDAwMDAwMDAwJyxcbiAgfSxcbiAgdHhQcmVidWlsZDoge1xuICAgIHR4SGV4OlxuICAgICAgJ2Y4NmEwNDg1MDQ1ZDk2NGI4MDgzMDYxYTgwOTRiMjgzZWM4ZGFkNjQ0ZWZmYzVjNGM1MGJiN2JiMjE0NDJhYzNjMmRiODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MjFjZGY1ZTg5MDA3MGMyOGRiMGZkOGU0YmY4N2RlYWMwY2QwZmZjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBmNDI0MDgwODA4MCcsXG4gICAgcmVjaXBpZW50czogW1xuICAgICAge1xuICAgICAgICBhZGRyZXNzOiAnMHg0MjFjZGY1ZTg5MDA3MGMyOGRiMGZkOGU0YmY4N2RlYWMwY2QwZmZjJyxcbiAgICAgICAgYW1vdW50OiAnMTAwMDAwMCcsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgbW9ja0RhdGFOb25CaXRHb1JlY292ZXJ5ID0ge1xuICByZWNvdmVyeURlc3RpbmF0aW9uOiAnMHhkNzZiNTg2OTAxODUwZjJjNjU2ZGIwY2JlZjc5NWMwODUxYmJlYzM1JyxcbiAgdXNlcktleURhdGE6XG4gICAgJ3tcIml2XCI6XCJYZVh3RDVCNDY1d1l2YW85V0ZaQzdBPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiOlwiY2NtXCIsXCJhZGF0YVwiOlwiXCIsXCJjaXBoZXJcIjpcImFlc1wiLFwic2FsdFwiOlwiY2FEdHpCQ0YzSUE9XCIsXCJjdFwiOlwiMHFyMFlWMkRnTjY4RjlsdU5wakZRaHdEVElYd3lUVFlkUWlydmJnSVRIcUlEbUlUbVYxSU1na0tJZHpTWkJmbUxrQjZiRzQ2b1ZGNHNuVkc3bFhFSnoydHdydXRJMDFnNTl4anc4OFVMZ1I1d1Y1WmRGckdjbU5adk9RMUg1aW1vV0dTOGJWS09ObWVGNTVUQmdpNDlyOXgzZHNtZ1d2Si9FSGVBcGovRnJBUDFCTFgvUmdsNTdrWnFuTm9yeWw1NVA4TDJjSnRKRTF3ZURCRCsvR3NnZ2RyTy9kWUJtaWhLVFd5VEJWYTdVQklJZ1Y1d09kNFJYYlpOMUhnMlZjMGJZNTZLcnBaYlkxQ3NkUWlJd0gzdGtLRlBkcXRobEhWRWZTOFhWaWFZVmwwR28zQy9tVU1ZWkg3Q1RnL3M0TE1wZGxXemgzaVJubUdlcmN2SUZaQmZjZWhnTlZ2OUgvT2N0WVpuS2ZVZEk1bVpzVkd4UVJJTVdyOG9GYm1qUjNwWUo5NG94Uzhhc3NBemw3aE5JNFJKaS91NE45LzVWSklpLy8wNjl6c01zZ0ErazRiM3UzeHZpdmtUak81c3NjQVBzL1NwMG1iNVFMUWhQNDhEL3NISVl3aFFpVGhKYUgrZmxTb1VRdTVMTldtdWNtWXIwOGxSUmlJMDdPN0RaQVkycHBsTFN2QmZrckJ0Z1RnaStyTE45NWxLa3hpN1BZVEdXdWVrMVNkL1hpWGl0NkVKNUZJbVlIMmVLRVZnYXRZdktmai9CZE5KMmlIbWVheWthanRqcHIyMWx0MElxazk4aVpMWmZDcDV3NGhmSEhIQjRRQ3JCekNBZUcyTUVQcW1yQU42N3o0Z014VWJrSStqOWxZcDVTeXZsRm1ESW03OFN5UTYwMzcxV2ZyKzdiNCt3RnFQcTlmdW1YQlo0aTB4WWJjV1RyS2pZcm41Yk81bzNMV2lSb2g3RVc4bXpiTUlDMm0vRHdJd2RDSG9kYno0ZzMxUHNuazZZazZVcUVNcTVKaE9vVUpZdVZoWXRoTm1iUmxJNTlVRGcrcnovSE85blluWnFzVWd1YlNLY1pBcnFNMUo0VDQrRURLdUh0Z25DUW0yaHFIbHNKdSsvbjczalUzM0dFbTg2cERkY2I4dWRIc2ZQQ3ZoRUl1THc2WnlUaGlYOEpFT0NpOFVlYjBHUEwzMU1Ta0o3TDdjT2l6Z3A2bEhnczRuWm9yWmZVSUtqRGQzdHdjcEJOWGpUMTVLRVFiclc4UlFDaFhtVmwwYjVOOEJBb202ZTlYcHoya0RSR2J2YllmQk9kaWh0NVZyNVNtN3ByQVFWVkNaVFdxNi9xT1pGV3I3TEorQ2R3MXFZdDY0VUZjQkhOdGFYM2Q1V09NTk5NcWVzcmdsVlRXN3cyR3NjdTdYYXhvQTRjVE9Ldk1lbUcxY1dUYWcza3I4b05ndHo1Z1hzZmJTbzdDSnJOOHZ3PT1cIn0nLFxuICBiYWNrdXBLZXlEYXRhOlxuICAgICd7XCJpdlwiOlwiSjMyVklKaE85Q2JmNWJxY3Y3NUthZz09XCIsXCJ2XCI6MSxcIml0ZXJcIjoxMDAwMCxcImtzXCI6MjU2LFwidHNcIjo2NCxcIm1vZGVcIjpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIlpRNVZzSGRYTTRRPVwiLFwiY3RcIjpcIlhUZ0FVeThUWkFMS3R0L1B0SkdBV2JIZnVFeEg1QzV5dzN5OEVyeXJjWTN1WmRla3RsM1drTDRLSEhHVHRMOXl6c3NDVE9XVU1UZW1vQUtpcGQrVy8zbXBadVE4OHArbGxvSWdVN1RjZTNSTEJHK2d1NjY1YnN2VFV1VnBmTXJwWkh4RFhYVk16d29VVkhheHdmdnUydGdkdURucGtEL0JYMlJONXFmSTZQNnp6NXI4VXVXYmlEUEtFYXFwY0FIUStSQml0QlFpT3hOQWxSTllleG5VeDFwQ3FjSzA4aHFycWRRdng3ZWxYWGRDSTNUd2VwR1c3UXdSeldhOXB4dk05ZDg1QVdFU3VlSjJCNEpyWjVia3JJelhpeEdKY29VQUpWdkdmRDY5em9MVUg5ZWlubk1hZnBvY0VUQlVEUXlldkMvai8xRndnWlVDZUdjYjRVOU45dFFKdFIwZm96emdwQW85MW5XQTVVZmtEMitoelJ2ejJwMURtYys0Yk5iNnMvN3ZLK0JJT2RwZTRibHpJNDNQeE1Mb0JHa0VRSGxHSFlDck9VbmJWN2RjeGx5UHYwcWZvbThLNGY2Lzc0WUVLaU1QandBM3NDY250V2JvVzhnVVBIRjJ4eC9XQWdtSEk5RE9pWHNDSlpNSHg0R2labVkvcFI5UlZlL09lRkFxUExXSm9UNkthaXpUSkQzU280L0c1b0hLUGdUUWJNSVBpMWxZdHFLZE91aHljSVNzYUVnbmtHMWE4VHE1Q04wdGs1Vnl3U21qNGtTcnFxamNwN2tiQVcrVmlhTmtaTHVTaWJvbUs5QXZ1T0drRVpCcURFdXlGSm5TNG9heVFUTHhuc3R6TzFKSkdobXJDc2tIOUIvUUlJclVWbDFJT3YvSVZ5UGc0TTdUMWcwK1lmSGRBWGR1TFh1OWJqSGtxekdhU1FadTM1YnM1UUt5MGJLRWhBd29qK3pnWUFGL2daQkgwL2lQenJXTTJ4dS9ITWVRS3dJMEtGTE9pQngzY01tTllFK0ZiNnZDanBWWEJUWVlVQ0JPalJuckF1Ui9sYzNBbmpBZWZDTUFEODkrRlErUVc1SXpadjk3bHJTdzBSYitESWN0ZlhkZFVLSzd5eUJlOENjWldVMWRHQVlzYi9oaytINWxUWkpCdXI1TTNhMXZ6UE1pNjhIS25SdDdYWm15QnN2UEE4dDBKVkptbGMwUmVqcURyY3BzNHVLaktkTWFETk92QnptRWlqZFZ2OE41cTBOZyt5SHdxM0JvbHFvWW40bVZKT3JNdVJsWnQ0cE9Ea0k4dU9VMUhhL1ZTdEx6aFQySEZleForWTBKek0wRFM1aHN5Z0h0NER6Ni9SZlpUS0hZdnh6dVJpSE5MYm1OY09CdlZiQk9MMkxtK0RsbzNmRnVWRDNmUzA4dkp1YWZjL3VBZmF0cFJ3UnFnRS9FenZaT3BuWnlIY3I0bFVWRWhSckRZdz09XCJ9JyxcbiAgd2FsbGV0UGFzc3BocmFzZTogJ3ByaXRodmlzaGV0MjUwMycsXG4gIHdhbGxldFJvb3RBZGRyZXNzOiAnMHg0NDc3YmMzZTI0NzJiMmM1NTgwYzAxMDUyNmRmYzU2MTQ4NzE5NTJkJyxcbiAgZ2V0VHhMaXN0UmVxdWVzdDogZ2V0VHhMaXN0UmVxdWVzdE5vbkJpdEdvUmVjb3ZlcnksXG4gIGdldFR4TGlzdFJlc3BvbnNlOiBnZXRUeExpc3RSZXNwb25zZU5vbkJpdEdvUmVjb3ZlcnksXG4gIGdldEJhbGFuY2VSZXF1ZXN0OiBnZXRCYWxhbmNlUmVxdWVzdE5vbkJpdEdvUmVjb3ZlcnksXG4gIGdldEJhbGFuY2VSZXNwb25zZTogZ2V0QmFsYW5jZVJlc3BvbnNlTm9uQml0R29SZWNvdmVyeSxcbn07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { TransactionBuilder } from '../../src';
2
+ export declare const getBuilder: (coin: string) => TransactionBuilder;
3
+ //# sourceMappingURL=getBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/getBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,kBAEzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBuilder = void 0;
4
+ const src_1 = require("../../src");
5
+ const statics_1 = require("@bitgo-beta/statics");
6
+ const getBuilder = (coin) => {
7
+ return new src_1.TransactionBuilder(statics_1.coins.get(coin));
8
+ };
9
+ exports.getBuilder = getBuilder;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9nZXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUErQztBQUMvQyxpREFBNEM7QUFFckMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQXNCLEVBQUU7SUFDN0QsT0FBTyxJQUFJLHdCQUFrQixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFGVyxRQUFBLFVBQVUsY0FFckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNvbnN0IGdldEJ1aWxkZXIgPSAoY29pbjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyID0+IHtcbiAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXIoY29pbnMuZ2V0KGNvaW4pKTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/send.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const getBuilder_1 = require("../getBuilder");
7
+ const should_1 = __importDefault(require("should"));
8
+ describe('Xdc Transfer Builder', () => {
9
+ describe('Build from TxHex', function () {
10
+ it('Should successfully build from txHex', async function () {
11
+ const txBuilder = (0, getBuilder_1.getBuilder)('txdc');
12
+ const txHex = '0xf86d058502e90edd00825208944943dd2a2494e3ea5937954cb836692a047695b5880de0b6b3a764000080818aa0ca224695a7a9563b2b137fbc1e29b4f4648d4efc790acbcc4fc7e32b27ec4931a053c609798c695a9f2f94adacfdf0c74944762d39f1a059a3268aa3df7ea29fd3';
13
+ txBuilder.from(txHex);
14
+ const parsedTx = await txBuilder.build();
15
+ should_1.default.exist(parsedTx.toJson());
16
+ });
17
+ });
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvc2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUEyQztBQUMzQyxvREFBNEI7QUFFNUIsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxRQUFRLENBQUMsa0JBQWtCLEVBQUU7UUFDM0IsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEtBQUs7WUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUNULGtPQUFrTyxDQUFDO1lBQ3JPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFekMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0QnVpbGRlciB9IGZyb20gJy4uL2dldEJ1aWxkZXInO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuXG5kZXNjcmliZSgnWGRjIFRyYW5zZmVyIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdCdWlsZCBmcm9tIFR4SGV4JywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdTaG91bGQgc3VjY2Vzc2Z1bGx5IGJ1aWxkIGZyb20gdHhIZXgnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB0eEJ1aWxkZXIgPSBnZXRCdWlsZGVyKCd0eGRjJyk7XG4gICAgICBjb25zdCB0eEhleCA9XG4gICAgICAgICcweGY4NmQwNTg1MDJlOTBlZGQwMDgyNTIwODk0NDk0M2RkMmEyNDk0ZTNlYTU5Mzc5NTRjYjgzNjY5MmEwNDc2OTViNTg4MGRlMGI2YjNhNzY0MDAwMDgwODE4YWEwY2EyMjQ2OTVhN2E5NTYzYjJiMTM3ZmJjMWUyOWI0ZjQ2NDhkNGVmYzc5MGFjYmNjNGZjN2UzMmIyN2VjNDkzMWEwNTNjNjA5Nzk4YzY5NWE5ZjJmOTRhZGFjZmRmMGM3NDk0NDc2MmQzOWYxYTA1OWEzMjY4YWEzZGY3ZWEyOWZkMyc7XG4gICAgICB0eEJ1aWxkZXIuZnJvbSh0eEhleCk7XG4gICAgICBjb25zdCBwYXJzZWRUeCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBzaG91bGQuZXhpc3QocGFyc2VkVHgudG9Kc29uKCkpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/unit/utils.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const should_1 = __importDefault(require("should"));
8
+ const statics_1 = require("@bitgo-beta/statics");
9
+ const utils_1 = require("../../src/lib/utils");
10
+ describe('Network Common Configuration', () => {
11
+ it('getCommon for mainnet', () => {
12
+ const common = (0, utils_1.getCommon)(statics_1.NetworkType.MAINNET);
13
+ should_1.default.equal(common.chainName(), 'xdc mainnet');
14
+ should_1.default.equal(common.chainIdBN().toString(), '50');
15
+ should_1.default.equal(common.networkIdBN().toString(), '50');
16
+ });
17
+ it('getCommon for testnet', () => {
18
+ const common = (0, utils_1.getCommon)(statics_1.NetworkType.TESTNET);
19
+ should_1.default.equal(common.chainName(), 'xdc testnet');
20
+ should_1.default.equal(common.chainIdBN().toString(), '51');
21
+ should_1.default.equal(common.networkIdBN().toString(), '51');
22
+ });
23
+ it('getCommon for invalid network', () => {
24
+ assert_1.default.throws(() => (0, utils_1.getCommon)('invalidNetwork'), (e) => e.message === 'Missing network common configuration');
25
+ });
26
+ });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsb0RBQTRCO0FBQzVCLGlEQUFrRDtBQUNsRCwrQ0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLDhCQUE4QixFQUFFLEdBQUcsRUFBRTtJQUM1QyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQVMsRUFBQyxxQkFBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNoRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFTLEVBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDaEQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xELGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7UUFDdkMsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFLENBQUMsSUFBQSxpQkFBUyxFQUFDLGdCQUErQixDQUFDLEVBQ2hELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLHNDQUFzQyxDQUNqRSxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBnZXRDb21tb24gfSBmcm9tICcuLi8uLi9zcmMvbGliL3V0aWxzJztcblxuZGVzY3JpYmUoJ05ldHdvcmsgQ29tbW9uIENvbmZpZ3VyYXRpb24nLCAoKSA9PiB7XG4gIGl0KCdnZXRDb21tb24gZm9yIG1haW5uZXQnLCAoKSA9PiB7XG4gICAgY29uc3QgY29tbW9uID0gZ2V0Q29tbW9uKE5ldHdvcmtUeXBlLk1BSU5ORVQpO1xuICAgIHNob3VsZC5lcXVhbChjb21tb24uY2hhaW5OYW1lKCksICd4ZGMgbWFpbm5ldCcpO1xuICAgIHNob3VsZC5lcXVhbChjb21tb24uY2hhaW5JZEJOKCkudG9TdHJpbmcoKSwgJzUwJyk7XG4gICAgc2hvdWxkLmVxdWFsKGNvbW1vbi5uZXR3b3JrSWRCTigpLnRvU3RyaW5nKCksICc1MCcpO1xuICB9KTtcblxuICBpdCgnZ2V0Q29tbW9uIGZvciB0ZXN0bmV0JywgKCkgPT4ge1xuICAgIGNvbnN0IGNvbW1vbiA9IGdldENvbW1vbihOZXR3b3JrVHlwZS5URVNUTkVUKTtcbiAgICBzaG91bGQuZXF1YWwoY29tbW9uLmNoYWluTmFtZSgpLCAneGRjIHRlc3RuZXQnKTtcbiAgICBzaG91bGQuZXF1YWwoY29tbW9uLmNoYWluSWRCTigpLnRvU3RyaW5nKCksICc1MScpO1xuICAgIHNob3VsZC5lcXVhbChjb21tb24ubmV0d29ya0lkQk4oKS50b1N0cmluZygpLCAnNTEnKTtcbiAgfSk7XG5cbiAgaXQoJ2dldENvbW1vbiBmb3IgaW52YWxpZCBuZXR3b3JrJywgKCkgPT4ge1xuICAgIGFzc2VydC50aHJvd3MoXG4gICAgICAoKSA9PiBnZXRDb21tb24oJ2ludmFsaWROZXR3b3JrJyBhcyBOZXR3b3JrVHlwZSksXG4gICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09ICdNaXNzaW5nIG5ldHdvcmsgY29tbW9uIGNvbmZpZ3VyYXRpb24nXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=xdc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xdc.d.ts","sourceRoot":"","sources":["../../../test/unit/xdc.ts"],"names":[],"mappings":""}