@bitgo-beta/sdk-coin-sui 3.0.3-beta.182 → 3.0.3-beta.1821

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 (196) 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 +7 -2
  4. package/dist/src/lib/compareTransactionBlocks.js +2 -3
  5. package/dist/src/lib/constants.d.ts +9 -2
  6. package/dist/src/lib/constants.d.ts.map +1 -1
  7. package/dist/src/lib/constants.js +18 -2
  8. package/dist/src/lib/customTransaction.js +3 -3
  9. package/dist/src/lib/customTransactionBuilder.js +5 -5
  10. package/dist/src/lib/iface.d.ts +80 -12
  11. package/dist/src/lib/iface.d.ts.map +1 -1
  12. package/dist/src/lib/iface.js +34 -5
  13. package/dist/src/lib/index.d.ts +6 -0
  14. package/dist/src/lib/index.d.ts.map +1 -1
  15. package/dist/src/lib/index.js +36 -10
  16. package/dist/src/lib/keyPair.js +24 -10
  17. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +64 -11
  18. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  19. package/dist/src/lib/mystenlab/builder/Inputs.js +63 -19
  20. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +88 -355
  21. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -1
  22. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +44 -25
  23. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +152 -77
  24. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -1
  25. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +54 -44
  26. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +133 -188
  27. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -1
  28. package/dist/src/lib/mystenlab/builder/Transactions.js +52 -53
  29. package/dist/src/lib/mystenlab/builder/bcs.d.ts +1 -1
  30. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -1
  31. package/dist/src/lib/mystenlab/builder/bcs.js +2 -2
  32. package/dist/src/lib/mystenlab/builder/index.js +6 -2
  33. package/dist/src/lib/mystenlab/builder/serializer.js +6 -8
  34. package/dist/src/lib/mystenlab/builder/utils.d.ts +1 -1
  35. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -1
  36. package/dist/src/lib/mystenlab/builder/utils.js +4 -4
  37. package/dist/src/lib/mystenlab/cryptography/hash.js +3 -4
  38. package/dist/src/lib/mystenlab/framework/framework.d.ts +6 -6
  39. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -1
  40. package/dist/src/lib/mystenlab/framework/framework.js +22 -25
  41. package/dist/src/lib/mystenlab/framework/index.js +6 -2
  42. package/dist/src/lib/mystenlab/framework/sui-system-state.js +2 -2
  43. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +2 -2
  44. package/dist/src/lib/mystenlab/types/coin.d.ts +13 -11
  45. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -1
  46. package/dist/src/lib/mystenlab/types/coin.js +20 -19
  47. package/dist/src/lib/mystenlab/types/common.d.ts +8 -8
  48. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -1
  49. package/dist/src/lib/mystenlab/types/common.js +22 -22
  50. package/dist/src/lib/mystenlab/types/events.d.ts +15 -15
  51. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -1
  52. package/dist/src/lib/mystenlab/types/events.js +17 -17
  53. package/dist/src/lib/mystenlab/types/index.js +6 -2
  54. package/dist/src/lib/mystenlab/types/normalized.d.ts +21 -21
  55. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -1
  56. package/dist/src/lib/mystenlab/types/normalized.js +41 -41
  57. package/dist/src/lib/mystenlab/types/objects.d.ts +51 -51
  58. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -1
  59. package/dist/src/lib/mystenlab/types/objects.js +96 -106
  60. package/dist/src/lib/mystenlab/types/option.d.ts +1 -1
  61. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -1
  62. package/dist/src/lib/mystenlab/types/option.js +2 -3
  63. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +55 -29
  64. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  65. package/dist/src/lib/mystenlab/types/sui-bcs.js +29 -5
  66. package/dist/src/lib/mystenlab/types/transactions.d.ts +625 -625
  67. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -1
  68. package/dist/src/lib/mystenlab/types/transactions.js +178 -194
  69. package/dist/src/lib/mystenlab/types/validator.d.ts +13 -13
  70. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -1
  71. package/dist/src/lib/mystenlab/types/validator.js +124 -124
  72. package/dist/src/lib/resources/walrusConfig.d.ts +22 -0
  73. package/dist/src/lib/resources/walrusConfig.d.ts.map +1 -0
  74. package/dist/src/lib/resources/walrusConfig.js +37 -0
  75. package/dist/src/lib/rpcClient.d.ts +5 -0
  76. package/dist/src/lib/rpcClient.d.ts.map +1 -0
  77. package/dist/src/lib/rpcClient.js +74 -0
  78. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  79. package/dist/src/lib/stakingBuilder.js +23 -7
  80. package/dist/src/lib/stakingTransaction.d.ts +0 -1
  81. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  82. package/dist/src/lib/stakingTransaction.js +26 -15
  83. package/dist/src/lib/tokenTransferBuilder.d.ts +66 -0
  84. package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
  85. package/dist/src/lib/tokenTransferBuilder.js +202 -0
  86. package/dist/src/lib/tokenTransferTransaction.d.ts +59 -0
  87. package/dist/src/lib/tokenTransferTransaction.d.ts.map +1 -0
  88. package/dist/src/lib/tokenTransferTransaction.js +272 -0
  89. package/dist/src/lib/transaction.d.ts +21 -4
  90. package/dist/src/lib/transaction.d.ts.map +1 -1
  91. package/dist/src/lib/transaction.js +129 -17
  92. package/dist/src/lib/transactionBuilder.d.ts +13 -4
  93. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  94. package/dist/src/lib/transactionBuilder.js +34 -4
  95. package/dist/src/lib/transactionBuilderFactory.d.ts +11 -2
  96. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  97. package/dist/src/lib/transactionBuilderFactory.js +32 -1
  98. package/dist/src/lib/transferBuilder.d.ts +58 -1
  99. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  100. package/dist/src/lib/transferBuilder.js +310 -24
  101. package/dist/src/lib/transferTransaction.d.ts +6 -1
  102. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  103. package/dist/src/lib/transferTransaction.js +129 -12
  104. package/dist/src/lib/unstakingBuilder.js +6 -6
  105. package/dist/src/lib/unstakingTransaction.d.ts +0 -1
  106. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -1
  107. package/dist/src/lib/unstakingTransaction.js +31 -17
  108. package/dist/src/lib/utils.d.ts +24 -3
  109. package/dist/src/lib/utils.d.ts.map +1 -1
  110. package/dist/src/lib/utils.js +254 -21
  111. package/dist/src/lib/walrusStakingBuilder.d.ts +66 -0
  112. package/dist/src/lib/walrusStakingBuilder.d.ts.map +1 -0
  113. package/dist/src/lib/walrusStakingBuilder.js +200 -0
  114. package/dist/src/lib/walrusStakingTransaction.d.ts +52 -0
  115. package/dist/src/lib/walrusStakingTransaction.d.ts.map +1 -0
  116. package/dist/src/lib/walrusStakingTransaction.js +269 -0
  117. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts +36 -0
  118. package/dist/src/lib/walrusWithdrawStakeBuilder.d.ts.map +1 -0
  119. package/dist/src/lib/walrusWithdrawStakeBuilder.js +173 -0
  120. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts +21 -0
  121. package/dist/src/lib/walrusWithdrawStakeTransaction.d.ts.map +1 -0
  122. package/dist/src/lib/walrusWithdrawStakeTransaction.js +190 -0
  123. package/dist/src/register.d.ts.map +1 -1
  124. package/dist/src/register.js +5 -1
  125. package/dist/src/sui.d.ts +46 -8
  126. package/dist/src/sui.d.ts.map +1 -1
  127. package/dist/src/sui.js +525 -37
  128. package/dist/src/suiToken.d.ts +22 -0
  129. package/dist/src/suiToken.d.ts.map +1 -0
  130. package/dist/src/suiToken.js +61 -0
  131. package/dist/src/tsui.js +1 -1
  132. package/dist/test/integration/index.d.ts +1 -0
  133. package/dist/test/integration/index.d.ts.map +1 -0
  134. package/dist/test/integration/index.js +1 -0
  135. package/dist/test/local_fullnode/RpcClient.d.ts +60 -0
  136. package/dist/test/local_fullnode/RpcClient.d.ts.map +1 -0
  137. package/dist/test/local_fullnode/RpcClient.js +111 -0
  138. package/dist/test/local_fullnode/faucet.d.ts +6 -0
  139. package/dist/test/local_fullnode/faucet.d.ts.map +1 -0
  140. package/dist/test/local_fullnode/faucet.js +17 -0
  141. package/dist/test/local_fullnode/transactions.d.ts +2 -0
  142. package/dist/test/local_fullnode/transactions.d.ts.map +1 -0
  143. package/dist/test/local_fullnode/transactions.js +190 -0
  144. package/dist/test/resources/sui.d.ts +458 -0
  145. package/dist/test/resources/sui.d.ts.map +1 -0
  146. package/dist/test/resources/sui.js +632 -0
  147. package/dist/test/unit/compareTransactionBlocks.d.ts +2 -0
  148. package/dist/test/unit/compareTransactionBlocks.d.ts.map +1 -0
  149. package/dist/test/unit/compareTransactionBlocks.js +64 -0
  150. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  151. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  152. package/dist/test/unit/getBuilderFactory.js +10 -0
  153. package/dist/test/unit/keyPair.d.ts +2 -0
  154. package/dist/test/unit/keyPair.d.ts.map +1 -0
  155. package/dist/test/unit/keyPair.js +72 -0
  156. package/dist/test/unit/sui.d.ts +2 -0
  157. package/dist/test/unit/sui.d.ts.map +1 -0
  158. package/dist/test/unit/sui.js +2423 -0
  159. package/dist/test/unit/suiToken.d.ts +2 -0
  160. package/dist/test/unit/suiToken.d.ts.map +1 -0
  161. package/dist/test/unit/suiToken.js +39 -0
  162. package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts +2 -0
  163. package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts.map +1 -0
  164. package/dist/test/unit/transactionBuilder/customTransactionBuilder.js +106 -0
  165. package/dist/test/unit/transactionBuilder/stakingBuilder.d.ts +2 -0
  166. package/dist/test/unit/transactionBuilder/stakingBuilder.d.ts.map +1 -0
  167. package/dist/test/unit/transactionBuilder/stakingBuilder.js +152 -0
  168. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  169. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  170. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +255 -0
  171. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
  172. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  173. package/dist/test/unit/transactionBuilder/transactionBuilder.js +639 -0
  174. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  175. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  176. package/dist/test/unit/transactionBuilder/transferBuilder.js +1055 -0
  177. package/dist/test/unit/transactionBuilder/unstakingBuilder.d.ts +2 -0
  178. package/dist/test/unit/transactionBuilder/unstakingBuilder.d.ts.map +1 -0
  179. package/dist/test/unit/transactionBuilder/unstakingBuilder.js +115 -0
  180. package/dist/test/unit/transactionBuilder/walrusStakingBuilder.d.ts +2 -0
  181. package/dist/test/unit/transactionBuilder/walrusStakingBuilder.d.ts.map +1 -0
  182. package/dist/test/unit/transactionBuilder/walrusStakingBuilder.js +162 -0
  183. package/dist/test/unit/transactionBuilder/walrusWithdrawBuilder.d.ts +2 -0
  184. package/dist/test/unit/transactionBuilder/walrusWithdrawBuilder.d.ts.map +1 -0
  185. package/dist/test/unit/transactionBuilder/walrusWithdrawBuilder.js +181 -0
  186. package/dist/test/unit/transferTransaction.d.ts +2 -0
  187. package/dist/test/unit/transferTransaction.d.ts.map +1 -0
  188. package/dist/test/unit/transferTransaction.js +94 -0
  189. package/dist/test/unit/utils.d.ts +2 -0
  190. package/dist/test/unit/utils.d.ts.map +1 -0
  191. package/dist/test/unit/utils.js +186 -0
  192. package/dist/tsconfig.tsbuildinfo +1 -0
  193. package/package.json +16 -12
  194. package/.eslintignore +0 -6
  195. package/.mocharc.yml +0 -7
  196. package/CHANGELOG.md +0 -420
