@bitgo-beta/sdk-coin-polyx 1.0.1-beta.113 → 1.0.1-beta.1130

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 (225) 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 +3 -2
  8. package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -1
  9. package/dist/src/lib/batchStakingBuilder.js +108 -31
  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 +129 -0
  13. package/dist/src/lib/bondExtraBuilder.d.ts +3 -2
  14. package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -1
  15. package/dist/src/lib/bondExtraBuilder.js +8 -6
  16. package/dist/src/lib/constants.d.ts +21 -0
  17. package/dist/src/lib/constants.d.ts.map +1 -0
  18. package/dist/src/lib/constants.js +24 -0
  19. package/dist/src/lib/hexTokenTransferBuilder.d.ts +24 -0
  20. package/dist/src/lib/hexTokenTransferBuilder.d.ts.map +1 -0
  21. package/dist/src/lib/hexTokenTransferBuilder.js +46 -0
  22. package/dist/src/lib/hexTransferBuilder.d.ts +28 -0
  23. package/dist/src/lib/hexTransferBuilder.d.ts.map +1 -0
  24. package/dist/src/lib/hexTransferBuilder.js +51 -0
  25. package/dist/src/lib/iface.d.ts +221 -10
  26. package/dist/src/lib/iface.d.ts.map +1 -1
  27. package/dist/src/lib/iface.js +48 -1
  28. package/dist/src/lib/index.d.ts +32 -1
  29. package/dist/src/lib/index.d.ts.map +1 -1
  30. package/dist/src/lib/index.js +61 -5
  31. package/dist/src/lib/nominateBuilder.d.ts +18 -0
  32. package/dist/src/lib/nominateBuilder.d.ts.map +1 -0
  33. package/dist/src/lib/nominateBuilder.js +101 -0
  34. package/dist/src/lib/preApproveAssetBuilder.d.ts +33 -0
  35. package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/preApproveAssetBuilder.js +77 -0
  37. package/dist/src/lib/registerDidWithCDDBuilder.d.ts +2 -2
  38. package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
  39. package/dist/src/lib/registerDidWithCDDBuilder.js +10 -5
  40. package/dist/src/lib/rejectInstructionBuilder.d.ts +29 -0
  41. package/dist/src/lib/rejectInstructionBuilder.d.ts.map +1 -0
  42. package/dist/src/lib/rejectInstructionBuilder.js +89 -0
  43. package/dist/src/lib/tokenTransferBuilder.d.ts +64 -0
  44. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  45. package/dist/src/lib/tokenTransferBuilder.js +167 -0
  46. package/dist/src/lib/transaction.d.ts +21 -2
  47. package/dist/src/lib/transaction.d.ts.map +1 -1
  48. package/dist/src/lib/transaction.js +132 -2
  49. package/dist/src/lib/transactionBuilderFactory.d.ts +50 -0
  50. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  51. package/dist/src/lib/transactionBuilderFactory.js +272 -12
  52. package/dist/src/lib/transferBuilder.d.ts +4 -2
  53. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  54. package/dist/src/lib/transferBuilder.js +12 -4
  55. package/dist/src/lib/txnSchema.d.ts +38 -0
  56. package/dist/src/lib/txnSchema.d.ts.map +1 -1
  57. package/dist/src/lib/txnSchema.js +183 -6
  58. package/dist/src/lib/unbondBuilder.d.ts +37 -0
  59. package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/unbondBuilder.js +100 -0
  61. package/dist/src/lib/utils.d.ts +40 -0
  62. package/dist/src/lib/utils.d.ts.map +1 -1
  63. package/dist/src/lib/utils.js +94 -1
  64. package/dist/src/lib/v8BatchStakingBuilder.d.ts +85 -0
  65. package/dist/src/lib/v8BatchStakingBuilder.d.ts.map +1 -0
  66. package/dist/src/lib/v8BatchStakingBuilder.js +266 -0
  67. package/dist/src/lib/v8BatchUnstakingBuilder.d.ts +11 -0
  68. package/dist/src/lib/v8BatchUnstakingBuilder.d.ts.map +1 -0
  69. package/dist/src/lib/v8BatchUnstakingBuilder.js +21 -0
  70. package/dist/src/lib/v8BondExtraBuilder.d.ts +11 -0
  71. package/dist/src/lib/v8BondExtraBuilder.d.ts.map +1 -0
  72. package/dist/src/lib/v8BondExtraBuilder.js +21 -0
  73. package/dist/src/lib/v8HexTokenTransferBuilder.d.ts +20 -0
  74. package/dist/src/lib/v8HexTokenTransferBuilder.d.ts.map +1 -0
  75. package/dist/src/lib/v8HexTokenTransferBuilder.js +42 -0
  76. package/dist/src/lib/v8HexTransferBuilder.d.ts +11 -0
  77. package/dist/src/lib/v8HexTransferBuilder.d.ts.map +1 -0
  78. package/dist/src/lib/v8HexTransferBuilder.js +21 -0
  79. package/dist/src/lib/v8NominateBuilder.d.ts +11 -0
  80. package/dist/src/lib/v8NominateBuilder.d.ts.map +1 -0
  81. package/dist/src/lib/v8NominateBuilder.js +21 -0
  82. package/dist/src/lib/v8PreApproveAssetBuilder.d.ts +11 -0
  83. package/dist/src/lib/v8PreApproveAssetBuilder.d.ts.map +1 -0
  84. package/dist/src/lib/v8PreApproveAssetBuilder.js +21 -0
  85. package/dist/src/lib/v8RegisterDidBuilder.d.ts +47 -0
  86. package/dist/src/lib/v8RegisterDidBuilder.d.ts.map +1 -0
  87. package/dist/src/lib/v8RegisterDidBuilder.js +96 -0
  88. package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts +11 -0
  89. package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
  90. package/dist/src/lib/v8RegisterDidWithCDDBuilder.js +21 -0
  91. package/dist/src/lib/v8TokenTransferBuilder.d.ts +24 -0
  92. package/dist/src/lib/v8TokenTransferBuilder.d.ts.map +1 -0
  93. package/dist/src/lib/v8TokenTransferBuilder.js +101 -0
  94. package/dist/src/lib/v8TransferBuilder.d.ts +11 -0
  95. package/dist/src/lib/v8TransferBuilder.d.ts.map +1 -0
  96. package/dist/src/lib/v8TransferBuilder.js +21 -0
  97. package/dist/src/lib/v8UnbondBuilder.d.ts +11 -0
  98. package/dist/src/lib/v8UnbondBuilder.d.ts.map +1 -0
  99. package/dist/src/lib/v8UnbondBuilder.js +21 -0
  100. package/dist/src/lib/v8WithdrawUnbondedBuilder.d.ts +11 -0
  101. package/dist/src/lib/v8WithdrawUnbondedBuilder.d.ts.map +1 -0
  102. package/dist/src/lib/v8WithdrawUnbondedBuilder.js +21 -0
  103. package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
  104. package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
  105. package/dist/src/lib/withdrawUnbondedBuilder.js +91 -0
  106. package/dist/src/polyx.d.ts +45 -9
  107. package/dist/src/polyx.d.ts.map +1 -1
  108. package/dist/src/polyx.js +269 -22
  109. package/dist/src/polyxToken.d.ts +20 -0
  110. package/dist/src/polyxToken.d.ts.map +1 -0
  111. package/dist/src/polyxToken.js +55 -0
  112. package/dist/src/register.d.ts.map +1 -1
  113. package/dist/src/register.js +5 -1
  114. package/dist/src/resources/index.d.ts +2 -0
  115. package/dist/src/resources/index.d.ts.map +1 -1
  116. package/dist/src/resources/index.js +3 -1
  117. package/dist/src/resources/mainnetV8.d.ts +13 -0
  118. package/dist/src/resources/mainnetV8.d.ts.map +1 -0
  119. package/dist/src/resources/mainnetV8.js +24 -0
  120. package/dist/src/resources/testnetV8.d.ts +13 -0
  121. package/dist/src/resources/testnetV8.d.ts.map +1 -0
  122. package/dist/src/resources/testnetV8.js +16 -0
  123. package/dist/src/tpolyx.d.ts +7 -0
  124. package/dist/src/tpolyx.d.ts.map +1 -1
  125. package/dist/src/tpolyx.js +11 -1
  126. package/dist/test/integration/index.d.ts +1 -0
  127. package/dist/test/integration/index.d.ts.map +1 -0
  128. package/dist/test/integration/index.js +1 -0
  129. package/dist/test/resources/index.d.ts +139 -0
  130. package/dist/test/resources/index.d.ts.map +1 -0
  131. package/dist/test/resources/index.js +150 -0
  132. package/dist/test/resources/mainnet.d.ts +2 -0
  133. package/dist/test/resources/mainnet.d.ts.map +1 -0
  134. package/dist/test/resources/mainnet.js +5 -0
  135. package/dist/test/resources/materialData.json +8 -0
  136. package/dist/test/resources/materialDataModified.json +8 -0
  137. package/dist/test/resources/testnet.d.ts +2 -0
  138. package/dist/test/resources/testnet.d.ts.map +1 -0
  139. package/dist/test/resources/testnet.js +5 -0
  140. package/dist/test/resources/wrwUsers.d.ts +19 -0
  141. package/dist/test/resources/wrwUsers.d.ts.map +1 -0
  142. package/dist/test/resources/wrwUsers.js +60 -0
  143. package/dist/test/unit/polyx.d.ts +2 -0
  144. package/dist/test/unit/polyx.d.ts.map +1 -0
  145. package/dist/test/unit/polyx.js +356 -0
  146. package/dist/test/unit/transactionBuilder/base.d.ts +4 -0
  147. package/dist/test/unit/transactionBuilder/base.d.ts.map +1 -0
  148. package/dist/test/unit/transactionBuilder/base.js +245 -0
  149. package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts +2 -0
  150. package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts.map +1 -0
  151. package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +309 -0
  152. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts +2 -0
  153. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts.map +1 -0
  154. package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.js +159 -0
  155. package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts +2 -0
  156. package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts.map +1 -0
  157. package/dist/test/unit/transactionBuilder/bondExtraBuilder.js +158 -0
  158. package/dist/test/unit/transactionBuilder/hexTokenTransferBuilder.d.ts +2 -0
  159. package/dist/test/unit/transactionBuilder/hexTokenTransferBuilder.d.ts.map +1 -0
  160. package/dist/test/unit/transactionBuilder/hexTokenTransferBuilder.js +261 -0
  161. package/dist/test/unit/transactionBuilder/hexTransferBuilder.d.ts +2 -0
  162. package/dist/test/unit/transactionBuilder/hexTransferBuilder.d.ts.map +1 -0
  163. package/dist/test/unit/transactionBuilder/hexTransferBuilder.js +389 -0
  164. package/dist/test/unit/transactionBuilder/nominateBuilder.d.ts +2 -0
  165. package/dist/test/unit/transactionBuilder/nominateBuilder.d.ts.map +1 -0
  166. package/dist/test/unit/transactionBuilder/nominateBuilder.js +226 -0
  167. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts +2 -0
  168. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts.map +1 -0
  169. package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.js +115 -0
  170. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts +2 -0
  171. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts.map +1 -0
  172. package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.js +302 -0
  173. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts +2 -0
  174. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts.map +1 -0
  175. package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.js +128 -0
  176. package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts +2 -0
  177. package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts.map +1 -0
  178. package/dist/test/unit/transactionBuilder/singletonRegistry.js +59 -0
  179. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  180. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  181. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +140 -0
  182. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
  183. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
  184. package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +240 -0
  185. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  186. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  187. package/dist/test/unit/transactionBuilder/transferBuilder.js +326 -0
  188. package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts +2 -0
  189. package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts.map +1 -0
  190. package/dist/test/unit/transactionBuilder/unbondBuilder.js +144 -0
  191. package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.d.ts +2 -0
  192. package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.d.ts.map +1 -0
  193. package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.js +252 -0
  194. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts +2 -0
  195. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts.map +1 -0
  196. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.js +90 -0
  197. package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts +2 -0
  198. package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts.map +1 -0
  199. package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.js +62 -0
  200. package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts +2 -0
  201. package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts.map +1 -0
  202. package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.js +45 -0
  203. package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts +2 -0
  204. package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts.map +1 -0
  205. package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.js +87 -0
  206. package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts +2 -0
  207. package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
  208. package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.js +45 -0
  209. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts +2 -0
  210. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts.map +1 -0
  211. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.js +114 -0
  212. package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts +2 -0
  213. package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts.map +1 -0
  214. package/dist/test/unit/transactionBuilder/v8TransferBuilder.js +107 -0
  215. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts +2 -0
  216. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts.map +1 -0
  217. package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.js +138 -0
  218. package/dist/test/unit/utils.d.ts +2 -0
  219. package/dist/test/unit/utils.d.ts.map +1 -0
  220. package/dist/test/unit/utils.js +143 -0
  221. package/dist/tsconfig.tsbuildinfo +1 -0
  222. package/package.json +15 -10
  223. package/.eslintignore +0 -4
  224. package/.mocharc.yml +0 -8
  225. package/CHANGELOG.md +0 -49
