@bitgo-beta/sdk-coin-polyx 1.0.1-beta.33 → 1.0.1-beta.331

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 (83) hide show
  1. package/.mocharc.yml +1 -1
  2. package/CHANGELOG.md +141 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +2 -1
  6. package/dist/src/lib/baseBuilder.d.ts +24 -0
  7. package/dist/src/lib/baseBuilder.d.ts.map +1 -0
  8. package/dist/src/lib/baseBuilder.js +31 -0
  9. package/dist/src/lib/batchStakingBuilder.d.ts +79 -0
  10. package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -0
  11. package/dist/src/lib/batchStakingBuilder.js +299 -0
  12. package/dist/src/lib/batchUnstakingBuilder.d.ts +39 -0
  13. package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/batchUnstakingBuilder.js +127 -0
  15. package/dist/src/lib/bondExtraBuilder.d.ts +37 -0
  16. package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -0
  17. package/dist/src/lib/bondExtraBuilder.js +101 -0
  18. package/dist/src/lib/constants.d.ts +12 -0
  19. package/dist/src/lib/constants.d.ts.map +1 -0
  20. package/dist/src/lib/constants.js +15 -0
  21. package/dist/src/lib/iface.d.ts +125 -3
  22. package/dist/src/lib/iface.d.ts.map +1 -1
  23. package/dist/src/lib/iface.js +36 -1
  24. package/dist/src/lib/index.d.ts +15 -7
  25. package/dist/src/lib/index.d.ts.map +1 -1
  26. package/dist/src/lib/index.js +42 -36
  27. package/dist/src/lib/preApproveAssetBuilder.d.ts +33 -0
  28. package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -0
  29. package/dist/src/lib/preApproveAssetBuilder.js +77 -0
  30. package/dist/src/lib/registerDidWithCDDBuilder.d.ts +34 -0
  31. package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -0
  32. package/dist/src/lib/registerDidWithCDDBuilder.js +83 -0
  33. package/dist/src/lib/tokenTransferBuilder.d.ts +58 -0
  34. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  35. package/dist/src/lib/tokenTransferBuilder.js +159 -0
  36. package/dist/src/lib/transaction.d.ts +18 -4
  37. package/dist/src/lib/transaction.d.ts.map +1 -1
  38. package/dist/src/lib/transaction.js +136 -8
  39. package/dist/src/lib/transactionBuilderFactory.d.ts +27 -5
  40. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  41. package/dist/src/lib/transactionBuilderFactory.js +112 -8
  42. package/dist/src/lib/transferBuilder.d.ts +51 -3
  43. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  44. package/dist/src/lib/transferBuilder.js +109 -3
  45. package/dist/src/lib/txnSchema.d.ts +49 -0
  46. package/dist/src/lib/txnSchema.d.ts.map +1 -0
  47. package/dist/src/lib/txnSchema.js +145 -0
  48. package/dist/src/lib/unbondBuilder.d.ts +37 -0
  49. package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
  50. package/dist/src/lib/unbondBuilder.js +98 -0
  51. package/dist/src/lib/utils.d.ts +15 -14
  52. package/dist/src/lib/utils.d.ts.map +1 -1
  53. package/dist/src/lib/utils.js +40 -23
  54. package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
  55. package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
  56. package/dist/src/lib/withdrawUnbondedBuilder.js +89 -0
  57. package/dist/src/polyx.d.ts +50 -9
  58. package/dist/src/polyx.d.ts.map +1 -1
  59. package/dist/src/polyx.js +270 -16
  60. package/dist/src/polyxToken.d.ts +20 -0
  61. package/dist/src/polyxToken.d.ts.map +1 -0
  62. package/dist/src/polyxToken.js +55 -0
  63. package/dist/src/register.d.ts.map +1 -1
  64. package/dist/src/register.js +5 -1
  65. package/dist/src/resources/index.d.ts +3 -0
  66. package/dist/src/resources/index.d.ts.map +1 -0
  67. package/dist/src/resources/index.js +19 -0
  68. package/dist/src/resources/mainnet.d.ts +13 -0
  69. package/dist/src/resources/mainnet.d.ts.map +1 -0
  70. package/dist/src/resources/mainnet.js +16 -0
  71. package/dist/src/resources/testnet.d.ts +13 -0
  72. package/dist/src/resources/testnet.d.ts.map +1 -0
  73. package/dist/src/resources/testnet.js +16 -0
  74. package/dist/src/tpolyx.d.ts +7 -0
  75. package/dist/src/tpolyx.d.ts.map +1 -1
  76. package/dist/src/tpolyx.js +11 -1
  77. package/package.json +15 -9
  78. package/dist/src/lib/keyPair.d.ts +0 -12
  79. package/dist/src/lib/keyPair.d.ts.map +0 -1
  80. package/dist/src/lib/keyPair.js +0 -24
  81. package/dist/src/lib/transactionBuilder.d.ts +0 -43
  82. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  83. package/dist/src/lib/transactionBuilder.js +0 -78
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerDidWithCDDBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/registerDidWithCDDBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAA2B,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAA0B,QAAQ,EAAe,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACpF,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAEhB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAWjE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9G;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAa3B"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RegisterDidWithCDDBuilder = void 0;
4
+ const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
5
+ const baseBuilder_1 = require("./baseBuilder");
6
+ const txwrapper_core_1 = require("@substrate/txwrapper-core");
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const iface_1 = require("./iface");
9
+ const txnSchema_1 = require("./txnSchema");
10
+ const transaction_1 = require("./transaction");
11
+ class RegisterDidWithCDDBuilder extends baseBuilder_1.PolyxBaseBuilder {
12
+ constructor(_coinConfig) {
13
+ super(_coinConfig);
14
+ this._transaction = new transaction_1.Transaction(_coinConfig);
15
+ }
16
+ get transactionType() {
17
+ return sdk_core_1.TransactionType.WalletInitialization;
18
+ }
19
+ buildTransaction() {
20
+ const baseTxInfo = this.createBaseTxInfo();
21
+ return this.RegisterDidWithCDD({
22
+ targetAccount: this._to,
23
+ secondaryKeys: [],
24
+ expiry: null,
25
+ }, baseTxInfo);
26
+ }
27
+ /**
28
+ *
29
+ * The destination address for transfer transaction.
30
+ *
31
+ * @param {string} dest
32
+ * @returns {TransferBuilder} This transfer builder.
33
+ */
34
+ to({ address }) {
35
+ this.validateAddress({ address });
36
+ this._to = address;
37
+ return this;
38
+ }
39
+ /** @inheritdoc */
40
+ fromImplementation(rawTransaction) {
41
+ const tx = super.fromImplementation(rawTransaction);
42
+ if (this._method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
43
+ const txMethod = this._method.args;
44
+ this.to({ address: abstract_substrate_1.utils.decodeSubstrateAddress(txMethod.targetAccount, this.getAddressFormat()) });
45
+ }
46
+ else {
47
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected RegisterDidWithCDD`);
48
+ }
49
+ return tx;
50
+ }
51
+ /** @inheritdoc */
52
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
53
+ if (decodedTxn.method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
54
+ const txMethod = decodedTxn.method.args;
55
+ const targetAccount = txMethod.targetAccount;
56
+ const secondaryKeys = txMethod.secondaryKeys;
57
+ const expiry = txMethod.expiry;
58
+ const validationResult = txnSchema_1.RegisterDidWithCDDTransactionSchema.validate({ targetAccount, secondaryKeys, expiry });
59
+ if (validationResult.error) {
60
+ throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Construct a transaction to register a DID with CDD information
66
+ *
67
+ * @param {RegisterDidWithCDDArgs} args Arguments to be passed to the cddRegisterDidWithCdd method
68
+ * @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the DID registration txn
69
+ * @returns {UnsignedTransaction} an unsigned transaction for DID registration with CDD
70
+ */
71
+ RegisterDidWithCDD(args, info) {
72
+ return (0, txwrapper_core_1.defineMethod)({
73
+ method: {
74
+ args,
75
+ name: 'cddRegisterDidWithCdd',
76
+ pallet: 'identity',
77
+ },
78
+ ...info.baseTxInfo,
79
+ }, info.options);
80
+ }
81
+ }
82
+ exports.RegisterDidWithCDDBuilder = RegisterDidWithCDDBuilder;
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBa0U7QUFDbEUsK0NBQWlEO0FBQ2pELDhEQUFzSDtBQUV0SCxtREFBNkY7QUFDN0YsbUNBQXdFO0FBQ3hFLDJDQUFrRTtBQUNsRSwrQ0FBNEM7QUFFNUMsTUFBYSx5QkFBMEIsU0FBUSw4QkFBdUM7SUFJcEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUI7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDdkIsYUFBYSxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE4QixDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksK0JBQStCLENBQUMsQ0FBQztRQUNwSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1ELEVBQUUsY0FBdUI7UUFDckcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE4QixDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsK0NBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBNEIsRUFBRSxJQUFnQztRQUN2RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyRkQsOERBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJmYWNlLCB1dGlscyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXN1YnN0cmF0ZSc7XG5pbXBvcnQgeyBQb2x5eEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9iYXNlQnVpbGRlcic7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEJhc2VBZGRyZXNzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkV2l0aENEREFyZ3MsIFR4TWV0aG9kLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEaWRXaXRoQ0REVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZXRob2Q6IFR4TWV0aG9kO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuUmVnaXN0ZXJEaWRXaXRoQ0REKFxuICAgICAge1xuICAgICAgICB0YXJnZXRBY2NvdW50OiB0aGlzLl90byxcbiAgICAgICAgc2Vjb25kYXJ5S2V5czogW10sXG4gICAgICAgIGV4cGlyeTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0XG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIHRvKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl90byA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUmVnaXN0ZXJEaWRXaXRoQ0REQXJncztcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVTdWJzdHJhdGVBZGRyZXNzKHR4TWV0aG9kLnRhcmdldEFjY291bnQsIHRoaXMuZ2V0QWRkcmVzc0Zvcm1hdCgpKSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgUmVnaXN0ZXJEaWRXaXRoQ0REYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZFdpdGhDRERBcmdzO1xuICAgICAgY29uc3QgdGFyZ2V0QWNjb3VudCA9IHR4TWV0aG9kLnRhcmdldEFjY291bnQ7XG4gICAgICBjb25zdCBzZWNvbmRhcnlLZXlzID0gdHhNZXRob2Quc2Vjb25kYXJ5S2V5cztcbiAgICAgIGNvbnN0IGV4cGlyeSA9IHR4TWV0aG9kLmV4cGlyeTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5IH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgdHJhbnNhY3Rpb24gdG8gcmVnaXN0ZXIgYSBESUQgd2l0aCBDREQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtSZWdpc3RlckRpZFdpdGhDRERBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIGNkZFJlZ2lzdGVyRGlkV2l0aENkZCBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgRElEIHJlZ2lzdHJhdGlvbiB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBESUQgcmVnaXN0cmF0aW9uIHdpdGggQ0REXG4gICAqL1xuICBwcml2YXRlIFJlZ2lzdGVyRGlkV2l0aENERChhcmdzOiBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2NkZFJlZ2lzdGVyRGlkV2l0aENkZCcsXG4gICAgICAgICAgcGFsbGV0OiAnaWRlbnRpdHknLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,58 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { PolyxBaseBuilder } from './baseBuilder';
4
+ import { TxMethod } from './iface';
5
+ import { Transaction } from './transaction';
6
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
7
+ export declare class TokenTransferBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
8
+ protected _assetId: string;
9
+ protected _amount: string;
10
+ protected _memo: string;
11
+ protected _fromDID: string;
12
+ protected _toDID: string;
13
+ constructor(_coinConfig: Readonly<CoinConfig>);
14
+ protected get transactionType(): TransactionType;
15
+ protected buildTransaction(): UnsignedTransaction;
16
+ /**
17
+ * Sets the amount to transfer.
18
+ *
19
+ * @param {string} amount - The amount to transfer.
20
+ * @returns {this} The current instance of the builder.
21
+ */
22
+ assetId(assetId: string): this;
23
+ /**
24
+ * Sets the amount to transfer.
25
+ *
26
+ * @param {string} amount - The amount to transfer.
27
+ * @returns {this} The current instance of the builder.
28
+ */
29
+ amount(amount: string): this;
30
+ /**
31
+ * Sets the memo for the transaction.
32
+ * Pads the memo on the left with zeros to ensure it is 32 characters long.
33
+ *
34
+ * @param {string} memo - The memo for the transaction.
35
+ * @returns {this} The current instance of the builder.
36
+ */
37
+ memo(memo: string): this;
38
+ /**
39
+ * Sets the sender DID.
40
+ *
41
+ * @param {string} fromDID - The sender DID.
42
+ * @returns {this} The current instance of the builder.
43
+ */
44
+ fromDID(fromDID: string): this;
45
+ /**
46
+ * Sets the receiver DID.
47
+ *
48
+ * @param {string} toDID - The receiver DID.
49
+ * @returns {this} The current instance of the builder.
50
+ */
51
+ toDID(toDID: string): this;
52
+ /** @inheritdoc */
53
+ protected fromImplementation(rawTransaction: string): Transaction;
54
+ /** @inheritdoc */
55
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
56
+ private addAndAffirmWithMediators;
57
+ }
58
+ //# sourceMappingURL=tokenTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAA6E,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/E,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAqCjD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAejE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IA6B9G,OAAO,CAAC,yBAAyB;CAgBlC"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenTransferBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const baseBuilder_1 = require("./baseBuilder");
6
+ const iface_1 = require("./iface");
7
+ const transaction_1 = require("./transaction");
8
+ const txnSchema_1 = require("./txnSchema");
9
+ const txwrapper_core_1 = require("@substrate/txwrapper-core");
10
+ class TokenTransferBuilder extends baseBuilder_1.PolyxBaseBuilder {
11
+ constructor(_coinConfig) {
12
+ super(_coinConfig);
13
+ this._transaction = new transaction_1.Transaction(_coinConfig);
14
+ }
15
+ get transactionType() {
16
+ return sdk_core_1.TransactionType.SendToken;
17
+ }
18
+ buildTransaction() {
19
+ const baseTxInfo = this.createBaseTxInfo();
20
+ return this.addAndAffirmWithMediators({
21
+ venueId: null,
22
+ settlementType: iface_1.SettlementType.SettleOnAffirmation,
23
+ tradeDate: null,
24
+ valueDate: null,
25
+ legs: [
26
+ {
27
+ fungible: {
28
+ sender: {
29
+ did: this._fromDID,
30
+ kind: iface_1.PortfolioKind.Default,
31
+ },
32
+ receiver: {
33
+ did: this._toDID,
34
+ kind: iface_1.PortfolioKind.Default,
35
+ },
36
+ assetId: this._assetId,
37
+ amount: this._amount,
38
+ },
39
+ },
40
+ ],
41
+ portfolios: [
42
+ {
43
+ did: this._fromDID,
44
+ kind: iface_1.PortfolioKind.Default,
45
+ },
46
+ ],
47
+ instructionMemo: this._memo,
48
+ mediators: [],
49
+ }, baseTxInfo);
50
+ }
51
+ /**
52
+ * Sets the amount to transfer.
53
+ *
54
+ * @param {string} amount - The amount to transfer.
55
+ * @returns {this} The current instance of the builder.
56
+ */
57
+ assetId(assetId) {
58
+ this._assetId = assetId;
59
+ return this;
60
+ }
61
+ /**
62
+ * Sets the amount to transfer.
63
+ *
64
+ * @param {string} amount - The amount to transfer.
65
+ * @returns {this} The current instance of the builder.
66
+ */
67
+ amount(amount) {
68
+ this._amount = amount;
69
+ return this;
70
+ }
71
+ /**
72
+ * Sets the memo for the transaction.
73
+ * Pads the memo on the left with zeros to ensure it is 32 characters long.
74
+ *
75
+ * @param {string} memo - The memo for the transaction.
76
+ * @returns {this} The current instance of the builder.
77
+ */
78
+ memo(memo) {
79
+ const paddedMemo = memo.padStart(32, '0');
80
+ this._memo = paddedMemo;
81
+ return this;
82
+ }
83
+ /**
84
+ * Sets the sender DID.
85
+ *
86
+ * @param {string} fromDID - The sender DID.
87
+ * @returns {this} The current instance of the builder.
88
+ */
89
+ fromDID(fromDID) {
90
+ this._fromDID = fromDID;
91
+ return this;
92
+ }
93
+ /**
94
+ * Sets the receiver DID.
95
+ *
96
+ * @param {string} toDID - The receiver DID.
97
+ * @returns {this} The current instance of the builder.
98
+ */
99
+ toDID(toDID) {
100
+ this._toDID = toDID;
101
+ return this;
102
+ }
103
+ /** @inheritdoc */
104
+ fromImplementation(rawTransaction) {
105
+ const tx = super.fromImplementation(rawTransaction);
106
+ if (this._method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
107
+ const txMethod = this._method.args;
108
+ this.assetId(txMethod.legs[0].fungible.assetId);
109
+ this.amount(txMethod.legs[0].fungible.amount);
110
+ this.memo(txMethod.instructionMemo);
111
+ this.fromDID(txMethod.legs[0].fungible.sender.did);
112
+ this.toDID(txMethod.legs[0].fungible.receiver.did);
113
+ }
114
+ else {
115
+ throw new Error(`Invalid Transaction Type: ${this._method?.name}. Expected AddAndAffirmWithMediators`);
116
+ }
117
+ return tx;
118
+ }
119
+ /** @inheritdoc */
120
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
121
+ if (decodedTxn.method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
122
+ const txMethod = decodedTxn.method.args;
123
+ console.log(`Validating transaction: ${JSON.stringify(txMethod)}`);
124
+ const venueId = txMethod.venueId;
125
+ const settlementType = txMethod.settlementType;
126
+ const tradeDate = txMethod.tradeDate;
127
+ const valueDate = txMethod.valueDate;
128
+ const legs = txMethod.legs;
129
+ const portfolios = txMethod.portfolios;
130
+ const instructionMemo = txMethod.instructionMemo;
131
+ const mediators = txMethod.mediators;
132
+ const validationResult = txnSchema_1.AddAndAffirmWithMediatorsTransactionSchema.validate({
133
+ venueId,
134
+ settlementType,
135
+ tradeDate,
136
+ valueDate,
137
+ legs,
138
+ portfolios,
139
+ instructionMemo,
140
+ mediators,
141
+ });
142
+ if (validationResult.error) {
143
+ throw new Error(`Invalid transaction: ${validationResult.error.message}`);
144
+ }
145
+ }
146
+ }
147
+ addAndAffirmWithMediators(args, info) {
148
+ return (0, txwrapper_core_1.defineMethod)({
149
+ method: {
150
+ args,
151
+ name: 'addAndAffirmWithMediators',
152
+ pallet: 'settlement',
153
+ },
154
+ ...info.baseTxInfo,
155
+ }, info.options);
156
+ }
157
+ }
158
+ exports.TokenTransferBuilder = TokenTransferBuilder;
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUF1RDtBQUV2RCwrQ0FBaUQ7QUFDakQsbUNBQThHO0FBQzlHLCtDQUE0QztBQUU1QywyQ0FBeUU7QUFDekUsOERBQXNIO0FBRXRILE1BQWEsb0JBQXFCLFNBQVEsOEJBQXVDO0lBTy9FLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUNuQztZQUNFLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLHNCQUFjLENBQUMsbUJBQW1CO1lBQ2xELFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUU7Z0JBQ0o7b0JBQ0UsUUFBUSxFQUFFO3dCQUNSLE1BQU0sRUFBRTs0QkFDTixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVE7NEJBQ2xCLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU87eUJBQzVCO3dCQUNELFFBQVEsRUFBRTs0QkFDUixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07NEJBQ2hCLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU87eUJBQzVCO3dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO3FCQUNyQjtpQkFDRjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWO29CQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDbEIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTztpQkFDNUI7YUFDRjtZQUNELGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUMzQixTQUFTLEVBQUUsRUFBRTtTQUNkLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxJQUFZO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQXFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLHNDQUFzQyxDQUFDLENBQUM7UUFDekcsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXVCO1FBQ3JHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3RFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBcUMsQ0FBQztZQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDL0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN2QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxzREFBMEMsQ0FBQyxRQUFRLENBQUM7Z0JBQzNFLE9BQU87Z0JBQ1AsY0FBYztnQkFDZCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsSUFBSTtnQkFDSixVQUFVO2dCQUNWLGVBQWU7Z0JBQ2YsU0FBUzthQUNWLENBQUMsQ0FBQztZQUNILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QixDQUMvQixJQUFtQyxFQUNuQyxJQUFnQztRQUVoQyxPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxNQUFNLEVBQUUsWUFBWTthQUNyQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE1S0Qsb0RBNEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHhNZXRob2QsIE1ldGhvZE5hbWVzLCBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncywgU2V0dGxlbWVudFR5cGUsIFBvcnRmb2xpb0tpbmQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuaW1wb3J0IHsgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc1RyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBQb2x5eEJhc2VCdWlsZGVyPFR4TWV0aG9kLCBUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX2Fzc2V0SWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZnJvbURJRDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RvRElEOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICAgIHtcbiAgICAgICAgdmVudWVJZDogbnVsbCxcbiAgICAgICAgc2V0dGxlbWVudFR5cGU6IFNldHRsZW1lbnRUeXBlLlNldHRsZU9uQWZmaXJtYXRpb24sXG4gICAgICAgIHRyYWRlRGF0ZTogbnVsbCxcbiAgICAgICAgdmFsdWVEYXRlOiBudWxsLFxuICAgICAgICBsZWdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuZ2libGU6IHtcbiAgICAgICAgICAgICAgc2VuZGVyOiB7XG4gICAgICAgICAgICAgICAgZGlkOiB0aGlzLl9mcm9tRElELFxuICAgICAgICAgICAgICAgIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVjZWl2ZXI6IHtcbiAgICAgICAgICAgICAgICBkaWQ6IHRoaXMuX3RvRElELFxuICAgICAgICAgICAgICAgIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYXNzZXRJZDogdGhpcy5fYXNzZXRJZCxcbiAgICAgICAgICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBvcnRmb2xpb3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaWQ6IHRoaXMuX2Zyb21ESUQsXG4gICAgICAgICAgICBraW5kOiBQb3J0Zm9saW9LaW5kLkRlZmF1bHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5zdHJ1Y3Rpb25NZW1vOiB0aGlzLl9tZW1vLFxuICAgICAgICBtZWRpYXRvcnM6IFtdLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIFRoZSBhbW91bnQgdG8gdHJhbnNmZXIuXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICovXG4gIGFzc2V0SWQoYXNzZXRJZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYXNzZXRJZCA9IGFzc2V0SWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYW1vdW50IHRvIHRyYW5zZmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gVGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1lbW8gZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogUGFkcyB0aGUgbWVtbyBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIHRvIGVuc3VyZSBpdCBpcyAzMiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZW1vIC0gVGhlIG1lbW8gZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBwYWRkZWRNZW1vID0gbWVtby5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB0aGlzLl9tZW1vID0gcGFkZGVkTWVtbztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgRElELlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZnJvbURJRCAtIFRoZSBzZW5kZXIgRElELlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBmcm9tRElEKGZyb21ESUQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Zyb21ESUQgPSBmcm9tRElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIERJRC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvRElEIC0gVGhlIHJlY2VpdmVyIERJRC5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgdG9ESUQodG9ESUQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3RvRElEID0gdG9ESUQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5BZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzO1xuICAgICAgdGhpcy5hc3NldElkKHR4TWV0aG9kLmxlZ3NbMF0uZnVuZ2libGUuYXNzZXRJZCk7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLmFtb3VudCk7XG4gICAgICB0aGlzLm1lbW8odHhNZXRob2QuaW5zdHJ1Y3Rpb25NZW1vKTtcbiAgICAgIHRoaXMuZnJvbURJRCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnNlbmRlci5kaWQpO1xuICAgICAgdGhpcy50b0RJRCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnJlY2VpdmVyLmRpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncztcbiAgICAgIGNvbnNvbGUubG9nKGBWYWxpZGF0aW5nIHRyYW5zYWN0aW9uOiAke0pTT04uc3RyaW5naWZ5KHR4TWV0aG9kKX1gKTtcbiAgICAgIGNvbnN0IHZlbnVlSWQgPSB0eE1ldGhvZC52ZW51ZUlkO1xuICAgICAgY29uc3Qgc2V0dGxlbWVudFR5cGUgPSB0eE1ldGhvZC5zZXR0bGVtZW50VHlwZTtcbiAgICAgIGNvbnN0IHRyYWRlRGF0ZSA9IHR4TWV0aG9kLnRyYWRlRGF0ZTtcbiAgICAgIGNvbnN0IHZhbHVlRGF0ZSA9IHR4TWV0aG9kLnZhbHVlRGF0ZTtcbiAgICAgIGNvbnN0IGxlZ3MgPSB0eE1ldGhvZC5sZWdzO1xuICAgICAgY29uc3QgcG9ydGZvbGlvcyA9IHR4TWV0aG9kLnBvcnRmb2xpb3M7XG4gICAgICBjb25zdCBpbnN0cnVjdGlvbk1lbW8gPSB0eE1ldGhvZC5pbnN0cnVjdGlvbk1lbW87XG4gICAgICBjb25zdCBtZWRpYXRvcnMgPSB0eE1ldGhvZC5tZWRpYXRvcnM7XG5cbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICB2ZW51ZUlkLFxuICAgICAgICBzZXR0bGVtZW50VHlwZSxcbiAgICAgICAgdHJhZGVEYXRlLFxuICAgICAgICB2YWx1ZURhdGUsXG4gICAgICAgIGxlZ3MsXG4gICAgICAgIHBvcnRmb2xpb3MsXG4gICAgICAgIGluc3RydWN0aW9uTWVtbyxcbiAgICAgICAgbWVkaWF0b3JzLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICBhcmdzOiBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbiAgICBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb1xuICApOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gZGVmaW5lTWV0aG9kKFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IHtcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIG5hbWU6ICdhZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzJyxcbiAgICAgICAgICBwYWxsZXQ6ICdzZXR0bGVtZW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uaW5mby5iYXNlVHhJbmZvLFxuICAgICAgfSxcbiAgICAgIGluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,22 @@
1
- import { BaseKey, BaseTransaction } from '@bitgo-beta/sdk-core';
1
+ import { Transaction as SubstrateTransaction } from '@bitgo-beta/abstract-substrate';
2
2
  import { TxData } from './iface';
3
- export declare class Transaction extends BaseTransaction {
4
- canSign(key: BaseKey): boolean;
5
- toBroadcastFormat(): string;
3
+ export declare class Transaction extends SubstrateTransaction {
4
+ /**
5
+ * Override the getAddressFormat method to return different values based on network type
6
+ * Returns 12 for mainnet and 42 for testnet
7
+ *
8
+ * @returns {number} The address format to use
9
+ * @override
10
+ */
11
+ protected getAddressFormat(): number;
12
+ /** @inheritdoc */
6
13
  toJson(): TxData;
14
+ /**
15
+ * Load the input and output data on this transaction.
16
+ */
17
+ loadInputsAndOutputs(): void;
18
+ private decodeInputsAndOutputsForRegisterDidWithCDD;
19
+ private decodeInputsAndOutputsForPreApproveAsset;
20
+ private decodeInputsAndOutputsForSendToken;
7
21
  }
8
22
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;CAGjB"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAkB,MAAM,gCAAgC,CAAC;AAIrG,OAAO,EAA0D,MAAM,EAAiC,MAAM,SAAS,CAAC;AAGxH,qBAAa,WAAY,SAAQ,oBAAoB;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAoDhB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAkB5B,OAAO,CAAC,2CAA2C;IAsBnD,OAAO,CAAC,wCAAwC;IAiBhD,OAAO,CAAC,kCAAkC;CAkB3C"}
@@ -1,17 +1,145 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Transaction = void 0;
7
+ const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
4
8
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
- class Transaction extends sdk_core_1.BaseTransaction {
6
- canSign(key) {
7
- return false;
8
- }
9
- toBroadcastFormat() {
10
- throw new Error('Method not implemented.');
9
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
10
+ const keyring_1 = require("@polkadot/keyring");
11
+ const utils_1 = __importDefault(require("./utils"));
12
+ class Transaction extends abstract_substrate_1.Transaction {
13
+ /**
14
+ * Override the getAddressFormat method to return different values based on network type
15
+ * Returns 12 for mainnet and 42 for testnet
16
+ *
17
+ * @returns {number} The address format to use
18
+ * @override
19
+ */
20
+ getAddressFormat() {
21
+ return utils_1.default.getAddressFormat(this._coinConfig.name);
11
22
  }
23
+ /** @inheritdoc */
12
24
  toJson() {
13
- throw new Error('Method not implemented.');
25
+ if (!this._substrateTransaction) {
26
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction');
27
+ }
28
+ const decodedTx = (0, txwrapper_polkadot_1.decode)(this._substrateTransaction, {
29
+ metadataRpc: this._substrateTransaction.metadataRpc,
30
+ registry: this._registry,
31
+ isImmortalEra: abstract_substrate_1.utils.isZeroHex(this._substrateTransaction.era),
32
+ });
33
+ const result = {
34
+ id: txwrapper_polkadot_1.construct.txHash(this.toBroadcastFormat()),
35
+ sender: decodedTx.address,
36
+ referenceBlock: decodedTx.blockHash,
37
+ blockNumber: decodedTx.blockNumber,
38
+ genesisHash: decodedTx.genesisHash,
39
+ nonce: decodedTx.nonce,
40
+ specVersion: decodedTx.specVersion,
41
+ transactionVersion: decodedTx.transactionVersion,
42
+ eraPeriod: decodedTx.eraPeriod,
43
+ chainName: this._chainName,
44
+ tip: decodedTx.tip ? Number(decodedTx.tip) : 0,
45
+ };
46
+ const txMethod = decodedTx.method.args;
47
+ if (this.type === sdk_core_1.TransactionType.WalletInitialization) {
48
+ const { targetAccount } = txMethod;
49
+ const keypairDest = new abstract_substrate_1.KeyPair({
50
+ pub: Buffer.from((0, keyring_1.decodeAddress)(targetAccount)).toString('hex'),
51
+ });
52
+ result.to = keypairDest.getAddress(this.getAddressFormat());
53
+ result.amount = '0'; // RegisterDidWithCDD does not transfer any value
54
+ }
55
+ else if (this.type === sdk_core_1.TransactionType.TrustLine) {
56
+ const { assetId } = txMethod;
57
+ result.assetId = assetId;
58
+ result.sender = decodedTx.address;
59
+ result.amount = '0'; // Pre-approval does not transfer any value
60
+ }
61
+ else if (this.type === sdk_core_1.TransactionType.SendToken) {
62
+ const sendTokenArgs = txMethod;
63
+ result.fromDID = sendTokenArgs.legs[0].fungible.sender.did;
64
+ result.toDID = sendTokenArgs.legs[0].fungible.receiver.did;
65
+ result.amount = sendTokenArgs.legs[0].fungible.amount.toString();
66
+ result.assetId = sendTokenArgs.legs[0].fungible.assetId;
67
+ result.memo = sendTokenArgs.instructionMemo;
68
+ }
69
+ else {
70
+ return super.toJson();
71
+ }
72
+ return result;
73
+ }
74
+ /**
75
+ * Load the input and output data on this transaction.
76
+ */
77
+ loadInputsAndOutputs() {
78
+ super.loadInputsAndOutputs();
79
+ const decodedTx = (0, txwrapper_polkadot_1.decode)(this._substrateTransaction, {
80
+ metadataRpc: this._substrateTransaction.metadataRpc,
81
+ registry: this._registry,
82
+ isImmortalEra: abstract_substrate_1.utils.isZeroHex(this._substrateTransaction.era),
83
+ });
84
+ if (this.type === sdk_core_1.TransactionType.WalletInitialization) {
85
+ this.decodeInputsAndOutputsForRegisterDidWithCDD(decodedTx);
86
+ }
87
+ else if (this.type === sdk_core_1.TransactionType.TrustLine) {
88
+ this.decodeInputsAndOutputsForPreApproveAsset(decodedTx);
89
+ }
90
+ else if (this.type === sdk_core_1.TransactionType.SendToken) {
91
+ this.decodeInputsAndOutputsForSendToken(decodedTx);
92
+ }
93
+ }
94
+ decodeInputsAndOutputsForRegisterDidWithCDD(decodedTx) {
95
+ const txMethod = decodedTx.method.args;
96
+ const keypairDest = new abstract_substrate_1.KeyPair({
97
+ pub: Buffer.from((0, keyring_1.decodeAddress)(txMethod.targetAccount)).toString('hex'),
98
+ });
99
+ const to = keypairDest.getAddress(this.getAddressFormat());
100
+ const value = '0';
101
+ const from = decodedTx.address;
102
+ this._inputs.push({
103
+ address: from,
104
+ value,
105
+ coin: this._coinConfig.name,
106
+ });
107
+ this._outputs.push({
108
+ address: to,
109
+ value,
110
+ coin: this._coinConfig.name,
111
+ });
112
+ }
113
+ decodeInputsAndOutputsForPreApproveAsset(decodedTx) {
114
+ const sender = decodedTx.address;
115
+ const value = '0'; // Pre-approval does not transfer any value
116
+ this._inputs.push({
117
+ address: sender,
118
+ value,
119
+ coin: this._coinConfig.name,
120
+ });
121
+ this._outputs.push({
122
+ address: sender, // In pre-approval, the output is the same as the input
123
+ value,
124
+ coin: this._coinConfig.name,
125
+ });
126
+ }
127
+ decodeInputsAndOutputsForSendToken(decodedTx) {
128
+ const txMethod = decodedTx.method.args;
129
+ const fromDID = txMethod.legs[0].fungible.sender.did;
130
+ const toDID = txMethod.legs[0].fungible.receiver.did;
131
+ const amount = txMethod.legs[0].fungible.amount.toString();
132
+ this._inputs.push({
133
+ address: fromDID,
134
+ value: amount,
135
+ coin: this._coinConfig.name,
136
+ });
137
+ this._outputs.push({
138
+ address: toDID,
139
+ value: amount,
140
+ coin: this._coinConfig.name,
141
+ });
14
142
  }
15
143
  }
16
144
  exports.Transaction = Transaction;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRTtBQUdoRSxNQUFhLFdBQVksU0FBUSwwQkFBZTtJQUM5QyxPQUFPLENBQUMsR0FBWTtRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBWkQsa0NBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb24gfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUeERhdGEgfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVFQUFxRztBQUNyRyxtREFBZ0Y7QUFDaEYsc0VBQWtFO0FBQ2xFLCtDQUFrRDtBQUVsRCxvREFBaUM7QUFFakMsTUFBYSxXQUFZLFNBQVEsZ0NBQW9CO0lBQ25EOzs7Ozs7T0FNRztJQUNPLGdCQUFnQjtRQUN4QixPQUFPLGVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksa0NBQXVCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBQSwyQkFBTSxFQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUNuRCxXQUFXLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVc7WUFDbkQsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLGFBQWEsRUFBRSwwQkFBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDO1NBQy9ELENBQXlCLENBQUM7UUFFM0IsTUFBTSxNQUFNLEdBQVc7WUFDckIsRUFBRSxFQUFFLDhCQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTztZQUN6QixjQUFjLEVBQUUsU0FBUyxDQUFDLFNBQVM7WUFDbkMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxXQUFXO1lBQ2xDLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVztZQUNsQyxLQUFLLEVBQUUsU0FBUyxDQUFD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RUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDakIsT0FBTyxFQUFFLEtBQUs7WUFDZCxLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBL0lELGtDQStJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFN1YnN0cmF0ZVRyYW5zYWN0aW9uLCB1dGlscywgS2V5UGFpciB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXN1YnN0cmF0ZSc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgY29uc3RydWN0LCBkZWNvZGUgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBkZWNvZGVBZGRyZXNzIH0gZnJvbSAnQHBvbGthZG90L2tleXJpbmcnO1xuaW1wb3J0IHsgRGVjb2RlZFR4LCBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBQcmVBcHByb3ZlQXNzZXRBcmdzLCBUeERhdGEsIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgcG9seXhVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgU3Vic3RyYXRlVHJhbnNhY3Rpb24ge1xuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGdldEFkZHJlc3NGb3JtYXQgbWV0aG9kIHRvIHJldHVybiBkaWZmZXJlbnQgdmFsdWVzIGJhc2VkIG9uIG5ldHdvcmsgdHlwZVxuICAgKiBSZXR1cm5zIDEyIGZvciBtYWlubmV0IGFuZCA0MiBmb3IgdGVzdG5ldFxuICAgKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgYWRkcmVzcyBmb3JtYXQgdG8gdXNlXG4gICAqIEBvdmVycmlkZVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEFkZHJlc3NGb3JtYXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcG9seXhVdGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgaWYgKCF0aGlzLl9zdWJzdHJhdGVUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY29kZWRUeCA9IGRlY29kZSh0aGlzLl9zdWJzdHJhdGVUcmFuc2FjdGlvbiwge1xuICAgICAgbWV0YWRhdGFScGM6IHRoaXMuX3N1YnN0cmF0ZVRyYW5zYWN0aW9uLm1ldGFkYXRhUnBjLFxuICAgICAgcmVnaXN0cnk6IHRoaXMuX3JlZ2lzdHJ5LFxuICAgICAgaXNJbW1vcnRhbEVyYTogdXRpbHMuaXNaZXJvSGV4KHRoaXMuX3N1YnN0cmF0ZVRyYW5zYWN0aW9uLmVyYSksXG4gICAgfSkgYXMgdW5rbm93biBhcyBEZWNvZGVkVHg7XG5cbiAgICBjb25zdCByZXN1bHQ6IFR4RGF0YSA9IHtcbiAgICAgIGlkOiBjb25zdHJ1Y3QudHhIYXNoKHRoaXMudG9Ccm9hZGNhc3RGb3JtYXQoKSksXG4gICAgICBzZW5kZXI6IGRlY29kZWRUeC5hZGRyZXNzLFxuICAgICAgcmVmZXJlbmNlQmxvY2s6IGRlY29kZWRUeC5ibG9ja0hhc2gsXG4gICAgICBibG9ja051bWJlcjogZGVjb2RlZFR4LmJsb2NrTnVtYmVyLFxuICAgICAgZ2VuZXNpc0hhc2g6IGRlY29kZWRUeC5nZW5lc2lzSGFzaCxcbiAgICAgIG5vbmNlOiBkZWNvZGVkVHgubm9uY2UsXG4gICAgICBzcGVjVmVyc2lvbjogZGVjb2RlZFR4LnNwZWNWZXJzaW9uLFxuICAgICAgdHJhbnNhY3Rpb25WZXJzaW9uOiBkZWNvZGVkVHgudHJhbnNhY3Rpb25WZXJzaW9uLFxuICAgICAgZXJhUGVyaW9kOiBkZWNvZGVkVHguZXJhUGVyaW9kLFxuICAgICAgY2hhaW5OYW1lOiB0aGlzLl9jaGFpbk5hbWUsXG4gICAgICB0aXA6IGRlY29kZWRUeC50aXAgPyBOdW1iZXIoZGVjb2RlZFR4LnRpcCkgOiAwLFxuICAgIH07XG5cbiAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeC5tZXRob2QuYXJncztcbiAgICBpZiAodGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb24pIHtcbiAgICAgIGNvbnN0IHsgdGFyZ2V0QWNjb3VudCB9ID0gdHhNZXRob2QgYXMgUmVnaXN0ZXJEaWRXaXRoQ0REQXJncztcbiAgICAgIGNvbnN0IGtleXBhaXJEZXN0ID0gbmV3IEtleVBhaXIoe1xuICAgICAgICBwdWI6IEJ1ZmZlci5mcm9tKGRlY29kZUFkZHJlc3ModGFyZ2V0QWNjb3VudCkpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIH0pO1xuICAgICAgcmVzdWx0LnRvID0ga2V5cGFpckRlc3QuZ2V0QWRkcmVzcyh0aGlzLmdldEFkZHJlc3NGb3JtYXQoKSk7XG4gICAgICByZXN1bHQuYW1vdW50ID0gJzAnOyAvLyBSZWdpc3RlckRpZFdpdGhDREQgZG9lcyBub3QgdHJhbnNmZXIgYW55IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5UcnVzdExpbmUpIHtcbiAgICAgIGNvbnN0IHsgYXNzZXRJZCB9ID0gdHhNZXRob2QgYXMgUHJlQXBwcm92ZUFzc2V0QXJncztcbiAgICAgIHJlc3VsdC5hc3NldElkID0gYXNzZXRJZDtcbiAgICAgIHJlc3VsdC5zZW5kZXIgPSBkZWNvZGVkVHguYWRkcmVzcztcbiAgICAgIHJlc3VsdC5hbW91bnQgPSAnMCc7IC8vIFByZS1hcHByb3ZhbCBkb2VzIG5vdCB0cmFuc2ZlciBhbnkgdmFsdWVcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlNlbmRUb2tlbikge1xuICAgICAgY29uc3Qgc2VuZFRva2VuQXJncyA9IHR4TWV0aG9kIGFzIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzO1xuICAgICAgcmVzdWx0LmZyb21ESUQgPSBzZW5kVG9rZW5BcmdzLmxlZ3NbMF0uZnVuZ2libGUuc2VuZGVyLmRpZDtcbiAgICAgIHJlc3VsdC50b0RJRCA9IHNlbmRUb2tlbkFyZ3MubGVnc1swXS5mdW5naWJsZS5yZWNlaXZlci5kaWQ7XG4gICAgICByZXN1bHQuYW1vdW50ID0gc2VuZFRva2VuQXJncy5sZWdzWzBdLmZ1bmdpYmxlLmFtb3VudC50b1N0cmluZygpO1xuICAgICAgcmVzdWx0LmFzc2V0SWQgPSBzZW5kVG9rZW5BcmdzLmxlZ3NbMF0uZnVuZ2libGUuYXNzZXRJZDtcbiAgICAgIHJlc3VsdC5tZW1vID0gc2VuZFRva2VuQXJncy5pbnN0cnVjdGlvbk1lbW87XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBzdXBlci50b0pzb24oKSBhcyBUeERhdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIHRoZSBpbnB1dCBhbmQgb3V0cHV0IGRhdGEgb24gdGhpcyB0cmFuc2FjdGlvbi5cbiAgICovXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIHN1cGVyLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG5cbiAgICBjb25zdCBkZWNvZGVkVHggPSBkZWNvZGUodGhpcy5fc3Vic3RyYXRlVHJhbnNhY3Rpb24sIHtcbiAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9zdWJzdHJhdGVUcmFuc2FjdGlvbi5tZXRhZGF0YVJwYyxcbiAgICAgIHJlZ2lzdHJ5OiB0aGlzLl9yZWdpc3RyeSxcbiAgICAgIGlzSW1tb3J0YWxFcmE6IHV0aWxzLmlzWmVyb0hleCh0aGlzLl9zdWJzdHJhdGVUcmFuc2FjdGlvbi5lcmEpLFxuICAgIH0pIGFzIHVua25vd24gYXMgRGVjb2RlZFR4O1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uKSB7XG4gICAgICB0aGlzLmRlY29kZUlucHV0c0FuZE91dHB1dHNGb3JSZWdpc3RlckRpZFdpdGhDREQoZGVjb2RlZFR4KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlRydXN0TGluZSkge1xuICAgICAgdGhpcy5kZWNvZGVJbnB1dHNBbmRPdXRwdXRzRm9yUHJlQXBwcm92ZUFzc2V0KGRlY29kZWRUeCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW4pIHtcbiAgICAgIHRoaXMuZGVjb2RlSW5wdXRzQW5kT3V0cHV0c0ZvclNlbmRUb2tlbihkZWNvZGVkVHgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVjb2RlSW5wdXRzQW5kT3V0cHV0c0ZvclJlZ2lzdGVyRGlkV2l0aENERChkZWNvZGVkVHg6IERlY29kZWRUeCkge1xuICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4Lm1ldGhvZC5hcmdzIGFzIFJlZ2lzdGVyRGlkV2l0aENEREFyZ3M7XG4gICAgY29uc3Qga2V5cGFpckRlc3QgPSBuZXcgS2V5UGFpcih7XG4gICAgICBwdWI6IEJ1ZmZlci5mcm9tKGRlY29kZUFkZHJlc3ModHhNZXRob2QudGFyZ2V0QWNjb3VudCkpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9KTtcbiAgICBjb25zdCB0byA9IGtleXBhaXJEZXN0LmdldEFkZHJlc3ModGhpcy5nZXRBZGRyZXNzRm9ybWF0KCkpO1xuICAgIGNvbnN0IHZhbHVlID0gJzAnO1xuICAgIGNvbnN0IGZyb20gPSBkZWNvZGVkVHguYWRkcmVzcztcblxuICAgIHRoaXMuX2lucHV0cy5wdXNoKHtcbiAgICAgIGFkZHJlc3M6IGZyb20sXG4gICAgICB2YWx1ZSxcbiAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMuX291dHB1dHMucHVzaCh7XG4gICAgICBhZGRyZXNzOiB0byxcbiAgICAgIHZhbHVlLFxuICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGVJbnB1dHNBbmRPdXRwdXRzRm9yUHJlQXBwcm92ZUFzc2V0KGRlY29kZWRUeDogRGVjb2RlZFR4KSB7XG4gICAgY29uc3Qgc2VuZGVyID0gZGVjb2RlZFR4LmFkZHJlc3M7XG4gICAgY29uc3QgdmFsdWUgPSAnMCc7IC8vIFByZS1hcHByb3ZhbCBkb2VzIG5vdCB0cmFuc2ZlciBhbnkgdmFsdWVcblxuICAgIHRoaXMuX2lucHV0cy5wdXNoKHtcbiAgICAgIGFkZHJlc3M6IHNlbmRlcixcbiAgICAgIHZhbHVlLFxuICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fb3V0cHV0cy5wdXNoKHtcbiAgICAgIGFkZHJlc3M6IHNlbmRlciwgLy8gSW4gcHJlLWFwcHJvdmFsLCB0aGUgb3V0cHV0IGlzIHRoZSBzYW1lIGFzIHRoZSBpbnB1dFxuICAgICAgdmFsdWUsXG4gICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZUlucHV0c0FuZE91dHB1dHNGb3JTZW5kVG9rZW4oZGVjb2RlZFR4OiBEZWNvZGVkVHgpIHtcbiAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeC5tZXRob2QuYXJncyBhcyBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncztcbiAgICBjb25zdCBmcm9tRElEID0gdHhNZXRob2QubGVnc1swXS5mdW5naWJsZS5zZW5kZXIuZGlkO1xuICAgIGNvbnN0IHRvRElEID0gdHhNZXRob2QubGVnc1swXS5mdW5naWJsZS5yZWNlaXZlci5kaWQ7XG4gICAgY29uc3QgYW1vdW50ID0gdHhNZXRob2QubGVnc1swXS5mdW5naWJsZS5hbW91bnQudG9TdHJpbmcoKTtcblxuICAgIHRoaXMuX2lucHV0cy5wdXNoKHtcbiAgICAgIGFkZHJlc3M6IGZyb21ESUQsXG4gICAgICB2YWx1ZTogYW1vdW50LFxuICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fb3V0cHV0cy5wdXNoKHtcbiAgICAgIGFkZHJlc3M6IHRvRElELFxuICAgICAgdmFsdWU6IGFtb3VudCxcbiAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,12 +1,34 @@
1
1
  import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core';
2
- import { TransactionBuilder } from './transactionBuilder';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { TransferBuilder } from './transferBuilder';
4
+ import { RegisterDidWithCDDBuilder } from './registerDidWithCDDBuilder';
5
+ import { BondExtraBuilder } from './bondExtraBuilder';
6
+ import { BatchStakingBuilder } from './batchStakingBuilder';
7
+ import { BatchUnstakingBuilder } from './batchUnstakingBuilder';
8
+ import { UnbondBuilder } from './unbondBuilder';
9
+ import { WithdrawUnbondedBuilder } from './withdrawUnbondedBuilder';
10
+ import { Interface, TransactionBuilder } from './';
11
+ import { TxMethod } from './iface';
12
+ import { Transaction as BaseTransaction } from '@bitgo-beta/abstract-substrate';
13
+ import { Transaction as PolyxTransaction } from './transaction';
14
+ import { PreApproveAssetBuilder } from './preApproveAssetBuilder';
15
+ import { TokenTransferBuilder } from './tokenTransferBuilder';
16
+ export type SupportedTransaction = BaseTransaction | PolyxTransaction;
4
17
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
5
- /** @inheritdoc */
6
- from(raw: string): TransactionBuilder;
7
- /** @inheritdoc */
18
+ protected _material: Interface.Material;
19
+ constructor(_coinConfig: Readonly<CoinConfig>);
8
20
  getTransferBuilder(): TransferBuilder;
9
- /** @inheritdoc */
21
+ getRegisterDidWithCDDBuilder(): RegisterDidWithCDDBuilder;
22
+ getPreApproveAssetBuilder(): PreApproveAssetBuilder;
23
+ getTokenTransferBuilder(): TokenTransferBuilder;
24
+ getBondExtraBuilder(): BondExtraBuilder;
25
+ getBatchBuilder(): BatchStakingBuilder;
26
+ getBatchUnstakingBuilder(): BatchUnstakingBuilder;
27
+ getUnbondBuilder(): UnbondBuilder;
28
+ getWithdrawUnbondedBuilder(): WithdrawUnbondedBuilder;
10
29
  getWalletInitializationBuilder(): void;
30
+ from(rawTxn: string): TransactionBuilder<TxMethod, SupportedTransaction>;
31
+ material(material: Interface.Material): this;
32
+ private getBuilder;
11
33
  }
12
34
  //# sourceMappingURL=transactionBuilderFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAIrC,kBAAkB;IAClB,kBAAkB,IAAI,eAAe;IAIrC,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;CAGvC"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAuB,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAqB,kBAAkB,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAgC,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEtE,qBAAa,yBAA0B,SAAQ,6BAA6B;IAC1E,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC;gBAE5B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB,IAAI,eAAe;IAIrC,4BAA4B,IAAI,yBAAyB;IAIzD,yBAAyB,IAAI,sBAAsB;IAInD,uBAAuB,IAAI,oBAAoB;IAI/C,mBAAmB,IAAI,gBAAgB;IAIvC,eAAe,IAAI,mBAAmB;IAItC,wBAAwB,IAAI,qBAAqB;IAIjD,gBAAgB,IAAI,aAAa;IAIjC,0BAA0B,IAAI,uBAAuB;IAIrD,8BAA8B,IAAI,IAAI;IAItC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IAMxE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI;IAK5C,OAAO,CAAC,UAAU;CAmDnB"}