@@ -3,14 +3,17 @@ import { TransferBuilder } from './transferBuilder';
3
3
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
4
  import { Transaction } from './transaction';
5
5
  import { StakingBuilder } from './stakingBuilder';
6
- import { CustomProgrammableTransaction, StakingProgrammableTransaction, TransferProgrammableTransaction, UnstakingProgrammableTransaction } from './iface';
6
+ import { CustomProgrammableTransaction, StakingProgrammableTransaction, TransferProgrammableTransaction, UnstakingProgrammableTransaction, SuiProgrammableTransaction, TokenTransferProgrammableTransaction, WalrusStakingProgrammableTransaction, WalrusWithdrawStakeProgrammableTransaction } from './iface';
7
7
  import { TransactionBuilder } from './transactionBuilder';
8
8
  import { UnstakingBuilder } from './unstakingBuilder';
9
9
  import { CustomTransactionBuilder } from './customTransactionBuilder';
10
+ import { TokenTransferBuilder } from './tokenTransferBuilder';
11
+ import { WalrusStakingBuilder } from './walrusStakingBuilder';
12
+ import { WalrusWithdrawStakeBuilder } from './walrusWithdrawStakeBuilder';
10
13
  export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
11
14
  constructor(_coinConfig: Readonly<CoinConfig>);