@@ -2,11 +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
10
  const transaction_1 = require("./transaction");
9
- class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder {
11
+ // [CLEANUP-V8-OLD] v7 CDD-provider path (identity.cddRegisterDidWithCdd, 0x0714). Still present
12
+ // and callable on v8 at the same call index — kept for Flipt rollback alongside the v8 DID
13
+ // Registrar path (V8RegisterDidBuilder, identity.registerDid @ 0x0718).
14
+ class RegisterDidWithCDDBuilder extends baseBuilder_1.PolyxBaseBuilder {
10
15
  constructor(_coinConfig) {
11
16
  super(_coinConfig);
12
17
  this._transaction = new transaction_1.Transaction(_coinConfig);
@@ -37,18 +42,18 @@ class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder
37
42
  /** @inheritdoc */
38
43
  fromImplementation(rawTransaction) {
39
44
  const tx = super.fromImplementation(rawTransaction);
40
- if (this._method?.name === abstract_substrate_1.Interface.MethodNames.RegisterDidWithCDD) {
45
+ if (this._method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
41
46
  const txMethod = this._method.args;
42
47
  this.to({ address: abstract_substrate_1.utils.decodeSubstrateAddress(txMethod.targetAccount, this.getAddressFormat()) });
43
48
  }
44
49
  else {
45
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected transferWithMemo`);
50
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected RegisterDidWithCDD`);
46
51
  }
47
52
  return tx;
48
53
  }
49
54
  /** @inheritdoc */
50
55
  validateDecodedTransaction(decodedTxn, rawTransaction) {
51
- if (decodedTxn.method?.name === abstract_substrate_1.Interface.MethodNames.RegisterDidWithCDD) {
56
+ if (decodedTxn.method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
52
57
  const txMethod = decodedTxn.method.args;
53
58
  const targetAccount = txMethod.targetAccount;
54
59
  const secondaryKeys = txMethod.secondaryKeys;
@@ -78,4 +83,4 @@ class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder
78
83
  }
79
84
  }
80
85
  exports.RegisterDidWithCDDBuilder = RegisterDidWithCDDBuilder;
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBc0Y7QUFDdEYsOERBQXNIO0FBRXRILG1EQUE2RjtBQUU3RiwyQ0FBa0U7QUFDbEUsK0NBQTRDO0FBRTVDLE1BQWEseUJBQTBCLFNBQVEsdUNBQXlDO0lBSXRGLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLG9CQUFvQixDQUFDO0lBQzlDLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQzVCO1lBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ3ZCLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1NBQ2IsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQWU7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEtBQUssOEJBQVMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQThCLENBQUM7WUFDN0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSwwQkFBSyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEcsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksa0NBQXVCLENBQUMsNkJBQTZCLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2xILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQsRUFBRSxjQUF1QjtRQUNyRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLDhCQUFTLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDekUsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE4QixDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsK0NBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBNEIsRUFBRSxJQUFnQztRQUN2RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyRkQsOERBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyLCBJbnRlcmZhY2UsIHV0aWxzIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBkZWZpbmVNZXRob2QsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSwgQmFzZUFkZHJlc3MsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEaWRXaXRoQ0REQXJncywgVHhNZXRob2QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZXRob2Q6IFR4TWV0aG9kO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuUmVnaXN0ZXJEaWRXaXRoQ0REKFxuICAgICAge1xuICAgICAgICB0YXJnZXRBY2NvdW50OiB0aGlzLl90byxcbiAgICAgICAgc2Vjb25kYXJ5S2V5czogW10sXG4gICAgICAgIGV4cGlyeTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0XG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIHRvKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl90byA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuUmVnaXN0ZXJEaWRXaXRoQ0REKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFJlZ2lzdGVyRGlkV2l0aENEREFyZ3M7XG4gICAgICB0aGlzLnRvKHsgYWRkcmVzczogdXRpbHMuZGVjb2RlU3Vic3RyYXRlQWRkcmVzcyh0eE1ldGhvZC50YXJnZXRBY2NvdW50LCB0aGlzLmdldEFkZHJlc3NGb3JtYXQoKSkgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHRyYW5zZmVyV2l0aE1lbW9gKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZFdpdGhDRERBcmdzO1xuICAgICAgY29uc3QgdGFyZ2V0QWNjb3VudCA9IHR4TWV0aG9kLnRhcmdldEFjY291bnQ7XG4gICAgICBjb25zdCBzZWNvbmRhcnlLZXlzID0gdHhNZXRob2Quc2Vjb25kYXJ5S2V5cztcbiAgICAgIGNvbnN0IGV4cGlyeSA9IHR4TWV0aG9kLmV4cGlyeTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5IH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgdHJhbnNhY3Rpb24gdG8gcmVnaXN0ZXIgYSBESUQgd2l0aCBDREQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtSZWdpc3RlckRpZFdpdGhDRERBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIGNkZFJlZ2lzdGVyRGlkV2l0aENkZCBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgRElEIHJlZ2lzdHJhdGlvbiB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBESUQgcmVnaXN0cmF0aW9uIHdpdGggQ0REXG4gICAqL1xuICBwcml2YXRlIFJlZ2lzdGVyRGlkV2l0aENERChhcmdzOiBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2NkZFJlZ2lzdGVyRGlkV2l0aENkZCcsXG4gICAgICAgICAgcGFsbGV0OiAnaWRlbnRpdHknLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBa0U7QUFDbEUsK0NBQWlEO0FBQ2pELDhEQUFzSDtBQUV0SCxtREFBNkY7QUFDN0YsbUNBQXdFO0FBQ3hFLDJDQUFrRTtBQUNsRSwrQ0FBNEM7QUFFNUMsZ0dBQWdHO0FBQ2hHLDJGQUEyRjtBQUMzRix3RUFBd0U7QUFDeEUsTUFBYSx5QkFBMEIsU0FBUSw4QkFBdUM7SUFJcEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUI7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDdkIsYUFBYSxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE4QixDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksK0JBQStCLENBQUMsQ0FBQztRQUNwSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1ELEVBQUUsY0FBdUI7UUFDckcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE4QixDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsK0NBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBNEIsRUFBRSxJQUFnQztRQUN2RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyRkQsOERBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJmYWNlLCB1dGlscyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXN1YnN0cmF0ZSc7XG5pbXBvcnQgeyBQb2x5eEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9iYXNlQnVpbGRlcic7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEJhc2VBZGRyZXNzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkV2l0aENEREFyZ3MsIFR4TWV0aG9kLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEaWRXaXRoQ0REVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG4vLyBbQ0xFQU5VUC1WOC1PTERdIHY3IENERC1wcm92aWRlciBwYXRoIChpZGVudGl0eS5jZGRSZWdpc3RlckRpZFdpdGhDZGQsIDB4MDcxNCkuIFN0aWxsIHByZXNlbnRcbi8vIGFuZCBjYWxsYWJsZSBvbiB2OCBhdCB0aGUgc2FtZSBjYWxsIGluZGV4IOKAlCBrZXB0IGZvciBGbGlwdCByb2xsYmFjayBhbG9uZ3NpZGUgdGhlIHY4IERJRFxuLy8gUmVnaXN0cmFyIHBhdGggKFY4UmVnaXN0ZXJEaWRCdWlsZGVyLCBpZGVudGl0eS5yZWdpc3RlckRpZCBAIDB4MDcxOCkuXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZXRob2Q6IFR4TWV0aG9kO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuUmVnaXN0ZXJEaWRXaXRoQ0REKFxuICAgICAge1xuICAgICAgICB0YXJnZXRBY2NvdW50OiB0aGlzLl90byxcbiAgICAgICAgc2Vjb25kYXJ5S2V5czogW10sXG4gICAgICAgIGV4cGlyeTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0XG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIHRvKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl90byA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUmVnaXN0ZXJEaWRXaXRoQ0REQXJncztcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVTdWJzdHJhdGVBZGRyZXNzKHR4TWV0aG9kLnRhcmdldEFjY291bnQsIHRoaXMuZ2V0QWRkcmVzc0Zvcm1hdCgpKSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgUmVnaXN0ZXJEaWRXaXRoQ0REYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZFdpdGhDRERBcmdzO1xuICAgICAgY29uc3QgdGFyZ2V0QWNjb3VudCA9IHR4TWV0aG9kLnRhcmdldEFjY291bnQ7XG4gICAgICBjb25zdCBzZWNvbmRhcnlLZXlzID0gdHhNZXRob2Quc2Vjb25kYXJ5S2V5cztcbiAgICAgIGNvbnN0IGV4cGlyeSA9IHR4TWV0aG9kLmV4cGlyeTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5IH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgdHJhbnNhY3Rpb24gdG8gcmVnaXN0ZXIgYSBESUQgd2l0aCBDREQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtSZWdpc3RlckRpZFdpdGhDRERBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIGNkZFJlZ2lzdGVyRGlkV2l0aENkZCBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgRElEIHJlZ2lzdHJhdGlvbiB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBESUQgcmVnaXN0cmF0aW9uIHdpdGggQ0REXG4gICAqL1xuICBwcml2YXRlIFJlZ2lzdGVyRGlkV2l0aENERChhcmdzOiBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2NkZFJlZ2lzdGVyRGlkV2l0aENkZCcsXG4gICAgICAgICAgcGFsbGV0OiAnaWRlbnRpdHknLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -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,64 @@
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, AddAndAffirmWithMediatorsArgs } 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
+ /**
55
+ * Populates builder state from decoded method args. Extracted as its own method so
56
+ * V8TokenTransferBuilder can override just the AssetHolder-shaped field access while
57
+ * reusing the rest of fromImplementation.
58
+ */
59
+ protected populateFromMethodArgs(txMethod: AddAndAffirmWithMediatorsArgs): void;
60
+ /** @inheritdoc */
61
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
62
+ private addAndAffirmWithMediators;
63
+ }
64
+ //# 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,EAAe,6BAA6B,EAAiC,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAItH,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;IAUjE;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,6BAA6B,GAAG,IAAI;IAQ/E,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IA4B9G,OAAO,CAAC,yBAAyB;CAgBlC"}
@@ -0,0 +1,167 @@
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
+ // [CLEANUP-V8-OLD] v7 settlement.addAndAffirmWithMediators — bare PortfolioId legs/portfolios.
11
+ // Kept for Flipt rollback alongside V8TokenTransferBuilder (AssetHolder-wrapped legs/holderSet).
12
+ class TokenTransferBuilder extends baseBuilder_1.PolyxBaseBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ this._transaction = new transaction_1.Transaction(_coinConfig);
16
+ }
17
+ get transactionType() {
18
+ return sdk_core_1.TransactionType.SendToken;
19
+ }
20
+ buildTransaction() {
21
+ const baseTxInfo = this.createBaseTxInfo();
22
+ return this.addAndAffirmWithMediators({
23
+ venueId: null,
24
+ settlementType: iface_1.SettlementType.SettleOnAffirmation,
25
+ tradeDate: null,
26
+ valueDate: null,
27
+ legs: [
28
+ {
29
+ fungible: {
30
+ sender: {
31
+ did: this._fromDID,
32
+ kind: iface_1.PortfolioKind.Default,
33
+ },
34
+ receiver: {
35
+ did: this._toDID,
36
+ kind: iface_1.PortfolioKind.Default,
37
+ },
38
+ assetId: this._assetId,
39
+ amount: this._amount,
40
+ },
41
+ },
42
+ ],
43
+ portfolios: [
44
+ {
45
+ did: this._fromDID,
46
+ kind: iface_1.PortfolioKind.Default,
47
+ },
48
+ ],
49
+ instructionMemo: this._memo,
50
+ mediators: [],
51
+ }, baseTxInfo);
52
+ }
53
+ /**
54
+ * Sets the amount to transfer.
55
+ *
56
+ * @param {string} amount - The amount to transfer.
57
+ * @returns {this} The current instance of the builder.
58
+ */
59
+ assetId(assetId) {
60
+ this._assetId = assetId;
61
+ return this;
62
+ }
63
+ /**
64
+ * Sets the amount to transfer.
65
+ *
66
+ * @param {string} amount - The amount to transfer.
67
+ * @returns {this} The current instance of the builder.
68
+ */
69
+ amount(amount) {
70
+ this._amount = amount;
71
+ return this;
72
+ }
73
+ /**
74
+ * Sets the memo for the transaction.
75
+ * Pads the memo on the left with zeros to ensure it is 32 characters long.
76
+ *
77
+ * @param {string} memo - The memo for the transaction.
78
+ * @returns {this} The current instance of the builder.
79
+ */
80
+ memo(memo) {
81
+ const paddedMemo = memo.padStart(32, '0');
82
+ this._memo = paddedMemo;
83
+ return this;
84
+ }
85
+ /**
86
+ * Sets the sender DID.
87
+ *
88
+ * @param {string} fromDID - The sender DID.
89
+ * @returns {this} The current instance of the builder.
90
+ */
91
+ fromDID(fromDID) {
92
+ this._fromDID = fromDID;
93
+ return this;
94
+ }
95
+ /**
96
+ * Sets the receiver DID.
97
+ *
98
+ * @param {string} toDID - The receiver DID.
99
+ * @returns {this} The current instance of the builder.
100
+ */
101
+ toDID(toDID) {
102
+ this._toDID = toDID;
103
+ return this;
104
+ }
105
+ /** @inheritdoc */
106
+ fromImplementation(rawTransaction) {
107
+ const tx = super.fromImplementation(rawTransaction);
108
+ if (this._method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
109
+ this.populateFromMethodArgs(this._method.args);
110
+ }
111
+ else {
112
+ throw new Error(`Invalid Transaction Type: ${this._method?.name}. Expected AddAndAffirmWithMediators`);
113
+ }
114
+ return tx;
115
+ }
116
+ /**
117
+ * Populates builder state from decoded method args. Extracted as its own method so
118
+ * V8TokenTransferBuilder can override just the AssetHolder-shaped field access while
119
+ * reusing the rest of fromImplementation.
120
+ */
121
+ populateFromMethodArgs(txMethod) {
122
+ this.assetId(txMethod.legs[0].fungible.assetId);
123
+ this.amount(txMethod.legs[0].fungible.amount);
124
+ this.memo(txMethod.instructionMemo);
125
+ this.fromDID(txMethod.legs[0].fungible.sender.did);
126
+ this.toDID(txMethod.legs[0].fungible.receiver.did);
127
+ }
128
+ /** @inheritdoc */
129
+ validateDecodedTransaction(decodedTxn, rawTransaction) {
130
+ if (decodedTxn.method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
131
+ const txMethod = decodedTxn.method.args;
132
+ const venueId = txMethod.venueId;
133
+ const settlementType = txMethod.settlementType;
134
+ const tradeDate = txMethod.tradeDate;
135
+ const valueDate = txMethod.valueDate;
136
+ const legs = txMethod.legs;
137
+ const portfolios = txMethod.portfolios;
138
+ const instructionMemo = txMethod.instructionMemo;
139
+ const mediators = txMethod.mediators;
140
+ const validationResult = txnSchema_1.AddAndAffirmWithMediatorsTransactionSchema.validate({
141
+ venueId,
142
+ settlementType,
143
+ tradeDate,
144
+ valueDate,
145
+ legs,
146
+ portfolios,
147
+ instructionMemo,
148
+ mediators,
149
+ });
150
+ if (validationResult.error) {
151
+ throw new Error(`Invalid transaction: ${validationResult.error.message}`);
152
+ }
153
+ }
154
+ }
155
+ addAndAffirmWithMediators(args, info) {
156
+ return (0, txwrapper_core_1.defineMethod)({
157
+ method: {
158
+ args,
159
+ name: 'addAndAffirmWithMediators',
160
+ pallet: 'settlement',
161
+ },
162
+ ...info.baseTxInfo,
163
+ }, info.options);
164
+ }
165
+ }
166
+ exports.TokenTransferBuilder = TokenTransferBuilder;
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUF1RDtBQUV2RCwrQ0FBaUQ7QUFDakQsbUNBQThHO0FBQzlHLCtDQUE0QztBQUU1QywyQ0FBeUU7QUFDekUsOERBQXNIO0FBRXRILCtGQUErRjtBQUMvRixpR0FBaUc7QUFDakcsTUFBYSxvQkFBcUIsU0FBUSw4QkFBdUM7SUFPL0UsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFFUyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQ25DO1lBQ0UsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsc0JBQWMsQ0FBQyxtQkFBbUI7WUFDbEQsU0FBUyxFQUFFLElBQUk7WUFDZixTQUFTLEVBQUUsSUFBSTtZQUNmLElBQUksRUFBRTtnQkFDSjtvQkFDRSxRQUFRLEVBQUU7d0JBQ1IsTUFBTSxFQUFFOzRCQUNOLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTs0QkFDbEIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTzt5QkFDNUI7d0JBQ0QsUUFBUSxFQUFFOzRCQUNSLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTTs0QkFDaEIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTzt5QkFDNUI7d0JBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU87cUJBQ3JCO2lCQUNGO2FBQ0Y7WUFDRCxVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUNsQixJQUFJLEVBQUUscUJBQWEsQ0FBQyxPQUFPO2lCQUM1QjthQUNGO1lBQ0QsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQzNCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxPQUFlO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLElBQVk7UUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxPQUFlO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLEtBQWE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7UUFDakQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ2pFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQXFDLENBQUMsQ0FBQztRQUNsRixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxzQ0FBc0MsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sc0JBQXNCLENBQUMsUUFBdUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQsRUFBRSxjQUF1QjtRQUNyRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUN0RSxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQXFDLENBQUM7WUFDekUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1lBQy9DLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDckMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzNCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDdkMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNqRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBRXJDLE1BQU0sZ0JBQWdCLEdBQUcsc0RBQTBDLENBQUMsUUFBUSxDQUFDO2dCQUMzRSxPQUFPO2dCQUNQLGNBQWM7Z0JBQ2QsU0FBUztnQkFDVCxTQUFTO2dCQUNULElBQUk7Z0JBQ0osVUFBVTtnQkFDVixlQUFlO2dCQUNmLFNBQVM7YUFDVixDQUFDLENBQUM7WUFDSCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUM1RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsSUFBbUMsRUFDbkMsSUFBZ0M7UUFFaEMsT0FBTyxJQUFBLDZCQUFZLEVBQ2pCO1lBQ0UsTUFBTSxFQUFFO2dCQUNOLElBQUk7Z0JBQ0osSUFBSSxFQUFFLDJCQUEyQjtnQkFDakMsTUFBTSxFQUFFLFlBQVk7YUFDckI7WUFDRCxHQUFHLElBQUksQ0FBQyxVQUFVO1NBQ25CLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbkxELG9EQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IFR4TWV0aG9kLCBNZXRob2ROYW1lcywgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3MsIFNldHRsZW1lbnRUeXBlLCBQb3J0Zm9saW9LaW5kIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBkZWZpbmVNZXRob2QsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcblxuLy8gW0NMRUFOVVAtVjgtT0xEXSB2NyBzZXR0bGVtZW50LmFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMg4oCUIGJhcmUgUG9ydGZvbGlvSWQgbGVncy9wb3J0Zm9saW9zLlxuLy8gS2VwdCBmb3IgRmxpcHQgcm9sbGJhY2sgYWxvbmdzaWRlIFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgKEFzc2V0SG9sZGVyLXdyYXBwZWQgbGVncy9ob2xkZXJTZXQpLlxuZXhwb3J0IGNsYXNzIFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgUG9seXhCYXNlQnVpbGRlcjxUeE1ldGhvZCwgVHJhbnNhY3Rpb24+IHtcbiAgcHJvdGVjdGVkIF9hc3NldElkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfbWVtbzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2Zyb21ESUQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF90b0RJRDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLmFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMoXG4gICAgICB7XG4gICAgICAgIHZlbnVlSWQ6IG51bGwsXG4gICAgICAgIHNldHRsZW1lbnRUeXBlOiBTZXR0bGVtZW50VHlwZS5TZXR0bGVPbkFmZmlybWF0aW9uLFxuICAgICAgICB0cmFkZURhdGU6IG51bGwsXG4gICAgICAgIHZhbHVlRGF0ZTogbnVsbCxcbiAgICAgICAgbGVnczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZ1bmdpYmxlOiB7XG4gICAgICAgICAgICAgIHNlbmRlcjoge1xuICAgICAgICAgICAgICAgIGRpZDogdGhpcy5fZnJvbURJRCxcbiAgICAgICAgICAgICAgICBraW5kOiBQb3J0Zm9saW9LaW5kLkRlZmF1bHQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHJlY2VpdmVyOiB7XG4gICAgICAgICAgICAgICAgZGlkOiB0aGlzLl90b0RJRCxcbiAgICAgICAgICAgICAgICBraW5kOiBQb3J0Zm9saW9LaW5kLkRlZmF1bHQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGFzc2V0SWQ6IHRoaXMuX2Fzc2V0SWQsXG4gICAgICAgICAgICAgIGFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBwb3J0Zm9saW9zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGlkOiB0aGlzLl9mcm9tRElELFxuICAgICAgICAgICAga2luZDogUG9ydGZvbGlvS2luZC5EZWZhdWx0LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGluc3RydWN0aW9uTWVtbzogdGhpcy5fbWVtbyxcbiAgICAgICAgbWVkaWF0b3JzOiBbXSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhbW91bnQgdG8gdHJhbnNmZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnQgLSBUaGUgYW1vdW50IHRvIHRyYW5zZmVyLlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBhc3NldElkKGFzc2V0SWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBhc3NldElkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIFRoZSBhbW91bnQgdG8gdHJhbnNmZXIuXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtZW1vIGZvciB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIFBhZHMgdGhlIG1lbW8gb24gdGhlIGxlZnQgd2l0aCB6ZXJvcyB0byBlbnN1cmUgaXQgaXMgMzIgY2hhcmFjdGVycyBsb25nLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtbyAtIFRoZSBtZW1vIGZvciB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICovXG4gIG1lbW8obWVtbzogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgcGFkZGVkTWVtbyA9IG1lbW8ucGFkU3RhcnQoMzIsICcwJyk7XG4gICAgdGhpcy5fbWVtbyA9IHBhZGRlZE1lbW87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgc2VuZGVyIERJRC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZyb21ESUQgLSBUaGUgc2VuZGVyIERJRC5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgZnJvbURJRChmcm9tRElEOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9mcm9tRElEID0gZnJvbURJRDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSByZWNlaXZlciBESUQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0b0RJRCAtIFRoZSByZWNlaXZlciBESUQuXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICovXG4gIHRvRElEKHRvRElEOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl90b0RJRCA9IHRvRElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycykge1xuICAgICAgdGhpcy5wb3B1bGF0ZUZyb21NZXRob2RBcmdzKHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc2ApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKipcbiAgICogUG9wdWxhdGVzIGJ1aWxkZXIgc3RhdGUgZnJvbSBkZWNvZGVkIG1ldGhvZCBhcmdzLiBFeHRyYWN0ZWQgYXMgaXRzIG93biBtZXRob2Qgc29cbiAgICogVjhUb2tlblRyYW5zZmVyQnVpbGRlciBjYW4gb3ZlcnJpZGUganVzdCB0aGUgQXNzZXRIb2xkZXItc2hhcGVkIGZpZWxkIGFjY2VzcyB3aGlsZVxuICAgKiByZXVzaW5nIHRoZSByZXN0IG9mIGZyb21JbXBsZW1lbnRhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBwb3B1bGF0ZUZyb21NZXRob2RBcmdzKHR4TWV0aG9kOiBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyk6IHZvaWQge1xuICAgIHRoaXMuYXNzZXRJZCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLmFzc2V0SWQpO1xuICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLmxlZ3NbMF0uZnVuZ2libGUuYW1vdW50KTtcbiAgICB0aGlzLm1lbW8odHhNZXRob2QuaW5zdHJ1Y3Rpb25NZW1vKTtcbiAgICB0aGlzLmZyb21ESUQodHhNZXRob2QubGVnc1swXS5mdW5naWJsZS5zZW5kZXIuZGlkKTtcbiAgICB0aGlzLnRvRElEKHR4TWV0aG9kLmxlZ3NbMF0uZnVuZ2libGUucmVjZWl2ZXIuZGlkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5BZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3M7XG4gICAgICBjb25zdCB2ZW51ZUlkID0gdHhNZXRob2QudmVudWVJZDtcbiAgICAgIGNvbnN0IHNldHRsZW1lbnRUeXBlID0gdHhNZXRob2Quc2V0dGxlbWVudFR5cGU7XG4gICAgICBjb25zdCB0cmFkZURhdGUgPSB0eE1ldGhvZC50cmFkZURhdGU7XG4gICAgICBjb25zdCB2YWx1ZURhdGUgPSB0eE1ldGhvZC52YWx1ZURhdGU7XG4gICAgICBjb25zdCBsZWdzID0gdHhNZXRob2QubGVncztcbiAgICAgIGNvbnN0IHBvcnRmb2xpb3MgPSB0eE1ldGhvZC5wb3J0Zm9saW9zO1xuICAgICAgY29uc3QgaW5zdHJ1Y3Rpb25NZW1vID0gdHhNZXRob2QuaW5zdHJ1Y3Rpb25NZW1vO1xuICAgICAgY29uc3QgbWVkaWF0b3JzID0gdHhNZXRob2QubWVkaWF0b3JzO1xuXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc1RyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgICAgdmVudWVJZCxcbiAgICAgICAgc2V0dGxlbWVudFR5cGUsXG4gICAgICAgIHRyYWRlRGF0ZSxcbiAgICAgICAgdmFsdWVEYXRlLFxuICAgICAgICBsZWdzLFxuICAgICAgICBwb3J0Zm9saW9zLFxuICAgICAgICBpbnN0cnVjdGlvbk1lbW8sXG4gICAgICAgIG1lZGlhdG9ycyxcbiAgICAgIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMoXG4gICAgYXJnczogQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3MsXG4gICAgaW5mbzogSW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm9cbiAgKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIGRlZmluZU1ldGhvZChcbiAgICAgIHtcbiAgICAgICAgbWV0aG9kOiB7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBuYW1lOiAnYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycycsXG4gICAgICAgICAgcGFsbGV0OiAnc2V0dGxlbWVudCcsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmluZm8uYmFzZVR4SW5mbyxcbiAgICAgIH0sXG4gICAgICBpbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,11 +1,30 @@
1
- import { Transaction as SubstrateTransaction, Interface } from '@bitgo-beta/abstract-substrate';
1
+ import { Transaction as SubstrateTransaction } from '@bitgo-beta/abstract-substrate';
2
+ import { TxData } from './iface';
2
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
+ /**
13
+ * Helper method to find a token name by assetId
14
+ * @param assetId The assetId to search for
15
+ * @returns The token name if found
16
+ * @throws {InvalidTransactionError} If no matching token is found
17
+ */
18
+ private getTokenNameByAssetId;
3
19
  /** @inheritdoc */
