@bitgo-beta/sdk-coin-polyx 1.0.1-beta.72 → 1.0.1-beta.721

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 (135) 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/baseBuilder.d.ts +24 -0
  5. package/dist/src/lib/baseBuilder.d.ts.map +1 -0
  6. package/dist/src/lib/baseBuilder.js +31 -0
  7. package/dist/src/lib/batchStakingBuilder.d.ts +79 -0
  8. package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/batchStakingBuilder.js +299 -0
  10. package/dist/src/lib/batchUnstakingBuilder.d.ts +39 -0
  11. package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/batchUnstakingBuilder.js +127 -0
  13. package/dist/src/lib/bondExtraBuilder.d.ts +37 -0
  14. package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/bondExtraBuilder.js +101 -0
  16. package/dist/src/lib/constants.d.ts +12 -0
  17. package/dist/src/lib/constants.d.ts.map +1 -0
  18. package/dist/src/lib/constants.js +15 -0
  19. package/dist/src/lib/iface.d.ts +138 -0
  20. package/dist/src/lib/iface.d.ts.map +1 -1
  21. package/dist/src/lib/iface.js +37 -1
  22. package/dist/src/lib/index.d.ts +12 -0
  23. package/dist/src/lib/index.d.ts.map +1 -1
  24. package/dist/src/lib/index.js +37 -2
  25. package/dist/src/lib/preApproveAssetBuilder.d.ts +33 -0
  26. package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/preApproveAssetBuilder.js +77 -0
  28. package/dist/src/lib/registerDidWithCDDBuilder.d.ts +7 -2
  29. package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
  30. package/dist/src/lib/registerDidWithCDDBuilder.js +19 -3
  31. package/dist/src/lib/rejectInstructionBuilder.d.ts +29 -0
  32. package/dist/src/lib/rejectInstructionBuilder.d.ts.map +1 -0
  33. package/dist/src/lib/rejectInstructionBuilder.js +89 -0
  34. package/dist/src/lib/tokenTransferBuilder.d.ts +58 -0
  35. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/tokenTransferBuilder.js +158 -0
  37. package/dist/src/lib/transaction.d.ts +30 -0
  38. package/dist/src/lib/transaction.d.ts.map +1 -0
  39. package/dist/src/lib/transaction.js +193 -0
  40. package/dist/src/lib/transactionBuilderFactory.d.ts +21 -1
  41. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  42. package/dist/src/lib/transactionBuilderFactory.js +80 -4
  43. package/dist/src/lib/transferBuilder.d.ts +4 -2
  44. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  45. package/dist/src/lib/transferBuilder.js +10 -5
  46. package/dist/src/lib/txnSchema.d.ts +47 -0
  47. package/dist/src/lib/txnSchema.d.ts.map +1 -1
  48. package/dist/src/lib/txnSchema.js +152 -2
  49. package/dist/src/lib/unbondBuilder.d.ts +37 -0
  50. package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
  51. package/dist/src/lib/unbondBuilder.js +98 -0
  52. package/dist/src/lib/utils.d.ts +11 -0
  53. package/dist/src/lib/utils.d.ts.map +1 -1
  54. package/dist/src/lib/utils.js +36 -1
  55. package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
  56. package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
  57. package/dist/src/lib/withdrawUnbondedBuilder.js +89 -0
  58. package/dist/src/polyx.d.ts +50 -9
  59. package/dist/src/polyx.d.ts.map +1 -1
  60. package/dist/src/polyx.js +269 -15
  61. package/dist/src/polyxToken.d.ts +20 -0
  62. package/dist/src/polyxToken.d.ts.map +1 -0
  63. package/dist/src/polyxToken.js +55 -0
  64. package/dist/src/register.d.ts.map +1 -1
  65. package/dist/src/register.js +5 -1
  66. package/dist/src/tpolyx.d.ts +7 -0
  67. package/dist/src/tpolyx.d.ts.map +1 -1
  68. package/dist/src/tpolyx.js +11 -1
  69. package/dist/test/integration/index.d.ts +1 -0
  70. package/dist/test/integration/index.d.ts.map +1 -0
  71. package/dist/test/integration/index.js +1 -0
  72. package/dist/test/resources/index.d.ts +106 -0
  73. package/dist/test/resources/index.d.ts.map +1 -0
  74. package/dist/test/resources/index.js +112 -0
  75. package/dist/test/resources/mainnet.d.ts +2 -0
  76. package/dist/test/resources/mainnet.d.ts.map +1 -0
  77. package/dist/test/resources/mainnet.js +5 -0
  78. package/dist/test/resources/materialData.json +8 -0
  79. package/dist/test/resources/materialDataModified.json +8 -0
  80. package/dist/test/resources/testnet.d.ts +2 -0
  81. package/dist/test/resources/testnet.d.ts.map +1 -0
  82. package/dist/test/resources/testnet.js +5 -0
  83. package/dist/test/resources/wrwUsers.d.ts +19 -0
  84. package/dist/test/resources/wrwUsers.d.ts.map +1 -0
  85. package/dist/test/resources/wrwUsers.js +60 -0
  86. package/dist/test/unit/polyx.d.ts +2 -0
  87. package/dist/test/unit/polyx.d.ts.map +1 -0
  88. package/dist/test/unit/polyx.js +209 -0
  89. package/dist/test/unit/transactionBuilder/base.d.ts +4 -0
  90. package/dist/test/unit/transactionBuilder/base.d.ts.map +1 -0
  91. package/dist/test/unit/transactionBuilder/base.js +245 -0
  92. package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts +2 -0
  93. package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts.map +1 -0
  94. package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +263 -0
  95. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts +2 -0
  96. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts.map +1 -0
  97. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.js +159 -0
  98. package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts +2 -0
  99. package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts.map +1 -0
  100. package/dist/test/unit/transactionBuilder/bondExtraBuilder.js +158 -0
  101. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts +2 -0
  102. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts.map +1 -0
  103. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.js +115 -0
  104. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts +2 -0
  105. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts.map +1 -0
  106. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.js +302 -0
  107. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts +2 -0
  108. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts.map +1 -0
  109. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.js +128 -0
  110. package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts +2 -0
  111. package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts.map +1 -0
  112. package/dist/test/unit/transactionBuilder/singletonRegistry.js +59 -0
  113. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  114. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  115. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +140 -0
  116. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
  117. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  118. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +74 -0
  119. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  120. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  121. package/dist/test/unit/transactionBuilder/transferBuilder.js +326 -0
  122. package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts +2 -0
  123. package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts.map +1 -0
  124. package/dist/test/unit/transactionBuilder/unbondBuilder.js +144 -0
  125. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts +2 -0
  126. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts.map +1 -0
  127. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.js +138 -0
  128. package/dist/test/unit/utils.d.ts +2 -0
  129. package/dist/test/unit/utils.d.ts.map +1 -0
  130. package/dist/test/unit/utils.js +143 -0
  131. package/dist/tsconfig.tsbuildinfo +1 -0
  132. package/package.json +15 -9
  133. package/.eslintignore +0 -4
  134. package/.mocharc.yml +0 -8
  135. package/CHANGELOG.md +0 -22