12
15
  /** @inheritdoc */
13
- from(raw: string): TransactionBuilder<TransferProgrammableTransaction | StakingProgrammableTransaction>;
16
+ from(raw: string): TransactionBuilder<SuiProgrammableTransaction>;
14
17
  /** @inheritdoc */
15
18
  getTransferBuilder(tx?: Transaction<TransferProgrammableTransaction>): TransferBuilder;
16
19
  /** @inheritdoc */
@@ -20,6 +23,12 @@ export declare class TransactionBuilderFactory extends BaseTransactionBuilderFac
20
23
  /** @inheritdoc */
21
24
  getCustomTransactionBuilder(tx?: Transaction<CustomProgrammableTransaction>): CustomTransactionBuilder;
22
25
  /** @inheritdoc */
26
+ getTokenTransferBuilder(tx?: Transaction<TokenTransferProgrammableTransaction>): TokenTransferBuilder;
27
+ /** @inheritdoc */
28
+ getWalrusStakingBuilder(tx?: Transaction<WalrusStakingProgrammableTransaction>): WalrusStakingBuilder;
29
+ /** @inheritdoc */
30
+ getWalrusRequestWithdrawStakeBuilder(tx?: Transaction<WalrusWithdrawStakeProgrammableTransaction>): WalrusWithdrawStakeBuilder;
31
+ /** @inheritdoc */
23
32
  getWalletInitializationBuilder(): void;