4
- toJson(): Interface.TxData;
20
+ toJson(): TxData;
5
21
  /**
6
22
  * Load the input and output data on this transaction.
7
23
  */
8
24
  loadInputsAndOutputs(): void;
9
25
  private decodeInputsAndOutputsForRegisterDidWithCDD;
26
+ private decodeInputsAndOutputsForPreApproveAsset;
27
+ private decodeInputsAndOutputsForSendToken;
28
+ private decodeInputsAndOutputsForRejectInstruction;
10
29
  }
11
30
  //# 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,WAAW,IAAI,oBAAoB,EAAE,SAAS,EAAkB,MAAM,gCAAgC,CAAC;AAMhH,qBAAa,WAAY,SAAQ,oBAAoB;IACnD,kBAAkB;IAClB,MAAM,IAAI,SAAS,CAAC,MAAM;IAwC1B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAc5B,OAAO,CAAC,2CAA2C;CAqBpD"}
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;AAKrG,OAAO,EAIL,MAAM,EAIP,MAAM,SAAS,CAAC;AAmBjB,qBAAa,WAAY,SAAQ,oBAAoB;IACnD;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAgB7B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IA4DhB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAoB5B,OAAO,CAAC,2CAA2C;IAsBnD,OAAO,CAAC,wCAAwC;IAmBhD,OAAO,CAAC,kCAAkC;IAqB1C,OAAO,CAAC,0CAA0C;CAiBnD"}