@@ -0,0 +1,33 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
4
+ import { PolyxBaseBuilder } from './baseBuilder';
5
+ import { TxMethod } from './iface';
6
+ import { Transaction } from './transaction';
7
+ export declare class PreApproveAssetBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
8
+ protected _assetId: string;
9
+ protected _method: TxMethod;
10
+ constructor(_coinConfig: Readonly<CoinConfig>);
11
+ protected get transactionType(): TransactionType;
12
+ protected buildTransaction(): UnsignedTransaction;
13
+ /**
14
+ * Sets the asset ID for the pre-approval transaction.
15
+ *
16
+ * @param {string} assetId - The ID of the asset to be pre-approved.
17
+ * @returns {this} The current instance of the builder.
18
+ */
19
+ assetId(assetId: string): this;
20
+ /** @inheritdoc */
21
+ protected fromImplementation(rawTransaction: string): Transaction;
22
+ /** @inheritdoc */
23
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
24
+ /**
25
+ * Construct a transaction to pre-approve an asset
26
+ *
27
+ * @param {PreApproveAssetArgs} args Arguments to be passed to the preApproveAsset method
28
+ * @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the pre-approve asset txn
29
+ * @returns {UnsignedTransaction} an unsigned transaction for asset pre-approval
30
+ */
31
+ private preApproveAsset;
32
+ }
33
+ //# sourceMappingURL=preApproveAssetBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preApproveAssetBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/preApproveAssetBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAoC,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,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;IAUjD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B,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;IAY9G;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAcxB"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreApproveAssetBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const txwrapper_core_1 = require("@substrate/txwrapper-core");
6
+ const baseBuilder_1 = require("./baseBuilder");
7
+ const iface_1 = require("./iface");
8
+ const txnSchema_1 = require("./txnSchema");
9
+ const transaction_1 = require("./transaction");
10
+ class PreApproveAssetBuilder 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.TrustLine;
17
+ }
18
+ buildTransaction() {
19
+ const baseTxInfo = this.createBaseTxInfo();
20
+ return this.preApproveAsset({
21
+ assetId: this._assetId,
22
+ }, baseTxInfo);
23
+ }
24
+ /**
25
+ * Sets the asset ID for the pre-approval transaction.
26
+ *
27
+ * @param {string} assetId - The ID of the asset to be pre-approved.
28
+ * @returns {this} The current instance of the builder.
29
+ */
30
+ assetId(assetId) {
31
+ this._assetId = assetId;
32
+ return this;
33
+ }
34
+ /** @inheritdoc */
35
+ fromImplementation(rawTransaction) {
36
+ const tx = super.fromImplementation(rawTransaction);
37
+ if (this._method?.name === iface_1.MethodNames.PreApproveAsset) {
38
+ const txMethod = this._method.args;
39
+ this.assetId(txMethod.assetId);
40
+ }
41
+ else {
42
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected preApproveAsset`);
43
+ }
44
+ return tx;
45
+ }
46
+ /** @inheritdoc */
47
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
48
+ if (decodedTxn.method?.name === iface_1.MethodNames.PreApproveAsset) {
49
+ const txMethod = decodedTxn.method.args;
50
+ const assetId = txMethod.assetId;
51
+ const validationResult = txnSchema_1.PreApproveAssetTransactionSchema.validate({ assetId });
52
+ if (!validationResult) {
53
+ throw new sdk_core_1.InvalidTransactionError('Invalid transaction: assetId is required');
54
+ }
55
+ }
56
+ }
57
+ /**
58
+ * Construct a transaction to pre-approve an asset
59
+ *
60
+ * @param {PreApproveAssetArgs} args Arguments to be passed to the preApproveAsset method
61
+ * @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the pre-approve asset txn
62
+ * @returns {UnsignedTransaction} an unsigned transaction for asset pre-approval
63
+ */
64
+ preApproveAsset(args, info) {
65
+ console.log(`PreApproveAssetBuilder: preApproveAsset called with args: ${JSON.stringify(args)}`);
66
+ return (0, txwrapper_core_1.defineMethod)({
67
+ method: {
68
+ args,
69
+ name: 'preApproveAsset',
70
+ pallet: 'asset',
71
+ },
72
+ ...info.baseTxInfo,
73
+ }, info.options);
74
+ }
75
+ }
76
+ exports.PreApproveAssetBuilder = PreApproveAssetBuilder;
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlQXBwcm92ZUFzc2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJlQXBwcm92ZUFzc2V0QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Y7QUFFaEYsOERBQXNIO0FBRXRILCtDQUFpRDtBQUNqRCxtQ0FBcUU7QUFDckUsMkNBQStEO0FBQy9ELCtDQUE0QztBQUU1QyxNQUFhLHNCQUF1QixTQUFRLDhCQUF1QztJQUlqRixZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQ3pCO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3ZCLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBMkIsQ0FBQztZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLDRCQUE0QixDQUFDLENBQUM7UUFDakgsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXVCO1FBQ3JHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQTJCLENBQUM7WUFDL0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUVqQyxNQUFNLGdCQUFnQixHQUFHLDRDQUFnQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGVBQWUsQ0FBQyxJQUF5QixFQUFFLElBQWdDO1FBQ2pGLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkRBQTZELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sSUFBQSw2QkFBWSxFQUNqQjtZQUNFLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxPQUFPO2FBQ2hCO1lBQ0QsR0FBRyxJQUFJLENBQUMsVUFBVTtTQUNuQixFQUNELElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhGRCx3REFnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IFR4TWV0aG9kLCBQcmVBcHByb3ZlQXNzZXRBcmdzLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUHJlQXBwcm92ZUFzc2V0VHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUHJlQXBwcm92ZUFzc2V0QnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfYXNzZXRJZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX21ldGhvZDogVHhNZXRob2Q7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5UcnVzdExpbmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMucHJlQXBwcm92ZUFzc2V0KFxuICAgICAge1xuICAgICAgICBhc3NldElkOiB0aGlzLl9hc3NldElkLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFzc2V0IElEIGZvciB0aGUgcHJlLWFwcHJvdmFsIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYXNzZXQgdG8gYmUgcHJlLWFwcHJvdmVkLlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBhc3NldElkKGFzc2V0SWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBhc3NldElkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJlQXBwcm92ZUFzc2V0KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFByZUFwcHJvdmVBc3NldEFyZ3M7XG4gICAgICB0aGlzLmFzc2V0SWQodHhNZXRob2QuYXNzZXRJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHByZUFwcHJvdmVBc3NldGApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJlQXBwcm92ZUFzc2V0KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgUHJlQXBwcm92ZUFzc2V0QXJncztcbiAgICAgIGNvbnN0IGFzc2V0SWQgPSB0eE1ldGhvZC5hc3NldElkO1xuXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gUHJlQXBwcm92ZUFzc2V0VHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhc3NldElkIH0pO1xuICAgICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogYXNzZXRJZCBpcyByZXF1aXJlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byBwcmUtYXBwcm92ZSBhbiBhc3NldFxuICAgKlxuICAgKiBAcGFyYW0ge1ByZUFwcHJvdmVBc3NldEFyZ3N9IGFyZ3MgQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgcHJlQXBwcm92ZUFzc2V0IG1ldGhvZFxuICAgKiBAcGFyYW0ge0ludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvfSBpbmZvIEJhc2UgdHhuIGluZm8gcmVxdWlyZWQgdG8gY29uc3RydWN0IHRoZSBwcmUtYXBwcm92ZSBhc3NldCB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBhc3NldCBwcmUtYXBwcm92YWxcbiAgICovXG4gIHByaXZhdGUgcHJlQXBwcm92ZUFzc2V0KGFyZ3M6IFByZUFwcHJvdmVBc3NldEFyZ3MsIGluZm86IEludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc29sZS5sb2coYFByZUFwcHJvdmVBc3NldEJ1aWxkZXI6IHByZUFwcHJvdmVBc3NldCBjYWxsZWQgd2l0aCBhcmdzOiAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ3ByZUFwcHJvdmVBc3NldCcsXG4gICAgICAgICAgcGFsbGV0OiAnYXNzZXQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,9 +1,12 @@
1
- import { TransactionBuilder } from '@bitgo-beta/abstract-substrate';
1
+ import { PolyxBaseBuilder } from './baseBuilder';
2
2
  import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
3
3
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
4
  import { TransactionType, BaseAddress } from '@bitgo-beta/sdk-core';
5
- export declare class RegisterDidWithCDDBuilder extends TransactionBuilder {
5
+ import { TxMethod } from './iface';
6
+ import { Transaction } from './transaction';
7
+ export declare class RegisterDidWithCDDBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
6
8
  protected _to: string;
9
+ protected _method: TxMethod;
7
10
  constructor(_coinConfig: Readonly<CoinConfig>);
8
11
  protected get transactionType(): TransactionType;
9
12
  protected buildTransaction(): UnsignedTransaction;
@@ -16,6 +19,8 @@ export declare class RegisterDidWithCDDBuilder extends TransactionBuilder {
16
19
  */
17
20
  to({ address }: BaseAddress): this;
18
21
  /** @inheritdoc */
22
+ protected fromImplementation(rawTransaction: string): Transaction;
23
+ /** @inheritdoc */
19
24
  validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
20
25
  /**
21
26
  * Construct a transaction to register a DID with CDD information
@@ -1 +1 @@
1
- {"version":3,"file":"registerDidWithCDDBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/registerDidWithCDDBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAa,MAAM,gCAAgC,CAAC;AAC/E,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;AAI7F,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;gBAEV,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,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,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9G;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAa3B"}
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"}
@@ -2,12 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RegisterDidWithCDDBuilder = void 0;
4
4
  const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
5
+ const baseBuilder_1 = require("./baseBuilder");
5
6
  const txwrapper_core_1 = require("@substrate/txwrapper-core");
6
7
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const iface_1 = require("./iface");
7
9
  const txnSchema_1 = require("./txnSchema");
8
- class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder {
10
+ const transaction_1 = require("./transaction");
11
+ class RegisterDidWithCDDBuilder extends baseBuilder_1.PolyxBaseBuilder {
9
12
  constructor(_coinConfig) {
10
13
  super(_coinConfig);
14
+ this._transaction = new transaction_1.Transaction(_coinConfig);
11
15
  }
12
16
  get transactionType() {
13
17
  return sdk_core_1.TransactionType.WalletInitialization;
@@ -33,8 +37,20 @@ class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder
33
37
  return this;
34
38
  }
35
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 */
36
52
  validateDecodedTransaction(decodedTxn, rawTransaction) {
37
- if (decodedTxn.method?.name === abstract_substrate_1.Interface.MethodNames.RegisterDidWithCDD) {
53
+ if (decodedTxn.method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
38
54
  const txMethod = decodedTxn.method.args;
39
55
  const targetAccount = txMethod.targetAccount;
40
56
  const secondaryKeys = txMethod.secondaryKeys;
@@ -64,4 +80,4 @@ class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder
64
80
  }
65
81
  }
66
82
  exports.RegisterDidWithCDDBuilder = RegisterDidWithCDDBuilder;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBK0U7QUFDL0UsOERBQXNIO0FBRXRILG1EQUE2RjtBQUU3RiwyQ0FBa0U7QUFFbEUsTUFBYSx5QkFBMEIsU0FBUSx1Q0FBa0I7SUFHL0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUI7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDdkIsYUFBYSxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQsRUFBRSxjQUF1QjtRQUNyRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLDhCQUFTLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDekUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE4QixDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsK0NBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBNEIsRUFBRSxJQUFnQztRQUN2RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF2RUQsOERBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyLCBJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlLCBCYXNlQWRkcmVzcywgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBSZWdpc3RlckRpZFdpdGhDRERBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBSZWdpc3RlckRpZFdpdGhDRERUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcblxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RvOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLlJlZ2lzdGVyRGlkV2l0aENERChcbiAgICAgIHtcbiAgICAgICAgdGFyZ2V0QWNjb3VudDogdGhpcy5fdG8sXG4gICAgICAgIHNlY29uZGFyeUtleXM6IFtdLFxuICAgICAgICBleHBpcnk6IG51bGwsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mb1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZm9yIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzdFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqL1xuICB0byh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fdG8gPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZFdpdGhDRERBcmdzO1xuICAgICAgY29uc3QgdGFyZ2V0QWNjb3VudCA9IHR4TWV0aG9kLnRhcmdldEFjY291bnQ7XG4gICAgICBjb25zdCBzZWNvbmRhcnlLZXlzID0gdHhNZXRob2Quc2Vjb25kYXJ5S2V5cztcbiAgICAgIGNvbnN0IGV4cGlyeSA9IHR4TWV0aG9kLmV4cGlyeTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5IH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgdHJhbnNhY3Rpb24gdG8gcmVnaXN0ZXIgYSBESUQgd2l0aCBDREQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtSZWdpc3RlckRpZFdpdGhDRERBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIGNkZFJlZ2lzdGVyRGlkV2l0aENkZCBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgRElEIHJlZ2lzdHJhdGlvbiB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBESUQgcmVnaXN0cmF0aW9uIHdpdGggQ0REXG4gICAqL1xuICBwcml2YXRlIFJlZ2lzdGVyRGlkV2l0aENERChhcmdzOiBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2NkZFJlZ2lzdGVyRGlkV2l0aENkZCcsXG4gICAgICAgICAgcGFsbGV0OiAnaWRlbnRpdHknLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBa0U7QUFDbEUsK0NBQWlEO0FBQ2pELDhEQUFzSDtBQUV0SCxtREFBNkY7QUFDN0YsbUNBQXdFO0FBQ3hFLDJDQUFrRTtBQUNsRSwrQ0FBNEM7QUFFNUMsTUFBYSx5QkFBMEIsU0FBUSw4QkFBdUM7SUFJcEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUI7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDdkIsYUFBYSxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE4QixDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksK0JBQStCLENBQUMsQ0FBQztRQUNwSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1ELEVBQUUsY0FBdUI7UUFDckcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE4QixDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsK0NBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBNEIsRUFBRSxJQUFnQztRQUN2RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyRkQsOERBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJmYWNlLCB1dGlscyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXN1YnN0cmF0ZSc7XG5pbXBvcnQgeyBQb2x5eEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9iYXNlQnVpbGRlcic7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEJhc2VBZGRyZXNzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkV2l0aENEREFyZ3MsIFR4TWV0aG9kLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEaWRXaXRoQ0REVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZXRob2Q6IFR4TWV0aG9kO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuUmVnaXN0ZXJEaWRXaXRoQ0REKFxuICAgICAge1xuICAgICAgICB0YXJnZXRBY2NvdW50OiB0aGlzLl90byxcbiAgICAgICAgc2Vjb25kYXJ5S2V5czogW10sXG4gICAgICAgIGV4cGlyeTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0XG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIHRvKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl90byA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUmVnaXN0ZXJEaWRXaXRoQ0REQXJncztcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVTdWJzdHJhdGVBZGRyZXNzKHR4TWV0aG9kLnRhcmdldEFjY291bnQsIHRoaXMuZ2V0QWRkcmVzc0Zvcm1hdCgpKSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgUmVnaXN0ZXJEaWRXaXRoQ0REYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZFdpdGhDRERBcmdzO1xuICAgICAgY29uc3QgdGFyZ2V0QWNjb3VudCA9IHR4TWV0aG9kLnRhcmdldEFjY291bnQ7XG4gICAgICBjb25zdCBzZWNvbmRhcnlLZXlzID0gdHhNZXRob2Quc2Vjb25kYXJ5S2V5cztcbiAgICAgIGNvbnN0IGV4cGlyeSA9IHR4TWV0aG9kLmV4cGlyeTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5IH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgdHJhbnNhY3Rpb24gdG8gcmVnaXN0ZXIgYSBESUQgd2l0aCBDREQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtSZWdpc3RlckRpZFdpdGhDRERBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIGNkZFJlZ2lzdGVyRGlkV2l0aENkZCBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgRElEIHJlZ2lzdHJhdGlvbiB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBESUQgcmVnaXN0cmF0aW9uIHdpdGggQ0REXG4gICAqL1xuICBwcml2YXRlIFJlZ2lzdGVyRGlkV2l0aENERChhcmdzOiBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2NkZFJlZ2lzdGVyRGlkV2l0aENkZCcsXG4gICAgICAgICAgcGFsbGV0OiAnaWRlbnRpdHknLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,29 @@
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 RejectInstructionBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
8
+ protected _instructionId: string;
9
+ protected _portfolioDID: string;
10
+ constructor(_coinConfig: Readonly<CoinConfig>);
11
+ protected get transactionType(): TransactionType;
12
+ protected buildTransaction(): UnsignedTransaction;
13
+ /**
14
+ * @param instructionId - The ID of the instruction to be rejected
15
+ * @returns {this}
16
+ */
17
+ instructionId(instructionId: string): this;
18
+ /**
19
+ * @param portfolioDID - The DID of the portfolio associated with the instruction
20
+ * @returns {this}
21
+ */
22
+ portfolioDID(portfolioDID: string): this;
23
+ /** @inheritdoc */
24
+ protected fromImplementation(rawTransaction: string): Transaction;
25
+ /** @inheritdoc */
26
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
27
+ private rejectInstruction;
28
+ }
29
+ //# sourceMappingURL=rejectInstructionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejectInstructionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/rejectInstructionBuilder.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,EAA4D,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,qBAAa,wBAAyB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACnF,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEpB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAmBjD;;;OAGG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAK1C;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKxC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB9G,OAAO,CAAC,iBAAiB;CAa1B"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RejectInstructionBuilder = 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 RejectInstructionBuilder 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.RejectInstruction;
17
+ }
18
+ buildTransaction() {
19
+ const baseTxInfo = this.createBaseTxInfo();
20
+ return this.rejectInstruction({
21
+ id: this._instructionId,
22
+ portfolio: {
23
+ did: this._portfolioDID,
24
+ kind: iface_1.PortfolioKind.Default,
25
+ },
26
+ numberOfAssets: {
27
+ fungible: 1,
28
+ nonFungible: 0,
29
+ offChain: 0,
30
+ },
31
+ }, baseTxInfo);
32
+ }
33
+ /**
34
+ * @param instructionId - The ID of the instruction to be rejected
35
+ * @returns {this}
36
+ */
37
+ instructionId(instructionId) {
38
+ this._instructionId = instructionId;
39
+ return this;
40
+ }
41
+ /**
42
+ * @param portfolioDID - The DID of the portfolio associated with the instruction
43
+ * @returns {this}
44
+ */
45
+ portfolioDID(portfolioDID) {
46
+ this._portfolioDID = portfolioDID;
47
+ return this;
48
+ }
49
+ /** @inheritdoc */
50
+ fromImplementation(rawTransaction) {
51
+ const tx = super.fromImplementation(rawTransaction);
52
+ if (this._method?.name === iface_1.MethodNames.RejectInstruction) {
53
+ const txMethod = this._method.args;
54
+ this._instructionId = txMethod.id;
55
+ this._portfolioDID = txMethod.portfolio.did;
56
+ }
57
+ else {
58
+ throw new Error(`Cannot build from transaction with method ${this._method?.name} for RejectInstructionBuilder`);
59
+ }
60
+ return tx;
61
+ }
62
+ /** @inheritdoc */
63
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
64
+ if (decodedTxn.method?.name === iface_1.MethodNames.RejectInstruction) {
65
+ const txMethod = decodedTxn.method.args;
66
+ const id = txMethod.id;
67
+ const portfolio = txMethod.portfolio;
68
+ const validationResult = txnSchema_1.RejectInstructionTransactionSchema.validate({
69
+ id,
70
+ portfolio,
71
+ });
72
+ if (validationResult.error) {
73
+ throw new Error(`Invalid transaction: ${validationResult.error.message}`);
74
+ }
75
+ }
76
+ }
77
+ rejectInstruction(args, info) {
78
+ return (0, txwrapper_core_1.defineMethod)({
79
+ method: {
80
+ args,
81
+ name: 'rejectInstruction',
82
+ pallet: 'settlement',
83
+ },
84
+ ...info.baseTxInfo,
85
+ }, info.options);
86
+ }
87
+ }
88
+ exports.RejectInstructionBuilder = RejectInstructionBuilder;
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXVEO0FBRXZELCtDQUFpRDtBQUNqRCxtQ0FBNkY7QUFDN0YsK0NBQTRDO0FBRTVDLDJDQUFpRTtBQUNqRSw4REFBc0g7QUFFdEgsTUFBYSx3QkFBeUIsU0FBUSw4QkFBdUM7SUFJbkYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsaUJBQWlCLENBQUM7SUFDM0MsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FDM0I7WUFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDdkIsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDdkIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTzthQUM1QjtZQUNELGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxXQUFXLEVBQUUsQ0FBQztnQkFDZCxRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0YsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsYUFBcUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFlBQW9CO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQW9DLENBQUM7WUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsRUFBWSxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFhLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksK0JBQStCLENBQUMsQ0FBQztRQUNsSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1ELEVBQUUsY0FBdUI7UUFDckcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFvQyxDQUFDO1lBQ3hFLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUVyQyxNQUFNLGdCQUFnQixHQUFHLDhDQUFrQyxDQUFDLFFBQVEsQ0FBQztnQkFDbkUsRUFBRTtnQkFDRixTQUFTO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDNUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBa0MsRUFBRSxJQUFnQztRQUM1RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixNQUFNLEVBQUUsWUFBWTthQUNyQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE3RkQsNERBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHhNZXRob2QsIE1ldGhvZE5hbWVzLCBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXJBcmdzLCBQb3J0Zm9saW9LaW5kIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFJlamVjdEluc3RydWN0aW9uVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBQb2x5eEJhc2VCdWlsZGVyPFR4TWV0aG9kLCBUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX2luc3RydWN0aW9uSWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wb3J0Zm9saW9ESUQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlJlamVjdEluc3RydWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLnJlamVjdEluc3RydWN0aW9uKFxuICAgICAge1xuICAgICAgICBpZDogdGhpcy5faW5zdHJ1Y3Rpb25JZCxcbiAgICAgICAgcG9ydGZvbGlvOiB7XG4gICAgICAgICAgZGlkOiB0aGlzLl9wb3J0Zm9saW9ESUQsXG4gICAgICAgICAga2luZDogUG9ydGZvbGlvS2luZC5EZWZhdWx0LFxuICAgICAgICB9LFxuICAgICAgICBudW1iZXJPZkFzc2V0czoge1xuICAgICAgICAgIGZ1bmdpYmxlOiAxLFxuICAgICAgICAgIG5vbkZ1bmdpYmxlOiAwLFxuICAgICAgICAgIG9mZkNoYWluOiAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBpbnN0cnVjdGlvbklkIC0gVGhlIElEIG9mIHRoZSBpbnN0cnVjdGlvbiB0byBiZSByZWplY3RlZFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIGluc3RydWN0aW9uSWQoaW5zdHJ1Y3Rpb25JZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25JZCA9IGluc3RydWN0aW9uSWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHBvcnRmb2xpb0RJRCAtIFRoZSBESUQgb2YgdGhlIHBvcnRmb2xpbyBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3RydWN0aW9uXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcG9ydGZvbGlvRElEKHBvcnRmb2xpb0RJRDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fcG9ydGZvbGlvRElEID0gcG9ydGZvbGlvRElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVqZWN0SW5zdHJ1Y3Rpb24pIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyQXJncztcbiAgICAgIHRoaXMuX2luc3RydWN0aW9uSWQgPSB0eE1ldGhvZC5pZCBhcyBzdHJpbmc7XG4gICAgICB0aGlzLl9wb3J0Zm9saW9ESUQgPSB0eE1ldGhvZC5wb3J0Zm9saW8uZGlkIGFzIHN0cmluZztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgYnVpbGQgZnJvbSB0cmFuc2FjdGlvbiB3aXRoIG1ldGhvZCAke3RoaXMuX21ldGhvZD8ubmFtZX0gZm9yIFJlamVjdEluc3RydWN0aW9uQnVpbGRlcmApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVqZWN0SW5zdHJ1Y3Rpb24pIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXJBcmdzO1xuICAgICAgY29uc3QgaWQgPSB0eE1ldGhvZC5pZDtcbiAgICAgIGNvbnN0IHBvcnRmb2xpbyA9IHR4TWV0aG9kLnBvcnRmb2xpbztcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlamVjdEluc3RydWN0aW9uVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICBpZCxcbiAgICAgICAgcG9ydGZvbGlvLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVqZWN0SW5zdHJ1Y3Rpb24oYXJnczogUmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyQXJncywgaW5mbzogSW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm8pOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gZGVmaW5lTWV0aG9kKFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IHtcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIG5hbWU6ICdyZWplY3RJbnN0cnVjdGlvbicsXG4gICAgICAgICAgcGFsbGV0OiAnc2V0dGxlbWVudCcsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmluZm8uYmFzZVR4SW5mbyxcbiAgICAgIH0sXG4gICAgICBpbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -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;IA4B9G,OAAO,CAAC,yBAAyB;CAgBlC"}
@@ -0,0 +1,158 @@
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
+ const venueId = txMethod.venueId;
124
+ const settlementType = txMethod.settlementType;
125
+ const tradeDate = txMethod.tradeDate;
126
+ const valueDate = txMethod.valueDate;
127
+ const legs = txMethod.legs;
128
+ const portfolios = txMethod.portfolios;
129
+ const instructionMemo = txMethod.instructionMemo;
130
+ const mediators = txMethod.mediators;
131
+ const validationResult = txnSchema_1.AddAndAffirmWithMediatorsTransactionSchema.validate({
132
+ venueId,
133
+ settlementType,
134
+ tradeDate,
135
+ valueDate,
136
+ legs,
137
+ portfolios,
138
+ instructionMemo,
139
+ mediators,
140
+ });
141
+ if (validationResult.error) {
142
+ throw new Error(`Invalid transaction: ${validationResult.error.message}`);
143
+ }
144
+ }
145
+ }
146
+ addAndAffirmWithMediators(args, info) {
147
+ return (0, txwrapper_core_1.defineMethod)({
148
+ method: {
149
+ args,
150
+ name: 'addAndAffirmWithMediators',
151
+ pallet: 'settlement',
152
+ },
153
+ ...info.baseTxInfo,
154
+ }, info.options);
155
+ }
156
+ }
157
+ exports.TokenTransferBuilder = TokenTransferBuilder;
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUF1RDtBQUV2RCwrQ0FBaUQ7QUFDakQsbUNBQThHO0FBQzlHLCtDQUE0QztBQUU1QywyQ0FBeUU7QUFDekUsOERBQXNIO0FBRXRILE1BQWEsb0JBQXFCLFNBQVEsOEJBQXVDO0lBTy9FLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUNuQztZQUNFLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLHNCQUFjLENBQUMsbUJBQW1CO1lBQ2xELFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUU7Z0JBQ0o7b0JBQ0UsUUFBUSxFQUFFO3dCQUNSLE1BQU0sRUFBRTs0QkFDTixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVE7NEJBQ2xCLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU87eUJBQzVCO3dCQUNELFFBQVEsRUFBRTs0QkFDUixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07NEJBQ2hCLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU87eUJBQzVCO3dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO3FCQUNyQjtpQkFDRjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWO29CQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDbEIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTztpQkFDNUI7YUFDRjtZQUNELGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUMzQixTQUFTLEVBQUUsRUFBRTtTQUNkLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxJQUFZO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQXFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLHNDQUFzQyxDQUFDLENBQUM7UUFDekcsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXVCO1FBQ3JHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3RFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBcUMsQ0FBQztZQUN6RSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDL0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN2QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxzREFBMEMsQ0FBQyxRQUFRLENBQUM7Z0JBQzNFLE9BQU87Z0JBQ1AsY0FBYztnQkFDZCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsSUFBSTtnQkFDSixVQUFVO2dCQUNWLGVBQWU7Z0JBQ2YsU0FBUzthQUNWLENBQUMsQ0FBQztZQUNILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QixDQUMvQixJQUFtQyxFQUNuQyxJQUFnQztRQUVoQyxPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxNQUFNLEVBQUUsWUFBWTthQUNyQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEzS0Qsb0RBMktDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHhNZXRob2QsIE1ldGhvZE5hbWVzLCBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncywgU2V0dGxlbWVudFR5cGUsIFBvcnRmb2xpb0tpbmQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuaW1wb3J0IHsgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc1RyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBQb2x5eEJhc2VCdWlsZGVyPFR4TWV0aG9kLCBUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX2Fzc2V0SWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZnJvbURJRDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RvRElEOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICAgIHtcbiAgICAgICAgdmVudWVJZDogbnVsbCxcbiAgICAgICAgc2V0dGxlbWVudFR5cGU6IFNldHRsZW1lbnRUeXBlLlNldHRsZU9uQWZmaXJtYXRpb24sXG4gICAgICAgIHRyYWRlRGF0ZTogbnVsbCxcbiAgICAgICAgdmFsdWVEYXRlOiBudWxsLFxuICAgICAgICBsZWdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuZ2libGU6IHtcbiAgICAgICAgICAgICAgc2VuZGVyOiB7XG4gICAgICAgICAgICAgICAgZGlkOiB0aGlzLl9mcm9tRElELFxuICAgICAgICAgICAgICAgIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVjZWl2ZXI6IHtcbiAgICAgICAgICAgICAgICBkaWQ6IHRoaXMuX3RvRElELFxuICAgICAgICAgICAgICAgIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYXNzZXRJZDogdGhpcy5fYXNzZXRJZCxcbiAgICAgICAgICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBvcnRmb2xpb3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaWQ6IHRoaXMuX2Zyb21ESUQsXG4gICAgICAgICAgICBraW5kOiBQb3J0Zm9saW9LaW5kLkRlZmF1bHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5zdHJ1Y3Rpb25NZW1vOiB0aGlzLl9tZW1vLFxuICAgICAgICBtZWRpYXRvcnM6IFtdLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIFRoZSBhbW91bnQgdG8gdHJhbnNmZXIuXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICovXG4gIGFzc2V0SWQoYXNzZXRJZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYXNzZXRJZCA9IGFzc2V0SWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYW1vdW50IHRvIHRyYW5zZmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gVGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1lbW8gZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogUGFkcyB0aGUgbWVtbyBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIHRvIGVuc3VyZSBpdCBpcyAzMiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZW1vIC0gVGhlIG1lbW8gZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBwYWRkZWRNZW1vID0gbWVtby5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB0aGlzLl9tZW1vID0gcGFkZGVkTWVtbztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgRElELlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZnJvbURJRCAtIFRoZSBzZW5kZXIgRElELlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBmcm9tRElEKGZyb21ESUQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Zyb21ESUQgPSBmcm9tRElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIERJRC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvRElEIC0gVGhlIHJlY2VpdmVyIERJRC5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgdG9ESUQodG9ESUQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3RvRElEID0gdG9ESUQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5BZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzO1xuICAgICAgdGhpcy5hc3NldElkKHR4TWV0aG9kLmxlZ3NbMF0uZnVuZ2libGUuYXNzZXRJZCk7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLmFtb3VudCk7XG4gICAgICB0aGlzLm1lbW8odHhNZXRob2QuaW5zdHJ1Y3Rpb25NZW1vKTtcbiAgICAgIHRoaXMuZnJvbURJRCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnNlbmRlci5kaWQpO1xuICAgICAgdGhpcy50b0RJRCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnJlY2VpdmVyLmRpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncztcbiAgICAgIGNvbnN0IHZlbnVlSWQgPSB0eE1ldGhvZC52ZW51ZUlkO1xuICAgICAgY29uc3Qgc2V0dGxlbWVudFR5cGUgPSB0eE1ldGhvZC5zZXR0bGVtZW50VHlwZTtcbiAgICAgIGNvbnN0IHRyYWRlRGF0ZSA9IHR4TWV0aG9kLnRyYWRlRGF0ZTtcbiAgICAgIGNvbnN0IHZhbHVlRGF0ZSA9IHR4TWV0aG9kLnZhbHVlRGF0ZTtcbiAgICAgIGNvbnN0IGxlZ3MgPSB0eE1ldGhvZC5sZWdzO1xuICAgICAgY29uc3QgcG9ydGZvbGlvcyA9IHR4TWV0aG9kLnBvcnRmb2xpb3M7XG4gICAgICBjb25zdCBpbnN0cnVjdGlvbk1lbW8gPSB0eE1ldGhvZC5pbnN0cnVjdGlvbk1lbW87XG4gICAgICBjb25zdCBtZWRpYXRvcnMgPSB0eE1ldGhvZC5tZWRpYXRvcnM7XG5cbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICB2ZW51ZUlkLFxuICAgICAgICBzZXR0bGVtZW50VHlwZSxcbiAgICAgICAgdHJhZGVEYXRlLFxuICAgICAgICB2YWx1ZURhdGUsXG4gICAgICAgIGxlZ3MsXG4gICAgICAgIHBvcnRmb2xpb3MsXG4gICAgICAgIGluc3RydWN0aW9uTWVtbyxcbiAgICAgICAgbWVkaWF0b3JzLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICBhcmdzOiBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbiAgICBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb1xuICApOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gZGVmaW5lTWV0aG9kKFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IHtcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIG5hbWU6ICdhZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzJyxcbiAgICAgICAgICBwYWxsZXQ6ICdzZXR0bGVtZW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uaW5mby5iYXNlVHhJbmZvLFxuICAgICAgfSxcbiAgICAgIGluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==