24
33
  /**
25
34
  * Initialize the builder with the given transaction
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAG9B,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC,+BAA+B,GAAG,8BAA8B,CAAC;IA6BvG,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,+BAA+B,CAAC,GAAG,eAAe;IAItF,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,8BAA8B,CAAC,GAAG,cAAc;IAInF,kBAAkB;IAClB,mBAAmB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,gCAAgC,CAAC,GAAG,gBAAgB;IAIzF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,6BAA6B,CAAC,GAAG,wBAAwB;IAItG,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAKzB"}
1
+ {"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAA2B,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAG9B,+BAA+B,EAC/B,gCAAgC,EAChC,0BAA0B,EAC1B,oCAAoC,EACpC,oCAAoC,EACpC,0CAA0C,EAC3C,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC,0BAA0B,CAAC;IA0CjE,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,+BAA+B,CAAC,GAAG,eAAe;IAItF,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,8BAA8B,CAAC,GAAG,cAAc;IAInF,kBAAkB;IAClB,mBAAmB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,gCAAgC,CAAC,GAAG,gBAAgB;IAIzF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,6BAA6B,CAAC,GAAG,wBAAwB;IAItG,kBAAkB;IAClB,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,oCAAoC,CAAC,GAAG,oBAAoB;IAIrG,kBAAkB;IAClB,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,oCAAoC,CAAC,GAAG,oBAAoB;IAIrG,kBAAkB;IAClB,oCAAoC,CAClC,EAAE,CAAC,EAAE,WAAW,CAAC,0CAA0C,CAAC,GAC3D,0BAA0B;IAI7B,kBAAkB;IAClB,8BAA8B,IAAI,IAAI;IAItC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAGzB"}
@@ -16,6 +16,12 @@ const unstakingBuilder_1 = require("./unstakingBuilder");
16
16
  const unstakingTransaction_1 = require("./unstakingTransaction");
17
17
  const customTransaction_1 = require("./customTransaction");
18
18
  const customTransactionBuilder_1 = require("./customTransactionBuilder");
19
+ const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
20
+ const tokenTransferTransaction_1 = require("./tokenTransferTransaction");
21
+ const walrusStakingBuilder_1 = require("./walrusStakingBuilder");
22
+ const walrusStakingTransaction_1 = require("./walrusStakingTransaction");
23
+ const walrusWithdrawStakeBuilder_1 = require("./walrusWithdrawStakeBuilder");
24
+ const walrusWithdrawStakeTransaction_1 = require("./walrusWithdrawStakeTransaction");
19
25
  class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
20
26
  constructor(_coinConfig) {
21
27
  super(_coinConfig);
@@ -42,6 +48,19 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
42
48
  const customTransaction = new customTransaction_1.CustomTransaction(this._coinConfig);
43
49
  customTransaction.fromRawTransaction(raw);
44
50
  return this.getCustomTransactionBuilder(customTransaction);
51
+ case iface_1.SuiTransactionType.TokenTransfer:
52
+ const tokenTransferTx = new tokenTransferTransaction_1.TokenTransferTransaction(this._coinConfig);
53
+ tokenTransferTx.fromRawTransaction(raw);
54
+ return this.getTokenTransferBuilder(tokenTransferTx);
55
+ case iface_1.SuiTransactionType.WalrusStakeWithPool:
56
+ const walrusStakeTx = new walrusStakingTransaction_1.WalrusStakingTransaction(this._coinConfig);
57
+ walrusStakeTx.fromRawTransaction(raw);
58
+ return this.getWalrusStakingBuilder(walrusStakeTx);
59
+ case iface_1.SuiTransactionType.WalrusRequestWithdrawStake:
60
+ case iface_1.SuiTransactionType.WalrusWithdrawStake:
61
+ const walrusRequestWithdrawStakeTransaction = new walrusWithdrawStakeTransaction_1.WalrusWithdrawStakeTransaction(this._coinConfig);
62
+ walrusRequestWithdrawStakeTransaction.fromRawTransaction(raw);
63
+ return this.getWalrusRequestWithdrawStakeBuilder(walrusRequestWithdrawStakeTransaction);
45
64
  default:
46
65
  throw new sdk_core_1.InvalidTransactionError('Invalid transaction');
47
66
  }
@@ -67,6 +86,18 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
67
86
  return this.initializeBuilder(tx, new customTransactionBuilder_1.CustomTransactionBuilder(this._coinConfig));
68
87
  }
69
88
  /** @inheritdoc */
89
+ getTokenTransferBuilder(tx) {
90
+ return this.initializeBuilder(tx, new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig));
91
+ }
92
+ /** @inheritdoc */
93
+ getWalrusStakingBuilder(tx) {
94
+ return this.initializeBuilder(tx, new walrusStakingBuilder_1.WalrusStakingBuilder(this._coinConfig));
95
+ }
96
+ /** @inheritdoc */
97
+ getWalrusRequestWithdrawStakeBuilder(tx) {
98
+ return this.initializeBuilder(tx, new walrusWithdrawStakeBuilder_1.WalrusWithdrawStakeBuilder(this._coinConfig));
99
+ }
100
+ /** @inheritdoc */
70
101
  getWalletInitializationBuilder() {
71
102
  throw new Error('Method not implemented.');
72
103
  }
@@ -93,4 +124,4 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
93
124
  }
94
125
  }
95
126
  exports.TransactionBuilderFactory = TransactionBuilderFactory;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBOEY7QUFDOUYsdURBQW9EO0FBRXBELCtDQUE0QztBQUM1QyxxREFBa0Q7QUFDbEQsbUNBT2lCO0FBQ2pCLDZEQUEwRDtBQUMxRCwrREFBNEQ7QUFFNUQsb0RBQTRCO0FBQzVCLHlEQUFzRDtBQUN0RCxpRUFBOEQ7QUFDOUQsMkRBQXdEO0FBQ3hELHlFQUFzRTtBQUV0RSxNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsZUFBSyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJO1lBQ0YsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO2dCQUNmLEtBQUssMEJBQWtCLENBQUMsUUFBUTtvQkFDOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSx5Q0FBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQzdELFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzdDLEtBQUssMEJBQWtCLENBQUMsUUFBUTtvQkFDOUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHVDQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDcEUsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzNDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3BELEtBQUssMEJBQWtCLENBQUMsYUFBYTtvQkFDbkMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDJDQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDeEUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLENBQUM7Z0JBQ3hELEtBQUssMEJBQWtCLENBQUMsUUFBUTtvQkFDOUIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDbEUsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzdEO29CQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2FBQzVEO1NBQ0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sQ0FBQyxDQUFDO1NBQ1Q7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGtCQUFrQixDQUFDLEVBQWlEO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxFQUFnRDtRQUNoRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwrQkFBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsRUFBa0Q7UUFDcEUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksbUNBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwyQkFBMkIsQ0FBQyxFQUErQztRQUN6RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUV2QixFQUE2RixFQUFFLE9BQVU7UUFDekcsSUFBSSxFQUFFLEVBQUU7WUFDTixPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxnQkFBZ0IsQ0FDdEIsY0FBc0I7UUFFdEIsT0FBTyx5QkFBVyxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQXRGRCw4REFzRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7XG4gIEN1c3RvbVByb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxuICBTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24sXG4gIFN1aVRyYW5zYWN0aW9uLFxuICBTdWlUcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24sXG4gIFVuc3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFN0YWtpbmdUcmFuc2FjdGlvbiB9IGZyb20gJy4vc3Rha2luZ1RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zZmVyVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zZmVyVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVW5zdGFraW5nQnVpbGRlciB9IGZyb20gJy4vdW5zdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBVbnN0YWtpbmdUcmFuc2FjdGlvbiB9IGZyb20gJy4vdW5zdGFraW5nVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQ3VzdG9tVHJhbnNhY3Rpb24gfSBmcm9tICcuL2N1c3RvbVRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vY3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhdzogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyPFRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24gfCBTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgICB1dGlscy52YWxpZGF0ZVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgY29uc3QgdHggPSB0aGlzLnBhcnNlVHJhbnNhY3Rpb24ocmF3KTtcbiAgICB0cnkge1xuICAgICAgc3dpdGNoICh0eC50eXBlKSB7XG4gICAgICAgIGNhc2UgU3VpVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyOlxuICAgICAgICAgIGNvbnN0IHRyYW5zZmVyVHggPSBuZXcgVHJhbnNmZXJUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICB0cmFuc2ZlclR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0cmFuc2ZlclR4KTtcbiAgICAgICAgY2FzZSBTdWlUcmFuc2FjdGlvblR5cGUuQWRkU3Rha2U6XG4gICAgICAgICAgY29uc3Qgc3Rha2luZ1RyYW5zYWN0aW9uID0gbmV3IFN0YWtpbmdUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBzdGFraW5nVHJhbnNhY3Rpb24uZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0J1aWxkZXIoc3Rha2luZ1RyYW5zYWN0aW9uKTtcbiAgICAgICAgY2FzZSBTdWlUcmFuc2FjdGlvblR5cGUuV2l0aGRyYXdTdGFrZTpcbiAgICAgICAgICBjb25zdCB1bnN0YWtpbmdUcmFuc2FjdGlvbiA9IG5ldyBVbnN0YWtpbmdUcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICB1bnN0YWtpbmdUcmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRVbnN0YWtpbmdCdWlsZGVyKHVuc3Rha2luZ1RyYW5zYWN0aW9uKTtcbiAgICAgICAgY2FzZSBTdWlUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg6XG4gICAgICAgICAgY29uc3QgY3VzdG9tVHJhbnNhY3Rpb24gPSBuZXcgQ3VzdG9tVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgY3VzdG9tVHJhbnNhY3Rpb24uZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyKGN1c3RvbVRyYW5zYWN0aW9uKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbjxUcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uPik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFN0YWtpbmdCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb248U3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPik6IFN0YWtpbmdCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFN0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRVbnN0YWtpbmdCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb248VW5zdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+KTogVW5zdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBVbnN0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbjxDdXN0b21Qcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4pOiBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgQ3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8XG4gICAgVCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcjxUcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uIHwgU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPlxuICA+KHR4OiBUcmFuc2FjdGlvbjxUcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uIHwgU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPiB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgLyoqIFBhcnNlIHRoZSB0cmFuc2FjdGlvbiBmcm9tIGEgcmF3IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYXdUcmFuc2FjdGlvbiAtIHRoZSByYXcgdHhcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9ufSBwYXJzZWR0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBwYXJzZVRyYW5zYWN0aW9uKFxuICAgIHJhd1RyYW5zYWN0aW9uOiBzdHJpbmdcbiAgKTogU3VpVHJhbnNhY3Rpb248VHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbiB8IFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbi5kZXNlcmlhbGl6ZVN1aVRyYW5zYWN0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgfVxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBOEY7QUFDOUYsdURBQW9EO0FBRXBELCtDQUE0QztBQUM1QyxxREFBa0Q7QUFDbEQsbUNBV2lCO0FBQ2pCLDZEQUEwRDtBQUMxRCwrREFBNEQ7QUFFNUQsb0RBQTRCO0FBQzVCLHlEQUFzRDtBQUN0RCxpRUFBOEQ7QUFDOUQsMkRBQXdEO0FBQ3hELHlFQUFzRTtBQUN0RSxpRUFBOEQ7QUFDOUQseUVBQXNFO0FBQ3RFLGlFQUE4RDtBQUM5RCx5RUFBc0U7QUFDdEUsNkVBQTBFO0FBQzFFLHFGQUFrRjtBQUVsRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsZUFBSyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUM7WUFDSCxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSywwQkFBa0IsQ0FBQyxRQUFRO29CQUM5QixNQUFNLFVBQVUsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDN0QsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDN0MsS0FBSywwQkFBa0IsQ0FBQyxRQUFRO29CQUM5QixNQUFNLGtCQUFrQixHQUFHLElBQUksdUNBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNwRSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDM0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDcEQsS0FBSywwQkFBa0IsQ0FBQyxhQUFhO29CQUNuQyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN4RSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDeEQsS0FBSywwQkFBa0IsQ0FBQyxRQUFRO29CQUM5QixNQUFNLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNsRSxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDN0QsS0FBSywwQkFBa0IsQ0FBQyxhQUFhO29CQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLG1EQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDdkUsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN4QyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDdkQsS0FBSywwQkFBa0IsQ0FBQyxtQkFBbUI7b0JBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksbURBQXdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUNyRSxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRCxLQUFLLDBCQUFrQixDQUFDLDBCQUEwQixDQUFDO2dCQUNuRCxLQUFLLDBCQUFrQixDQUFDLG1CQUFtQjtvQkFDekMsTUFBTSxxQ0FBcUMsR0FBRyxJQUFJLCtEQUE4QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDbkcscUNBQXFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzlELE9BQU8sSUFBSSxDQUFDLG9DQUFvQyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7Z0JBQzFGO29CQUNFLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCLENBQUMsRUFBaUQ7UUFDbEUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGlCQUFpQixDQUFDLEVBQWdEO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLCtCQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxFQUFrRDtRQUNwRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxtQ0FBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDJCQUEyQixDQUFDLEVBQStDO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLG1EQUF3QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsdUJBQXVCLENBQUMsRUFBc0Q7UUFDNUUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksMkNBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1QkFBdUIsQ0FBQyxFQUFzRDtRQUM1RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG9DQUFvQyxDQUNsQyxFQUE0RDtRQUU1RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSx1REFBMEIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUN2QixFQUF1RCxFQUN2RCxPQUFVO1FBRVYsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNQLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsY0FBc0I7UUFDN0MsT0FBTyx5QkFBVyxDQUFDLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQW5IRCw4REFtSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7XG4gIEN1c3RvbVByb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxuICBTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24sXG4gIFN1aVRyYW5zYWN0aW9uLFxuICBTdWlUcmFuc2FjdGlvblR5cGUsXG4gIFRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24sXG4gIFVuc3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxuICBTdWlQcm9ncmFtbWFibGVUcmFuc2FjdGlvbixcbiAgVG9rZW5UcmFuc2ZlclByb2dyYW1tYWJsZVRyYW5zYWN0aW9uLFxuICBXYWxydXNTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24sXG4gIFdhbHJ1c1dpdGhkcmF3U3Rha2VQcm9ncmFtbWFibGVUcmFuc2FjdGlvbixcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBTdGFraW5nVHJhbnNhY3Rpb24gfSBmcm9tICcuL3N0YWtpbmdUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2ZlclRyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFVuc3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3Vuc3Rha2luZ0J1aWxkZXInO1xuaW1wb3J0IHsgVW5zdGFraW5nVHJhbnNhY3Rpb24gfSBmcm9tICcuL3Vuc3Rha2luZ1RyYW5zYWN0aW9uJztcbmltcG9ydCB7IEN1c3RvbVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9jdXN0b21UcmFuc2FjdGlvbic7XG5pbXBvcnQgeyBDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL2N1c3RvbVRyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlclRyYW5zYWN0aW9uIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgV2FscnVzU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3dhbHJ1c1N0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IFdhbHJ1c1N0YWtpbmdUcmFuc2FjdGlvbiB9IGZyb20gJy4vd2FscnVzU3Rha2luZ1RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFdhbHJ1c1dpdGhkcmF3U3Rha2VCdWlsZGVyIH0gZnJvbSAnLi93YWxydXNXaXRoZHJhd1N0YWtlQnVpbGRlcic7XG5pbXBvcnQgeyBXYWxydXNXaXRoZHJhd1N0YWtlVHJhbnNhY3Rpb24gfSBmcm9tICcuL3dhbHJ1c1dpdGhkcmF3U3Rha2VUcmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlcjxTdWlQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICAgIHV0aWxzLnZhbGlkYXRlUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICBjb25zdCB0eCA9IHRoaXMucGFyc2VUcmFuc2FjdGlvbihyYXcpO1xuICAgIHRyeSB7XG4gICAgICBzd2l0Y2ggKHR4LnR5cGUpIHtcbiAgICAgICAgY2FzZSBTdWlUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXI6XG4gICAgICAgICAgY29uc3QgdHJhbnNmZXJUeCA9IG5ldyBUcmFuc2ZlclRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHRyYW5zZmVyVHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHRyYW5zZmVyVHgpO1xuICAgICAgICBjYXNlIFN1aVRyYW5zYWN0aW9uVHlwZS5BZGRTdGFrZTpcbiAgICAgICAgICBjb25zdCBzdGFraW5nVHJhbnNhY3Rpb24gPSBuZXcgU3Rha2luZ1RyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHN0YWtpbmdUcmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQnVpbGRlcihzdGFraW5nVHJhbnNhY3Rpb24pO1xuICAgICAgICBjYXNlIFN1aVRyYW5zYWN0aW9uVHlwZS5XaXRoZHJhd1N0YWtlOlxuICAgICAgICAgIGNvbnN0IHVuc3Rha2luZ1RyYW5zYWN0aW9uID0gbmV3IFVuc3Rha2luZ1RyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgICAgIHVuc3Rha2luZ1RyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFVuc3Rha2luZ0J1aWxkZXIodW5zdGFraW5nVHJhbnNhY3Rpb24pO1xuICAgICAgICBjYXNlIFN1aVRyYW5zYWN0aW9uVHlwZS5DdXN0b21UeDpcbiAgICAgICAgICBjb25zdCBjdXN0b21UcmFuc2FjdGlvbiA9IG5ldyBDdXN0b21UcmFuc2FjdGlvbih0aGlzLl9jb2luQ29uZmlnKTtcbiAgICAgICAgICBjdXN0b21UcmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDdXN0b21UcmFuc2FjdGlvbkJ1aWxkZXIoY3VzdG9tVHJhbnNhY3Rpb24pO1xuICAgICAgICBjYXNlIFN1aVRyYW5zYWN0aW9uVHlwZS5Ub2tlblRyYW5zZmVyOlxuICAgICAgICAgIGNvbnN0IHRva2VuVHJhbnNmZXJUeCA9IG5ldyBUb2tlblRyYW5zZmVyVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgdG9rZW5UcmFuc2ZlclR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuVHJhbnNmZXJCdWlsZGVyKHRva2VuVHJhbnNmZXJUeCk7XG4gICAgICAgIGNhc2UgU3VpVHJhbnNhY3Rpb25UeXBlLldhbHJ1c1N0YWtlV2l0aFBvb2w6XG4gICAgICAgICAgY29uc3Qgd2FscnVzU3Rha2VUeCA9IG5ldyBXYWxydXNTdGFraW5nVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgd2FscnVzU3Rha2VUeC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxydXNTdGFraW5nQnVpbGRlcih3YWxydXNTdGFrZVR4KTtcbiAgICAgICAgY2FzZSBTdWlUcmFuc2FjdGlvblR5cGUuV2FscnVzUmVxdWVzdFdpdGhkcmF3U3Rha2U6XG4gICAgICAgIGNhc2UgU3VpVHJhbnNhY3Rpb25UeXBlLldhbHJ1c1dpdGhkcmF3U3Rha2U6XG4gICAgICAgICAgY29uc3Qgd2FscnVzUmVxdWVzdFdpdGhkcmF3U3Rha2VUcmFuc2FjdGlvbiA9IG5ldyBXYWxydXNXaXRoZHJhd1N0YWtlVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICAgICAgd2FscnVzUmVxdWVzdFdpdGhkcmF3U3Rha2VUcmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxydXNSZXF1ZXN0V2l0aGRyYXdTdGFrZUJ1aWxkZXIod2FscnVzUmVxdWVzdFdpdGhkcmF3U3Rha2VUcmFuc2FjdGlvbik7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb248VHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4pOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRTdGFraW5nQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uPFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4pOiBTdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VW5zdGFraW5nQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uPFVuc3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPik6IFVuc3Rha2luZ0J1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVW5zdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0Q3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb248Q3VzdG9tUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+KTogQ3VzdG9tVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IEN1c3RvbVRyYW5zYWN0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VG9rZW5UcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbjxUb2tlblRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+KTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgVG9rZW5UcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbHJ1c1N0YWtpbmdCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb248V2FscnVzU3Rha2luZ1Byb2dyYW1tYWJsZVRyYW5zYWN0aW9uPik6IFdhbHJ1c1N0YWtpbmdCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbHJ1c1N0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxydXNSZXF1ZXN0V2l0aGRyYXdTdGFrZUJ1aWxkZXIoXG4gICAgdHg/OiBUcmFuc2FjdGlvbjxXYWxydXNXaXRoZHJhd1N0YWtlUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+XG4gICk6IFdhbHJ1c1dpdGhkcmF3U3Rha2VCdWlsZGVyIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbHJ1c1dpdGhkcmF3U3Rha2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJ1aWxkZXI8VCBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlcjxTdWlQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4+KFxuICAgIHR4OiBUcmFuc2FjdGlvbjxTdWlQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4gfCB1bmRlZmluZWQsXG4gICAgYnVpbGRlcjogVFxuICApOiBUIHtcbiAgICBpZiAodHgpIHtcbiAgICAgIGJ1aWxkZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIH1cbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIC8qKiBQYXJzZSB0aGUgdHJhbnNhY3Rpb24gZnJvbSBhIHJhdyB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmF3VHJhbnNhY3Rpb24gLSB0aGUgcmF3IHR4XG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbn0gcGFyc2VkdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgcGFyc2VUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogU3VpVHJhbnNhY3Rpb248U3VpUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb24uZGVzZXJpYWxpemVTdWlUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -4,11 +4,35 @@ import { BaseKey, Recipient, TransactionType } from '@bitgo-beta/sdk-core';
4
4
  import { SuiTransaction, TransferProgrammableTransaction } from './iface';
5
5
  import { Transaction } from './transaction';
6
6
  import { TransferTransaction } from './transferTransaction';
7
+ import BigNumber from 'bignumber.js';
7
8
  export declare class TransferBuilder extends TransactionBuilder<TransferProgrammableTransaction> {
8
9
  protected _recipients: Recipient[];
10
+ /**
11
+ * Balance held in the Sui address balance system (not in coin objects).
12
+ * When set, this amount is included in the total available balance for transfer.
13
+ * Note: Sui does NOT automatically merge address balance into the gas coin when
14
+ * gasData.payment is non-empty. Path 2c explicitly redeems it via redeem_funds
15
+ * and merges it into the gas coin before splitting.
16
+ */
17
+ protected _fundsInAddressBalance: BigNumber;
9
18
  constructor(_coinConfig: Readonly<CoinConfig>);
10
19
  protected get transactionType(): TransactionType;
11
20
  send(recipients: Recipient[]): this;
21
+ /**
22
+ * Set the amount of funds held in the Sui address balance system for this sender.
23
+ * This is the `fundsInAddressBalance` value from the `suix_getBalance` RPC response.
24
+ * It is added to the coin object balances when computing total available funds.
25
+ *
26
+ * @param {string} amount - amount in MIST held in address balance
27
+ */
28
+ fundsInAddressBalance(amount: string): this;
29
+ /**
30
+ * Returns the total available balance: sum of all gas payment coin object
31
+ * balances plus any funds held in the address balance system.
32
+ *
33
+ * @param {BigNumber} coinObjectsBalance - sum of balances from gasData.payment coin objects
34
+ */
35
+ totalAvailableBalance(coinObjectsBalance: BigNumber): BigNumber;
12
36
  /** @inheritdoc */
13
37
  validateTransaction(transaction: TransferTransaction): void;
14
38
  /** @inheritdoc */
@@ -28,7 +52,40 @@ export declare class TransferBuilder extends TransactionBuilder<TransferProgramm
28
52
  */
29
53
  private validateTransactionFields;
30
54
  /**
31
- * Build transfer programmable transaction
55
+ * Build transfer programmable transaction.
56
+ *
57
+ * Four build paths:
58
+ *
59
+ * Path 1a — Sponsored with coin objects (sender ≠ gasData.owner, inputObjects provided):
60
+ * [optional withdrawal(fundsInAddressBalance) → redeem_funds → Coin<SUI>]
61
+ * MergeCoins(inputObject[0], [inputObject[1..], addrCoin?])
62
+ * SplitCoins(mergedObject, [amount]) → TransferObjects
63
+ * Handles Cases 4 (coins only), 6 (coins, sponsor addr-bal gas), 8 (coins+addr-bal).
64
+ *
65
+ * Path 1b — Sponsored, address balance only (sender ≠ gasData.owner, no inputObjects):
66
+ * withdrawal(fundsInAddressBalance) → redeem_funds → Coin<SUI>
67
+ * SplitCoins(addrCoin, [amount]) → TransferObjects
68
+ * Handles Case 5 (sponsor coin-object gas) and Case 7/Phase-4b (sponsor addr-bal gas).
69
+ * Caller must set ValidDuring expiration when gasData.payment = [] (Cases 7, 9).
70
+ *
71
+ * Path 2a — Self-pay, coin objects only (sender === gasData.owner, payment non-empty, fundsInAddressBalance==0):
72
+ * SplitCoins(GasCoin, [amount]) → TransferObjects
73
+ * Handles Case 1 (coins only).
74
+ *
75
+ * Path 2b — Self-pay, address-balance only (sender === gasData.owner, payment==[], fundsInAddressBalance>0):
76
+ * withdrawal(totalRecipientAmount) → redeem_funds → Coin<SUI>
77
+ * SplitCoins(addrCoin, [amount]) → TransferObjects
78
+ * MergeCoins(GasCoin, [addrCoin]) ← destroys 0-balance addrCoin; gas paid from accumulator remainder
79
+ * Handles Case 2 (addr-bal only, caller sets ValidDuring).
80
+ * NOTE: SplitCoins(GasCoin, [amount]) does NOT work here — with payment=[], GasCoin only
81
+ * carries up to gas-budget-worth of balance for PTB operations, not the full address balance.
82
+ *
83
+ * Path 2c — Self-pay, mixed (sender === gasData.owner, gasData.payment non-empty AND fundsInAddressBalance > 0):
84
+ * Sui does NOT automatically merge address balance into gas coin when payment is non-empty.
85
+ * withdrawal(fundsInAddressBalance) → redeem_funds → Coin<SUI>
86
+ * MergeCoins(GasCoin, [addrCoin])
87
+ * SplitCoins(GasCoin, [amount]) → TransferObjects
88
+ * Handles Case 3 (mixed funds — coin objects + address balance, self-pay).
32
89
  *
33
90
  * @protected
34
91
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAyB,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAsB,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,+BAA+B,CAAC;IACtF,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;gBAEvB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAMnC,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAO3D,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxB,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,+BAA+B,CAAC;IAQlG,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAgB5F;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAgB1C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,+BAA+B,CAAC;CA0BjF"}
1
+ {"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAyB,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAsB,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAU5D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,+BAA+B,CAAC;IACtF,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IACnC;;;;;;OAMG;IACH,SAAS,CAAC,sBAAsB,EAAE,SAAS,CAAoB;gBAEnD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAMnC;;;;;;OAMG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3C;;;;;OAKG;IACH,qBAAqB,CAAC,kBAAkB,EAAE,SAAS,GAAG,SAAS;IAI/D,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAO3D,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxB,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,+BAA+B,CAAC;IAQlG,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAgB5F;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAqC1C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,+BAA+B,CAAC;CAsPjF"}