@waterx/sdk 3.0.1 → 3.0.3

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 (398) hide show
  1. package/dist/cjs/package.json +3 -0
  2. package/dist/cjs/src/account/account-request.d.ts +9 -0
  3. package/dist/cjs/src/account/account-request.js +20 -0
  4. package/dist/cjs/src/account/account.d.ts +158 -0
  5. package/dist/cjs/src/account/account.js +238 -0
  6. package/dist/cjs/src/account/client.d.ts +42 -0
  7. package/dist/cjs/src/account/client.js +18 -0
  8. package/dist/cjs/src/account/config.d.ts +151 -0
  9. package/dist/cjs/src/account/config.js +9 -0
  10. package/dist/cjs/src/account/constants.d.ts +5 -0
  11. package/dist/cjs/src/account/constants.js +8 -0
  12. package/dist/cjs/src/account/fetch/referral.d.ts +15 -0
  13. package/dist/cjs/src/account/fetch/referral.js +56 -0
  14. package/dist/cjs/src/account/fetch/simulate.d.ts +34 -0
  15. package/dist/cjs/src/account/fetch/simulate.js +49 -0
  16. package/dist/cjs/src/account/funding/balance.d.ts +32 -0
  17. package/dist/cjs/src/account/funding/balance.js +100 -0
  18. package/dist/cjs/src/account/funding/consolidate.d.ts +46 -0
  19. package/dist/cjs/src/account/funding/consolidate.js +143 -0
  20. package/dist/cjs/src/account/funding/credit.d.ts +129 -0
  21. package/dist/cjs/src/account/funding/credit.js +252 -0
  22. package/dist/cjs/src/account/funding/custody.d.ts +57 -0
  23. package/dist/cjs/src/account/funding/custody.js +139 -0
  24. package/dist/cjs/src/account/funding/wormhole.d.ts +86 -0
  25. package/dist/cjs/src/account/funding/wormhole.js +166 -0
  26. package/dist/cjs/src/account/index.d.ts +29 -0
  27. package/dist/cjs/src/account/index.js +45 -0
  28. package/dist/cjs/src/account/referral.d.ts +21 -0
  29. package/dist/cjs/src/account/referral.js +78 -0
  30. package/dist/cjs/src/account/waterx-account.d.ts +31 -0
  31. package/dist/cjs/src/account/waterx-account.js +29 -0
  32. package/dist/cjs/src/base-client.d.ts +74 -0
  33. package/dist/cjs/src/base-client.js +101 -0
  34. package/dist/cjs/src/constants.d.ts +32 -0
  35. package/dist/cjs/src/constants.js +41 -0
  36. package/dist/cjs/src/generated/bucket_v2_framework/account.d.ts +107 -0
  37. package/dist/cjs/src/generated/bucket_v2_framework/account.js +141 -0
  38. package/dist/cjs/src/generated/bucket_v2_framework/deps/std/type_name.d.ts +17 -0
  39. package/dist/cjs/src/generated/bucket_v2_framework/deps/std/type_name.js +22 -0
  40. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/balance.d.ts +12 -0
  41. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/balance.js +17 -0
  42. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_map.d.ts +36 -0
  43. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_map.js +31 -0
  44. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_set.d.ts +16 -0
  45. package/dist/cjs/src/generated/bucket_v2_framework/deps/sui/vec_set.js +22 -0
  46. package/dist/cjs/src/generated/bucket_v2_framework/double.d.ts +384 -0
  47. package/dist/cjs/src/generated/bucket_v2_framework/double.js +504 -0
  48. package/dist/cjs/src/generated/bucket_v2_framework/float.d.ts +364 -0
  49. package/dist/cjs/src/generated/bucket_v2_framework/float.js +476 -0
  50. package/dist/cjs/src/generated/bucket_v2_framework/liability.d.ts +171 -0
  51. package/dist/cjs/src/generated/bucket_v2_framework/liability.js +192 -0
  52. package/dist/cjs/src/generated/bucket_v2_framework/linked_table.d.ts +384 -0
  53. package/dist/cjs/src/generated/bucket_v2_framework/linked_table.js +405 -0
  54. package/dist/cjs/src/generated/bucket_v2_framework/sheet.d.ts +424 -0
  55. package/dist/cjs/src/generated/bucket_v2_framework/sheet.js +395 -0
  56. package/dist/cjs/src/generated/native_custody/custody_vault.d.ts +586 -0
  57. package/dist/cjs/src/generated/native_custody/custody_vault.js +555 -0
  58. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/float.d.ts +8 -0
  59. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/float.js +13 -0
  60. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/liability.d.ts +11 -0
  61. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/liability.js +16 -0
  62. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/sheet.d.ts +49 -0
  63. package/dist/cjs/src/generated/native_custody/deps/bucket_v2_framework/sheet.js +52 -0
  64. package/dist/cjs/src/generated/native_custody/deps/std/type_name.d.ts +17 -0
  65. package/dist/cjs/src/generated/native_custody/deps/std/type_name.js +22 -0
  66. package/dist/cjs/src/generated/native_custody/deps/sui/balance.d.ts +12 -0
  67. package/dist/cjs/src/generated/native_custody/deps/sui/balance.js +17 -0
  68. package/dist/cjs/src/generated/native_custody/deps/sui/vec_map.d.ts +36 -0
  69. package/dist/cjs/src/generated/native_custody/deps/sui/vec_map.js +31 -0
  70. package/dist/cjs/src/generated/native_custody/deps/sui/vec_set.d.ts +16 -0
  71. package/dist/cjs/src/generated/native_custody/deps/sui/vec_set.js +22 -0
  72. package/dist/cjs/src/generated/native_custody/events.d.ts +36 -0
  73. package/dist/cjs/src/generated/native_custody/events.js +71 -0
  74. package/dist/cjs/src/generated/pyth_sponsor_rule/deps/sui/balance.d.ts +12 -0
  75. package/dist/cjs/src/generated/pyth_sponsor_rule/deps/sui/balance.js +17 -0
  76. package/dist/cjs/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.d.ts +68 -0
  77. package/dist/cjs/src/generated/pyth_sponsor_rule/pyth_sponsor_rule.js +113 -0
  78. package/dist/cjs/src/generated/utils/index.d.ts +30 -0
  79. package/dist/cjs/src/generated/utils/index.js +168 -0
  80. package/dist/cjs/src/generated/waterx_account/account.d.ts +1906 -0
  81. package/dist/cjs/src/generated/waterx_account/account.js +1929 -0
  82. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/liability.d.ts +11 -0
  83. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/liability.js +16 -0
  84. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/sheet.d.ts +49 -0
  85. package/dist/cjs/src/generated/waterx_account/deps/bucket_v2_framework/sheet.js +52 -0
  86. package/dist/cjs/src/generated/waterx_account/deps/std/type_name.d.ts +17 -0
  87. package/dist/cjs/src/generated/waterx_account/deps/std/type_name.js +22 -0
  88. package/dist/cjs/src/generated/waterx_account/deps/sui/balance.d.ts +12 -0
  89. package/dist/cjs/src/generated/waterx_account/deps/sui/balance.js +17 -0
  90. package/dist/cjs/src/generated/waterx_account/deps/sui/object_table.d.ts +17 -0
  91. package/dist/cjs/src/generated/waterx_account/deps/sui/object_table.js +22 -0
  92. package/dist/cjs/src/generated/waterx_account/deps/sui/table.d.ts +29 -0
  93. package/dist/cjs/src/generated/waterx_account/deps/sui/table.js +34 -0
  94. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_map.d.ts +36 -0
  95. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_map.js +31 -0
  96. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_set.d.ts +16 -0
  97. package/dist/cjs/src/generated/waterx_account/deps/sui/vec_set.js +22 -0
  98. package/dist/cjs/src/generated/waterx_account/direct_rule.d.ts +77 -0
  99. package/dist/cjs/src/generated/waterx_account/direct_rule.js +83 -0
  100. package/dist/cjs/src/generated/waterx_account/events.d.ts +190 -0
  101. package/dist/cjs/src/generated/waterx_account/events.js +173 -0
  102. package/dist/cjs/src/generated/waterx_account/version.d.ts +10 -0
  103. package/dist/cjs/src/generated/waterx_account/version.js +11 -0
  104. package/dist/cjs/src/generated/waterx_constant_rule/constant_rule.d.ts +68 -0
  105. package/dist/cjs/src/generated/waterx_constant_rule/constant_rule.js +97 -0
  106. package/dist/cjs/src/generated/waterx_constant_rule/deps/bucket_v2_framework/float.d.ts +8 -0
  107. package/dist/cjs/src/generated/waterx_constant_rule/deps/bucket_v2_framework/float.js +13 -0
  108. package/dist/cjs/src/generated/waterx_constant_rule/deps/sui/vec_map.d.ts +36 -0
  109. package/dist/cjs/src/generated/waterx_constant_rule/deps/sui/vec_map.js +31 -0
  110. package/dist/cjs/src/generated/waterx_credit/credit_registry.d.ts +708 -0
  111. package/dist/cjs/src/generated/waterx_credit/credit_registry.js +728 -0
  112. package/dist/cjs/src/generated/waterx_credit/deps/std/type_name.d.ts +17 -0
  113. package/dist/cjs/src/generated/waterx_credit/deps/std/type_name.js +22 -0
  114. package/dist/cjs/src/generated/waterx_credit/deps/sui/table.d.ts +29 -0
  115. package/dist/cjs/src/generated/waterx_credit/deps/sui/table.js +34 -0
  116. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_map.d.ts +36 -0
  117. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_map.js +31 -0
  118. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_set.d.ts +16 -0
  119. package/dist/cjs/src/generated/waterx_credit/deps/sui/vec_set.js +22 -0
  120. package/dist/cjs/src/generated/waterx_credit/limited_supply.d.ts +107 -0
  121. package/dist/cjs/src/generated/waterx_credit/limited_supply.js +143 -0
  122. package/dist/cjs/src/generated/waterx_oracle/aggregator.d.ts +211 -0
  123. package/dist/cjs/src/generated/waterx_oracle/aggregator.js +258 -0
  124. package/dist/cjs/src/generated/waterx_oracle/collector.d.ts +119 -0
  125. package/dist/cjs/src/generated/waterx_oracle/collector.js +147 -0
  126. package/dist/cjs/src/generated/waterx_oracle/deps/bucket_v2_framework/float.d.ts +8 -0
  127. package/dist/cjs/src/generated/waterx_oracle/deps/bucket_v2_framework/float.js +13 -0
  128. package/dist/cjs/src/generated/waterx_oracle/deps/std/type_name.d.ts +17 -0
  129. package/dist/cjs/src/generated/waterx_oracle/deps/std/type_name.js +22 -0
  130. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_map.d.ts +36 -0
  131. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_map.js +31 -0
  132. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_set.d.ts +16 -0
  133. package/dist/cjs/src/generated/waterx_oracle/deps/sui/vec_set.js +22 -0
  134. package/dist/cjs/src/generated/waterx_oracle/oracle.d.ts +304 -0
  135. package/dist/cjs/src/generated/waterx_oracle/oracle.js +381 -0
  136. package/dist/cjs/src/generated/waterx_oracle/version.d.ts +10 -0
  137. package/dist/cjs/src/generated/waterx_oracle/version.js +11 -0
  138. package/dist/cjs/src/generated/waterx_perp/account_data.d.ts +269 -0
  139. package/dist/cjs/src/generated/waterx_perp/account_data.js +340 -0
  140. package/dist/cjs/src/generated/waterx_perp/admin.d.ts +19 -0
  141. package/dist/cjs/src/generated/waterx_perp/admin.js +26 -0
  142. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/double.d.ts +8 -0
  143. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/double.js +13 -0
  144. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/float.d.ts +8 -0
  145. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/float.js +13 -0
  146. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/liability.d.ts +11 -0
  147. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/liability.js +16 -0
  148. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  149. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/linked_table.js +21 -0
  150. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.d.ts +49 -0
  151. package/dist/cjs/src/generated/waterx_perp/deps/bucket_v2_framework/sheet.js +52 -0
  152. package/dist/cjs/src/generated/waterx_perp/deps/std/type_name.d.ts +17 -0
  153. package/dist/cjs/src/generated/waterx_perp/deps/std/type_name.js +22 -0
  154. package/dist/cjs/src/generated/waterx_perp/deps/sui/balance.d.ts +15 -0
  155. package/dist/cjs/src/generated/waterx_perp/deps/sui/balance.js +20 -0
  156. package/dist/cjs/src/generated/waterx_perp/deps/sui/coin.d.ts +14 -0
  157. package/dist/cjs/src/generated/waterx_perp/deps/sui/coin.js +51 -0
  158. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_map.d.ts +36 -0
  159. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_map.js +31 -0
  160. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_set.d.ts +16 -0
  161. package/dist/cjs/src/generated/waterx_perp/deps/sui/vec_set.js +22 -0
  162. package/dist/cjs/src/generated/waterx_perp/events.d.ts +1283 -0
  163. package/dist/cjs/src/generated/waterx_perp/events.js +990 -0
  164. package/dist/cjs/src/generated/waterx_perp/global_config.d.ts +775 -0
  165. package/dist/cjs/src/generated/waterx_perp/global_config.js +918 -0
  166. package/dist/cjs/src/generated/waterx_perp/keyed_big_vector.d.ts +553 -0
  167. package/dist/cjs/src/generated/waterx_perp/keyed_big_vector.js +626 -0
  168. package/dist/cjs/src/generated/waterx_perp/lp_pool.d.ts +1648 -0
  169. package/dist/cjs/src/generated/waterx_perp/lp_pool.js +1630 -0
  170. package/dist/cjs/src/generated/waterx_perp/market_config.d.ts +733 -0
  171. package/dist/cjs/src/generated/waterx_perp/market_config.js +871 -0
  172. package/dist/cjs/src/generated/waterx_perp/math.d.ts +63 -0
  173. package/dist/cjs/src/generated/waterx_perp/math.js +70 -0
  174. package/dist/cjs/src/generated/waterx_perp/memo.d.ts +251 -0
  175. package/dist/cjs/src/generated/waterx_perp/memo.js +360 -0
  176. package/dist/cjs/src/generated/waterx_perp/order_book.d.ts +290 -0
  177. package/dist/cjs/src/generated/waterx_perp/order_book.js +388 -0
  178. package/dist/cjs/src/generated/waterx_perp/position.d.ts +1005 -0
  179. package/dist/cjs/src/generated/waterx_perp/position.js +1200 -0
  180. package/dist/cjs/src/generated/waterx_perp/request.d.ts +544 -0
  181. package/dist/cjs/src/generated/waterx_perp/request.js +609 -0
  182. package/dist/cjs/src/generated/waterx_perp/response.d.ts +247 -0
  183. package/dist/cjs/src/generated/waterx_perp/response.js +331 -0
  184. package/dist/cjs/src/generated/waterx_perp/trading.d.ts +2945 -0
  185. package/dist/cjs/src/generated/waterx_perp/trading.js +2616 -0
  186. package/dist/cjs/src/generated/waterx_perp/version.d.ts +10 -0
  187. package/dist/cjs/src/generated/waterx_perp/version.js +11 -0
  188. package/dist/cjs/src/generated/waterx_perp/witness.d.ts +18 -0
  189. package/dist/cjs/src/generated/waterx_perp/witness.js +25 -0
  190. package/dist/cjs/src/generated/waterx_perp_view/deps/std/type_name.d.ts +17 -0
  191. package/dist/cjs/src/generated/waterx_perp_view/deps/std/type_name.js +22 -0
  192. package/dist/cjs/src/generated/waterx_perp_view/view.d.ts +447 -0
  193. package/dist/cjs/src/generated/waterx_perp_view/view.js +459 -0
  194. package/dist/cjs/src/generated/waterx_prediction/account_data.d.ts +344 -0
  195. package/dist/cjs/src/generated/waterx_prediction/account_data.js +470 -0
  196. package/dist/cjs/src/generated/waterx_prediction/admin.d.ts +7 -0
  197. package/dist/cjs/src/generated/waterx_prediction/admin.js +12 -0
  198. package/dist/cjs/src/generated/waterx_prediction/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  199. package/dist/cjs/src/generated/waterx_prediction/deps/bucket_v2_framework/linked_table.js +21 -0
  200. package/dist/cjs/src/generated/waterx_prediction/deps/sui/balance.d.ts +12 -0
  201. package/dist/cjs/src/generated/waterx_prediction/deps/sui/balance.js +17 -0
  202. package/dist/cjs/src/generated/waterx_prediction/deps/sui/table.d.ts +29 -0
  203. package/dist/cjs/src/generated/waterx_prediction/deps/sui/table.js +34 -0
  204. package/dist/cjs/src/generated/waterx_prediction/deps/sui/vec_set.d.ts +16 -0
  205. package/dist/cjs/src/generated/waterx_prediction/deps/sui/vec_set.js +22 -0
  206. package/dist/cjs/src/generated/waterx_prediction/events.d.ts +288 -0
  207. package/dist/cjs/src/generated/waterx_prediction/events.js +254 -0
  208. package/dist/cjs/src/generated/waterx_prediction/global_config.d.ts +121 -0
  209. package/dist/cjs/src/generated/waterx_prediction/global_config.js +186 -0
  210. package/dist/cjs/src/generated/waterx_prediction/order.d.ts +233 -0
  211. package/dist/cjs/src/generated/waterx_prediction/order.js +339 -0
  212. package/dist/cjs/src/generated/waterx_prediction/outcome.d.ts +58 -0
  213. package/dist/cjs/src/generated/waterx_prediction/outcome.js +82 -0
  214. package/dist/cjs/src/generated/waterx_prediction/position.d.ts +175 -0
  215. package/dist/cjs/src/generated/waterx_prediction/position.js +232 -0
  216. package/dist/cjs/src/generated/waterx_prediction/version.d.ts +10 -0
  217. package/dist/cjs/src/generated/waterx_prediction/version.js +11 -0
  218. package/dist/cjs/src/generated/waterx_prediction/view.d.ts +418 -0
  219. package/dist/cjs/src/generated/waterx_prediction/view.js +492 -0
  220. package/dist/cjs/src/generated/waterx_prediction/waterx_prediction.d.ts +1858 -0
  221. package/dist/cjs/src/generated/waterx_prediction/waterx_prediction.js +1972 -0
  222. package/dist/cjs/src/generated/waterx_pyth_rule/deps/sui/vec_map.d.ts +36 -0
  223. package/dist/cjs/src/generated/waterx_pyth_rule/deps/sui/vec_map.js +31 -0
  224. package/dist/cjs/src/generated/waterx_pyth_rule/pyth_rule.d.ts +192 -0
  225. package/dist/cjs/src/generated/waterx_pyth_rule/pyth_rule.js +214 -0
  226. package/dist/cjs/src/generated/waterx_referral/deps/sui/table.d.ts +29 -0
  227. package/dist/cjs/src/generated/waterx_referral/deps/sui/table.js +34 -0
  228. package/dist/cjs/src/generated/waterx_referral/deps/sui/vec_set.d.ts +16 -0
  229. package/dist/cjs/src/generated/waterx_referral/deps/sui/vec_set.js +22 -0
  230. package/dist/cjs/src/generated/waterx_referral/referral_table.d.ts +171 -0
  231. package/dist/cjs/src/generated/waterx_referral/referral_table.js +239 -0
  232. package/dist/cjs/src/generated/waterx_staking/deps/bucket_v2_framework/double.d.ts +8 -0
  233. package/dist/cjs/src/generated/waterx_staking/deps/bucket_v2_framework/double.js +13 -0
  234. package/dist/cjs/src/generated/waterx_staking/deps/sui/balance.d.ts +12 -0
  235. package/dist/cjs/src/generated/waterx_staking/deps/sui/balance.js +17 -0
  236. package/dist/cjs/src/generated/waterx_staking/deps/sui/table.d.ts +29 -0
  237. package/dist/cjs/src/generated/waterx_staking/deps/sui/table.js +34 -0
  238. package/dist/cjs/src/generated/waterx_staking/deps/sui/vec_set.d.ts +16 -0
  239. package/dist/cjs/src/generated/waterx_staking/deps/sui/vec_set.js +22 -0
  240. package/dist/cjs/src/generated/waterx_staking/waterx_staking.d.ts +746 -0
  241. package/dist/cjs/src/generated/waterx_staking/waterx_staking.js +797 -0
  242. package/dist/cjs/src/generated/waterx_staking/witness.d.ts +16 -0
  243. package/dist/cjs/src/generated/waterx_staking/witness.js +21 -0
  244. package/dist/cjs/src/generated/waterx_supra_rule/deps/sui/vec_map.d.ts +36 -0
  245. package/dist/cjs/src/generated/waterx_supra_rule/deps/sui/vec_map.js +31 -0
  246. package/dist/cjs/src/generated/waterx_supra_rule/supra_rule.d.ts +158 -0
  247. package/dist/cjs/src/generated/waterx_supra_rule/supra_rule.js +189 -0
  248. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/float.d.ts +8 -0
  249. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/float.js +13 -0
  250. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.d.ts +8 -0
  251. package/dist/cjs/src/generated/withdrawal_queue/deps/bucket_v2_framework/linked_table.js +21 -0
  252. package/dist/cjs/src/generated/withdrawal_queue/deps/std/type_name.d.ts +17 -0
  253. package/dist/cjs/src/generated/withdrawal_queue/deps/std/type_name.js +22 -0
  254. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/balance.d.ts +12 -0
  255. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/balance.js +17 -0
  256. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_map.d.ts +36 -0
  257. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_map.js +31 -0
  258. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_set.d.ts +16 -0
  259. package/dist/cjs/src/generated/withdrawal_queue/deps/sui/vec_set.js +22 -0
  260. package/dist/cjs/src/generated/withdrawal_queue/withdrawal_queue.d.ts +923 -0
  261. package/dist/cjs/src/generated/withdrawal_queue/withdrawal_queue.js +965 -0
  262. package/dist/cjs/src/generated/wlp/wlp.d.ts +28 -0
  263. package/dist/cjs/src/generated/wlp/wlp.js +37 -0
  264. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/table.d.ts +29 -0
  265. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/table.js +34 -0
  266. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_map.d.ts +36 -0
  267. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_map.js +31 -0
  268. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_set.d.ts +16 -0
  269. package/dist/cjs/src/generated/wormhole_bridge/deps/sui/vec_set.js +22 -0
  270. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.d.ts +12 -0
  271. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/consumed_vaas.js +45 -0
  272. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.d.ts +14 -0
  273. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/emitter.js +19 -0
  274. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/set.d.ts +16 -0
  275. package/dist/cjs/src/generated/wormhole_bridge/deps/wormhole_sdk/set.js +51 -0
  276. package/dist/cjs/src/generated/wormhole_bridge/events.d.ts +32 -0
  277. package/dist/cjs/src/generated/wormhole_bridge/events.js +31 -0
  278. package/dist/cjs/src/generated/wormhole_bridge/wormhole_bridge.d.ts +638 -0
  279. package/dist/cjs/src/generated/wormhole_bridge/wormhole_bridge.js +692 -0
  280. package/dist/cjs/src/oracle/aggregate.d.ts +74 -0
  281. package/dist/cjs/src/oracle/aggregate.js +118 -0
  282. package/dist/cjs/src/oracle/config.d.ts +99 -0
  283. package/dist/cjs/src/oracle/config.js +26 -0
  284. package/dist/cjs/src/oracle/host.d.ts +32 -0
  285. package/dist/cjs/src/oracle/host.js +11 -0
  286. package/dist/cjs/src/oracle/index.d.ts +16 -0
  287. package/dist/cjs/src/oracle/index.js +31 -0
  288. package/dist/cjs/src/oracle/pyth.d.ts +52 -0
  289. package/dist/cjs/src/oracle/pyth.js +227 -0
  290. package/dist/cjs/src/oracle/rules/constant-rule.d.ts +9 -0
  291. package/dist/cjs/src/oracle/rules/constant-rule.js +17 -0
  292. package/dist/cjs/src/oracle/rules/pyth-rule.d.ts +11 -0
  293. package/dist/cjs/src/oracle/rules/pyth-rule.js +23 -0
  294. package/dist/cjs/src/oracle/rules/sponsor.d.ts +28 -0
  295. package/dist/cjs/src/oracle/rules/sponsor.js +52 -0
  296. package/dist/cjs/src/oracle/rules/supra-rule.d.ts +11 -0
  297. package/dist/cjs/src/oracle/rules/supra-rule.js +25 -0
  298. package/dist/cjs/src/perp/client.d.ts +78 -0
  299. package/dist/cjs/src/perp/client.js +112 -0
  300. package/dist/cjs/src/perp/config-view.d.ts +102 -0
  301. package/dist/cjs/src/perp/config-view.js +178 -0
  302. package/dist/cjs/src/perp/config.d.ts +126 -0
  303. package/dist/cjs/src/perp/config.js +119 -0
  304. package/dist/cjs/src/perp/constants.d.ts +49 -0
  305. package/dist/cjs/src/perp/constants.js +79 -0
  306. package/dist/cjs/src/perp/fetch/account.d.ts +43 -0
  307. package/dist/cjs/src/perp/fetch/account.js +69 -0
  308. package/dist/cjs/src/perp/fetch/bridge.d.ts +90 -0
  309. package/dist/cjs/src/perp/fetch/bridge.js +131 -0
  310. package/dist/cjs/src/perp/fetch/custody.d.ts +32 -0
  311. package/dist/cjs/src/perp/fetch/custody.js +66 -0
  312. package/dist/cjs/src/perp/fetch/market.d.ts +30 -0
  313. package/dist/cjs/src/perp/fetch/market.js +75 -0
  314. package/dist/cjs/src/perp/fetch/positions.d.ts +70 -0
  315. package/dist/cjs/src/perp/fetch/positions.js +195 -0
  316. package/dist/cjs/src/perp/fetch/simulate.d.ts +12 -0
  317. package/dist/cjs/src/perp/fetch/simulate.js +21 -0
  318. package/dist/cjs/src/perp/fetch.d.ts +23 -0
  319. package/dist/cjs/src/perp/fetch.js +39 -0
  320. package/dist/cjs/src/perp/index.d.ts +29 -0
  321. package/dist/cjs/src/perp/index.js +183 -0
  322. package/dist/cjs/src/perp/tx-builders/common.d.ts +83 -0
  323. package/dist/cjs/src/perp/tx-builders/common.js +76 -0
  324. package/dist/cjs/src/perp/tx-builders/credit.d.ts +65 -0
  325. package/dist/cjs/src/perp/tx-builders/credit.js +67 -0
  326. package/dist/cjs/src/perp/tx-builders/rewards.d.ts +30 -0
  327. package/dist/cjs/src/perp/tx-builders/rewards.js +37 -0
  328. package/dist/cjs/src/perp/tx-builders/trading.d.ts +51 -0
  329. package/dist/cjs/src/perp/tx-builders/trading.js +71 -0
  330. package/dist/cjs/src/perp/tx-builders/wlp.d.ts +90 -0
  331. package/dist/cjs/src/perp/tx-builders/wlp.js +126 -0
  332. package/dist/cjs/src/perp/tx-builders.d.ts +23 -0
  333. package/dist/cjs/src/perp/tx-builders.js +45 -0
  334. package/dist/cjs/src/perp/user/index.d.ts +8 -0
  335. package/dist/cjs/src/perp/user/index.js +24 -0
  336. package/dist/cjs/src/perp/user/order.d.ts +89 -0
  337. package/dist/cjs/src/perp/user/order.js +175 -0
  338. package/dist/cjs/src/perp/user/staking.d.ts +54 -0
  339. package/dist/cjs/src/perp/user/staking.js +147 -0
  340. package/dist/cjs/src/perp/user/trading.d.ts +119 -0
  341. package/dist/cjs/src/perp/user/trading.js +310 -0
  342. package/dist/cjs/src/perp/user/wlp.d.ts +58 -0
  343. package/dist/cjs/src/perp/user/wlp.js +139 -0
  344. package/dist/cjs/src/prediction/account.d.ts +96 -0
  345. package/dist/cjs/src/prediction/account.js +212 -0
  346. package/dist/cjs/src/prediction/admin.d.ts +47 -0
  347. package/dist/cjs/src/prediction/admin.js +116 -0
  348. package/dist/cjs/src/prediction/bcs.d.ts +28 -0
  349. package/dist/cjs/src/prediction/bcs.js +189 -0
  350. package/dist/cjs/src/prediction/client.d.ts +45 -0
  351. package/dist/cjs/src/prediction/client.js +112 -0
  352. package/dist/cjs/src/prediction/config.d.ts +74 -0
  353. package/dist/cjs/src/prediction/config.js +86 -0
  354. package/dist/cjs/src/prediction/constants.d.ts +44 -0
  355. package/dist/cjs/src/prediction/constants.js +49 -0
  356. package/dist/cjs/src/prediction/fetch.d.ts +82 -0
  357. package/dist/cjs/src/prediction/fetch.js +294 -0
  358. package/dist/cjs/src/prediction/gift-link.d.ts +6 -0
  359. package/dist/cjs/src/prediction/gift-link.js +16 -0
  360. package/dist/cjs/src/prediction/gift.d.ts +223 -0
  361. package/dist/cjs/src/prediction/gift.js +465 -0
  362. package/dist/cjs/src/prediction/index.d.ts +29 -0
  363. package/dist/cjs/src/prediction/index.js +154 -0
  364. package/dist/cjs/src/prediction/prediction.d.ts +149 -0
  365. package/dist/cjs/src/prediction/prediction.js +410 -0
  366. package/dist/cjs/src/prediction/tx-builders.d.ts +44 -0
  367. package/dist/cjs/src/prediction/tx-builders.js +56 -0
  368. package/dist/cjs/src/prediction/types.d.ts +95 -0
  369. package/dist/cjs/src/prediction/types.js +2 -0
  370. package/dist/cjs/src/prediction/user/account.d.ts +2 -0
  371. package/dist/cjs/src/prediction/user/account.js +17 -0
  372. package/dist/cjs/src/prediction/user/admin.d.ts +6 -0
  373. package/dist/cjs/src/prediction/user/admin.js +19 -0
  374. package/dist/cjs/src/prediction/user/gift.d.ts +2 -0
  375. package/dist/cjs/src/prediction/user/gift.js +24 -0
  376. package/dist/cjs/src/prediction/user/index.d.ts +5 -0
  377. package/dist/cjs/src/prediction/user/index.js +60 -0
  378. package/dist/cjs/src/prediction/user/keeper.d.ts +2 -0
  379. package/dist/cjs/src/prediction/user/keeper.js +13 -0
  380. package/dist/cjs/src/prediction/user/order.d.ts +2 -0
  381. package/dist/cjs/src/prediction/user/order.js +6 -0
  382. package/dist/cjs/src/prediction/user/position.d.ts +2 -0
  383. package/dist/cjs/src/prediction/user/position.js +11 -0
  384. package/dist/cjs/src/prediction/utils/bcs.d.ts +6 -0
  385. package/dist/cjs/src/prediction/utils/bcs.js +29 -0
  386. package/dist/cjs/src/prediction/utils/index.d.ts +8 -0
  387. package/dist/cjs/src/prediction/utils/index.js +31 -0
  388. package/dist/cjs/src/prediction/utils.d.ts +30 -0
  389. package/dist/cjs/src/prediction/utils.js +200 -0
  390. package/dist/cjs/src/sdk.d.ts +22 -0
  391. package/dist/cjs/src/sdk.js +62 -0
  392. package/dist/cjs/src/unified-client.d.ts +402 -0
  393. package/dist/cjs/src/unified-client.js +218 -0
  394. package/dist/cjs/src/utils/config.d.ts +11 -0
  395. package/dist/cjs/src/utils/config.js +19 -0
  396. package/dist/cjs/src/utils/math.d.ts +287 -0
  397. package/dist/cjs/src/utils/math.js +469 -0
  398. package/package.json +119 -31
@@ -0,0 +1,1929 @@
1
+ "use strict";
2
+ /**************************************************************
3
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
4
+ **************************************************************/
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.AccountKey = exports.PausedProtocolsKey = exports.WithdrawRequest = exports.DepositRequest = exports.Account = exports.Delegate = exports.ProtocolDataKey = exports.Vault = exports.VaultKey = exports.AccountRegistry = exports.WaterXAccount = exports.AdminCap = exports.ACCOUNT = void 0;
40
+ exports.permNone = permNone;
41
+ exports.permWithdraw = permWithdraw;
42
+ exports.permManageDelegates = permManageDelegates;
43
+ exports.permReceive = permReceive;
44
+ exports.permAll = permAll;
45
+ exports.aliasMaxLength = aliasMaxLength;
46
+ exports.maxAccountsPerOwner = maxAccountsPerOwner;
47
+ exports.maxDelegatesPerAccount = maxDelegatesPerAccount;
48
+ exports.maxProtocolPermsPerDelegate = maxProtocolPermsPerDelegate;
49
+ exports.assertVersion = assertVersion;
50
+ exports.isVersionAllowed = isVersionAllowed;
51
+ exports.allowVersion = allowVersion;
52
+ exports.disallowVersion = disallowVersion;
53
+ exports.isPaused = isPaused;
54
+ exports.assertNotPaused = assertNotPaused;
55
+ exports.pause = pause;
56
+ exports.unpause = unpause;
57
+ exports.isManager = isManager;
58
+ exports.managers = managers;
59
+ exports.addManager = addManager;
60
+ exports.removeManager = removeManager;
61
+ exports.isProtocolWhitelisted = isProtocolWhitelisted;
62
+ exports.isProtocolAssetAllowed = isProtocolAssetAllowed;
63
+ exports.protocolWhitelist = protocolWhitelist;
64
+ exports.whitelistProtocol = whitelistProtocol;
65
+ exports.delistProtocol = delistProtocol;
66
+ exports.pauseProtocol = pauseProtocol;
67
+ exports.unpauseProtocol = unpauseProtocol;
68
+ exports.isProtocolPaused = isProtocolPaused;
69
+ exports.allowProtocolAsset = allowProtocolAsset;
70
+ exports.disallowProtocolAsset = disallowProtocolAsset;
71
+ exports.isDepositPolicyRegistered = isDepositPolicyRegistered;
72
+ exports.isWithdrawPolicyRegistered = isWithdrawPolicyRegistered;
73
+ exports.isDepositPolicyRegisteredFor = isDepositPolicyRegisteredFor;
74
+ exports.isWithdrawPolicyRegisteredFor = isWithdrawPolicyRegisteredFor;
75
+ exports.depositPoliciesFor = depositPoliciesFor;
76
+ exports.withdrawPoliciesFor = withdrawPoliciesFor;
77
+ exports.depositPolicies = depositPolicies;
78
+ exports.withdrawPolicies = withdrawPolicies;
79
+ exports.registerDepositPolicy = registerDepositPolicy;
80
+ exports.registerWithdrawPolicy = registerWithdrawPolicy;
81
+ exports.unregisterDepositPolicy = unregisterDepositPolicy;
82
+ exports.unregisterWithdrawPolicy = unregisterWithdrawPolicy;
83
+ exports.createAccount = createAccount;
84
+ exports.deriveAccountAddress = deriveAccountAddress;
85
+ exports.setAlias = setAlias;
86
+ exports.addDelegate = addDelegate;
87
+ exports.removeDelegate = removeDelegate;
88
+ exports.updateDelegate = updateDelegate;
89
+ exports.setDelegateProtocolPermission = setDelegateProtocolPermission;
90
+ exports.unsetDelegateProtocolPermission = unsetDelegateProtocolPermission;
91
+ exports.requestDeposit = requestDeposit;
92
+ exports.requestDepositFromReceivings = requestDepositFromReceivings;
93
+ exports.requestDepositFromFunds = requestDepositFromFunds;
94
+ exports.consumeDeposit = consumeDeposit;
95
+ exports.requestWithdraw = requestWithdraw;
96
+ exports.consumeWithdraw = consumeWithdraw;
97
+ exports.transferCoin = transferCoin;
98
+ exports.receive = receive;
99
+ exports.withdrawFromFunds = withdrawFromFunds;
100
+ exports.take = take;
101
+ exports.put = put;
102
+ exports.hasAccount = hasAccount;
103
+ exports.isAccountAuthorized = isAccountAuthorized;
104
+ exports.isAccountOwner = isAccountOwner;
105
+ exports.accountCount = accountCount;
106
+ exports.accountIds = accountIds;
107
+ exports.effectivePermissions = effectivePermissions;
108
+ exports.hasPermission = hasPermission;
109
+ exports.effectiveProtocolPermissions = effectiveProtocolPermissions;
110
+ exports.hasProtocolPermission = hasProtocolPermission;
111
+ exports.accountBalance = accountBalance;
112
+ exports.accountBalances = accountBalances;
113
+ exports.balance = balance;
114
+ exports.accountOwner = accountOwner;
115
+ exports.accountAlias = accountAlias;
116
+ exports.accountId = accountId;
117
+ exports.accountAddress = accountAddress;
118
+ exports.accountDelegates = accountDelegates;
119
+ exports.accountBalancesField = accountBalancesField;
120
+ exports.delegateAddress = delegateAddress;
121
+ exports.delegateAlias = delegateAlias;
122
+ exports.delegatePermissions = delegatePermissions;
123
+ exports.delegateProtocolPermissions = delegateProtocolPermissions;
124
+ exports.delegateExpiresAtMs = delegateExpiresAtMs;
125
+ exports.depositRequestAccountId = depositRequestAccountId;
126
+ exports.depositRequestBalance = depositRequestBalance;
127
+ exports.depositRequestAmount = depositRequestAmount;
128
+ exports.depositRequestExtraData = depositRequestExtraData;
129
+ exports.withdrawRequestAccountId = withdrawRequestAccountId;
130
+ exports.withdrawRequestBalance = withdrawRequestBalance;
131
+ exports.withdrawRequestAmount = withdrawRequestAmount;
132
+ exports.withdrawRequestRecipient = withdrawRequestRecipient;
133
+ exports.withdrawRequestExtraData = withdrawRequestExtraData;
134
+ exports.newData = newData;
135
+ exports.borrowData = borrowData;
136
+ exports.borrowDataMut = borrowDataMut;
137
+ exports.hasData = hasData;
138
+ exports.removeData = removeData;
139
+ /**
140
+ * Generalized multi-account framework for the WaterX ecosystem.
141
+ *
142
+ * Pure custody layer. Accounts hold per-T `Balance<T>` as dynamic fields keyed by
143
+ * `BalanceKey<T>()`, with a `VecMap<TypeName, u64>` mirror on each `Account` for
144
+ * fast enumeration. External flow in/out is mediated by hot-potato
145
+ * `DepositRequest<T>` / `WithdrawRequest<T>` that the framework issues; a
146
+ * registered policy module destroys the potato with its own witness and decides
147
+ * what final asset to put back into the account (e.g. a PSM policy turns
148
+ * `Coin<USDC>` into `Balance<USD>` and credits the account via `put<USD, P>`).
149
+ *
150
+ * Internal protocol ↔ account flow stays witness-gated via `take<T, P>` /
151
+ * `put<T, P>` with no policy registration involved — the protocol module's witness
152
+ * is the only authority needed, since only that module can construct a value of
153
+ * its witness type.
154
+ *
155
+ * Types of T:
156
+ *
157
+ * - Has registered deposit policy → `request_deposit<T>` works.
158
+ * - Has registered withdraw policy → `request_withdraw<T>` works.
159
+ * - Neither → "Parkable". Coins can sit on the account address via
160
+ * `transfer_coin<T>` or external `transfer::public_transfer`, but nothing the
161
+ * framework does will fold them into the account until a policy is registered
162
+ * (or owner drains via `receive_coin`).
163
+ */
164
+ const index_ts_1 = require("../utils/index.js");
165
+ const bcs_1 = require("@mysten/sui/bcs");
166
+ const object_table = __importStar(require("./deps/sui/object_table.js"));
167
+ const table = __importStar(require("./deps/sui/table.js"));
168
+ const vec_map = __importStar(require("./deps/sui/vec_map.js"));
169
+ const type_name = __importStar(require("./deps/std/type_name.js"));
170
+ const vec_set = __importStar(require("./deps/sui/vec_set.js"));
171
+ const balance_1 = __importStar(require("./deps/sui/balance.js"));
172
+ const sheet = __importStar(require("./deps/bucket_v2_framework/sheet.js"));
173
+ const $moduleName = '@waterx/account::account';
174
+ exports.ACCOUNT = new index_ts_1.MoveStruct({ name: `${$moduleName}::ACCOUNT`, fields: {
175
+ dummy_field: bcs_1.bcs.bool()
176
+ } });
177
+ exports.AdminCap = new index_ts_1.MoveStruct({ name: `${$moduleName}::AdminCap`, fields: {
178
+ id: bcs_1.bcs.Address
179
+ } });
180
+ exports.WaterXAccount = new index_ts_1.MoveStruct({ name: `${$moduleName}::WaterXAccount`, fields: {
181
+ dummy_field: bcs_1.bcs.bool()
182
+ } });
183
+ exports.AccountRegistry = new index_ts_1.MoveStruct({ name: `${$moduleName}::AccountRegistry`, fields: {
184
+ id: bcs_1.bcs.Address,
185
+ /**
186
+ * `ObjectTable` (not plain `Table`) so each `Account` retains a distinct on-chain
187
+ * address that off-chain callers can query directly via `getObject(account_id)`
188
+ * instead of walking dynamic-field handles on the registry UID.
189
+ */
190
+ accounts: object_table.ObjectTable,
191
+ owner_index: table.Table,
192
+ /**
193
+ * Admin-managed whitelist of protocol witness types allowed to move funds
194
+ * (`take<T, P>` / `put<T, P>`) and mutate per-account protocol data
195
+ * (`new_data<P, D>` / `borrow_data_mut<P, D>` / `remove_data<P, D>`). For each
196
+ * whitelisted `P`, the value is the set of asset types `T` that protocol is
197
+ * allowed to draw via `take<T, P>` — admin opts each pair in via two phases:
198
+ * `whitelist_protocol<P>(registry, &AdminCap)` registers `P` with an empty asset
199
+ * set, then `allow_protocol_asset<P, T>(registry, &AdminCap)` adds each T.
200
+ *
201
+ * Gates:
202
+ *
203
+ * - `take<T, P>` requires both `P` whitelisted AND `T` in `protocol_whitelist[P]`
204
+ * (plus per-account auth on the caller).
205
+ * - `put<T, P>` requires only `P` whitelisted. The T-gate stays open even after
206
+ * `disallow_protocol_asset<P, T>`, so existing positions can always close.
207
+ * - `new_data<P, _>` / `borrow_data_mut<P, _>` / `remove_data<P, _>` require only
208
+ * `P` whitelisted.
209
+ */
210
+ protocol_whitelist: vec_map.VecMap(type_name.TypeName, vec_set.VecSet(type_name.TypeName)),
211
+ /**
212
+ * `T → registered DepositPolicy witness TypeName`. Presence means
213
+ * `request_deposit<T>` / `request_deposit_from_receivings<T>` are permitted; only
214
+ * the module that defines the registered witness type can call
215
+ * `consume_deposit<T, P>` to unwrap the resulting `DepositRequest<T>`. Deposit
216
+ * policy registration is independent of `protocol_whitelist` — a policy can be the
217
+ * _consumer_ of a request without being allowed to `take`/`put`.
218
+ * `T → set of DepositPolicy witness TypeNames`. Multiple policies can be
219
+ * registered per T to support extension (a new policy added alongside the old) and
220
+ * migration (both coexist while consumers switch). `request_deposit<T>` requires
221
+ * the set to be non-empty; `consume_deposit<T, P>` requires P to be in the set.
222
+ */
223
+ deposit_policies: vec_map.VecMap(type_name.TypeName, vec_set.VecSet(type_name.TypeName)),
224
+ /**
225
+ * `T → set of WithdrawPolicy witness TypeNames`. Symmetric to `deposit_policies`
226
+ * for `request_withdraw<T>` / `consume_withdraw`.
227
+ */
228
+ withdraw_policies: vec_map.VecMap(type_name.TypeName, vec_set.VecSet(type_name.TypeName)),
229
+ /**
230
+ * Per-T aggregate of `Balance<T>` currently held inside accounts. Incremented in
231
+ * `put<T, P>`, decremented in `take<T, P>` and `request_withdraw<T>`. Does _not_
232
+ * include balance held by protocols (after `take`) or sitting in flight inside a
233
+ * `DepositRequest` / `WithdrawRequest` hot potato.
234
+ */
235
+ balances: vec_map.VecMap(type_name.TypeName, bcs_1.bcs.u64()),
236
+ allowed_versions: vec_set.VecSet(bcs_1.bcs.u16()),
237
+ managers: vec_set.VecSet(bcs_1.bcs.Address),
238
+ paused: bcs_1.bcs.bool()
239
+ } });
240
+ exports.VaultKey = new index_ts_1.MoveTuple({ name: `${$moduleName}::VaultKey<phantom T>`, fields: [bcs_1.bcs.bool()] });
241
+ exports.Vault = new index_ts_1.MoveStruct({ name: `${$moduleName}::Vault<phantom T>`, fields: {
242
+ balance: balance_1.Balance,
243
+ sheet: sheet.Sheet
244
+ } });
245
+ exports.ProtocolDataKey = new index_ts_1.MoveTuple({ name: `${$moduleName}::ProtocolDataKey<phantom PROTOCOL>`, fields: [bcs_1.bcs.bool()] });
246
+ exports.Delegate = new index_ts_1.MoveStruct({ name: `${$moduleName}::Delegate`, fields: {
247
+ delegate_address: bcs_1.bcs.Address,
248
+ alias: bcs_1.bcs.string(),
249
+ /**
250
+ * Framework-level action bitmap (`PERM_WITHDRAW`, `PERM_RECEIVE`,
251
+ * `PERM_MANAGE_DELEGATES`). **Vestigial — retained for ABI/bitmap stability but no
252
+ * longer the live authority for any path.** All three bits now gate nothing: the
253
+ * funds-out paths (`request_withdraw` / `withdraw_from_funds` / `receive`) and
254
+ * delegate-perm management (`set/unset_delegate_protocol_permission`) are
255
+ * owner-only. Delegate authority lives entirely in `protocol_permissions` below
256
+ * plus the per-account `take`/`put` gate. `effective_permissions` /
257
+ * `has_permission` remain as public views but no internal path consults them.
258
+ */
259
+ permissions: bcs_1.bcs.u32(),
260
+ /**
261
+ * Per-protocol bitmap. Missing key → delegate cannot drive that protocol. Each
262
+ * protocol's module interprets its own bits. Owner always has `PERM_ALL` per
263
+ * protocol regardless of this field.
264
+ */
265
+ protocol_permissions: vec_map.VecMap(type_name.TypeName, bcs_1.bcs.u32()),
266
+ expires_at_ms: bcs_1.bcs.option(bcs_1.bcs.u64())
267
+ } });
268
+ exports.Account = new index_ts_1.MoveStruct({ name: `${$moduleName}::Account`, fields: {
269
+ id: bcs_1.bcs.Address,
270
+ owner_address: bcs_1.bcs.Address,
271
+ alias: bcs_1.bcs.string(),
272
+ delegates: bcs_1.bcs.vector(exports.Delegate),
273
+ /**
274
+ * Mirror of the per-T `Balance<T>` values stored as dynamic fields under
275
+ * `BalanceKey<T>()` on this UID. Always equals the matching stored balance's
276
+ * `value()`.
277
+ */
278
+ balances: vec_map.VecMap(type_name.TypeName, bcs_1.bcs.u64())
279
+ } });
280
+ exports.DepositRequest = new index_ts_1.MoveStruct({ name: `${$moduleName}::DepositRequest<phantom T>`, fields: {
281
+ account_id: bcs_1.bcs.Address,
282
+ balance: balance_1.Balance,
283
+ extra_data: bcs_1.bcs.vector(bcs_1.bcs.u8())
284
+ } });
285
+ exports.WithdrawRequest = new index_ts_1.MoveStruct({ name: `${$moduleName}::WithdrawRequest<phantom T>`, fields: {
286
+ account_id: bcs_1.bcs.Address,
287
+ balance: balance_1.Balance,
288
+ recipient: bcs_1.bcs.Address,
289
+ extra_data: bcs_1.bcs.vector(bcs_1.bcs.u8())
290
+ } });
291
+ exports.PausedProtocolsKey = new index_ts_1.MoveTuple({ name: `${$moduleName}::PausedProtocolsKey`, fields: [bcs_1.bcs.bool()] });
292
+ exports.AccountKey = new index_ts_1.MoveStruct({ name: `${$moduleName}::AccountKey`, fields: {
293
+ owner: bcs_1.bcs.Address,
294
+ index: bcs_1.bcs.u64()
295
+ } });
296
+ function permNone(options = {}) {
297
+ const packageAddress = options.package ?? '@waterx/account';
298
+ return (tx) => tx.moveCall({
299
+ package: packageAddress,
300
+ module: 'account',
301
+ function: 'perm_none',
302
+ });
303
+ }
304
+ function permWithdraw(options = {}) {
305
+ const packageAddress = options.package ?? '@waterx/account';
306
+ return (tx) => tx.moveCall({
307
+ package: packageAddress,
308
+ module: 'account',
309
+ function: 'perm_withdraw',
310
+ });
311
+ }
312
+ function permManageDelegates(options = {}) {
313
+ const packageAddress = options.package ?? '@waterx/account';
314
+ return (tx) => tx.moveCall({
315
+ package: packageAddress,
316
+ module: 'account',
317
+ function: 'perm_manage_delegates',
318
+ });
319
+ }
320
+ function permReceive(options = {}) {
321
+ const packageAddress = options.package ?? '@waterx/account';
322
+ return (tx) => tx.moveCall({
323
+ package: packageAddress,
324
+ module: 'account',
325
+ function: 'perm_receive',
326
+ });
327
+ }
328
+ function permAll(options = {}) {
329
+ const packageAddress = options.package ?? '@waterx/account';
330
+ return (tx) => tx.moveCall({
331
+ package: packageAddress,
332
+ module: 'account',
333
+ function: 'perm_all',
334
+ });
335
+ }
336
+ function aliasMaxLength(options = {}) {
337
+ const packageAddress = options.package ?? '@waterx/account';
338
+ return (tx) => tx.moveCall({
339
+ package: packageAddress,
340
+ module: 'account',
341
+ function: 'alias_max_length',
342
+ });
343
+ }
344
+ function maxAccountsPerOwner(options = {}) {
345
+ const packageAddress = options.package ?? '@waterx/account';
346
+ return (tx) => tx.moveCall({
347
+ package: packageAddress,
348
+ module: 'account',
349
+ function: 'max_accounts_per_owner',
350
+ });
351
+ }
352
+ function maxDelegatesPerAccount(options = {}) {
353
+ const packageAddress = options.package ?? '@waterx/account';
354
+ return (tx) => tx.moveCall({
355
+ package: packageAddress,
356
+ module: 'account',
357
+ function: 'max_delegates_per_account',
358
+ });
359
+ }
360
+ function maxProtocolPermsPerDelegate(options = {}) {
361
+ const packageAddress = options.package ?? '@waterx/account';
362
+ return (tx) => tx.moveCall({
363
+ package: packageAddress,
364
+ module: 'account',
365
+ function: 'max_protocol_perms_per_delegate',
366
+ });
367
+ }
368
+ function assertVersion(options) {
369
+ const packageAddress = options.package ?? '@waterx/account';
370
+ const argumentsTypes = [
371
+ null
372
+ ];
373
+ const parameterNames = ["registry"];
374
+ return (tx) => tx.moveCall({
375
+ package: packageAddress,
376
+ module: 'account',
377
+ function: 'assert_version',
378
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
379
+ });
380
+ }
381
+ function isVersionAllowed(options) {
382
+ const packageAddress = options.package ?? '@waterx/account';
383
+ const argumentsTypes = [
384
+ null,
385
+ 'u16'
386
+ ];
387
+ const parameterNames = ["registry", "v"];
388
+ return (tx) => tx.moveCall({
389
+ package: packageAddress,
390
+ module: 'account',
391
+ function: 'is_version_allowed',
392
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
393
+ });
394
+ }
395
+ function allowVersion(options) {
396
+ const packageAddress = options.package ?? '@waterx/account';
397
+ const argumentsTypes = [
398
+ null,
399
+ null,
400
+ 'u16'
401
+ ];
402
+ const parameterNames = ["registry", "_", "v"];
403
+ return (tx) => tx.moveCall({
404
+ package: packageAddress,
405
+ module: 'account',
406
+ function: 'allow_version',
407
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
408
+ });
409
+ }
410
+ function disallowVersion(options) {
411
+ const packageAddress = options.package ?? '@waterx/account';
412
+ const argumentsTypes = [
413
+ null,
414
+ null,
415
+ 'u16'
416
+ ];
417
+ const parameterNames = ["registry", "_", "v"];
418
+ return (tx) => tx.moveCall({
419
+ package: packageAddress,
420
+ module: 'account',
421
+ function: 'disallow_version',
422
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
423
+ });
424
+ }
425
+ function isPaused(options) {
426
+ const packageAddress = options.package ?? '@waterx/account';
427
+ const argumentsTypes = [
428
+ null
429
+ ];
430
+ const parameterNames = ["registry"];
431
+ return (tx) => tx.moveCall({
432
+ package: packageAddress,
433
+ module: 'account',
434
+ function: 'is_paused',
435
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
436
+ });
437
+ }
438
+ function assertNotPaused(options) {
439
+ const packageAddress = options.package ?? '@waterx/account';
440
+ const argumentsTypes = [
441
+ null
442
+ ];
443
+ const parameterNames = ["registry"];
444
+ return (tx) => tx.moveCall({
445
+ package: packageAddress,
446
+ module: 'account',
447
+ function: 'assert_not_paused',
448
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
449
+ });
450
+ }
451
+ function pause(options) {
452
+ const packageAddress = options.package ?? '@waterx/account';
453
+ const argumentsTypes = [
454
+ null,
455
+ null
456
+ ];
457
+ const parameterNames = ["registry", "managerRequest"];
458
+ return (tx) => tx.moveCall({
459
+ package: packageAddress,
460
+ module: 'account',
461
+ function: 'pause',
462
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
463
+ });
464
+ }
465
+ function unpause(options) {
466
+ const packageAddress = options.package ?? '@waterx/account';
467
+ const argumentsTypes = [
468
+ null,
469
+ null
470
+ ];
471
+ const parameterNames = ["registry", "_"];
472
+ return (tx) => tx.moveCall({
473
+ package: packageAddress,
474
+ module: 'account',
475
+ function: 'unpause',
476
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
477
+ });
478
+ }
479
+ function isManager(options) {
480
+ const packageAddress = options.package ?? '@waterx/account';
481
+ const argumentsTypes = [
482
+ null,
483
+ 'address'
484
+ ];
485
+ const parameterNames = ["registry", "addr"];
486
+ return (tx) => tx.moveCall({
487
+ package: packageAddress,
488
+ module: 'account',
489
+ function: 'is_manager',
490
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
491
+ });
492
+ }
493
+ function managers(options) {
494
+ const packageAddress = options.package ?? '@waterx/account';
495
+ const argumentsTypes = [
496
+ null
497
+ ];
498
+ const parameterNames = ["registry"];
499
+ return (tx) => tx.moveCall({
500
+ package: packageAddress,
501
+ module: 'account',
502
+ function: 'managers',
503
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
504
+ });
505
+ }
506
+ function addManager(options) {
507
+ const packageAddress = options.package ?? '@waterx/account';
508
+ const argumentsTypes = [
509
+ null,
510
+ null,
511
+ 'address'
512
+ ];
513
+ const parameterNames = ["registry", "_", "manager"];
514
+ return (tx) => tx.moveCall({
515
+ package: packageAddress,
516
+ module: 'account',
517
+ function: 'add_manager',
518
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
519
+ });
520
+ }
521
+ function removeManager(options) {
522
+ const packageAddress = options.package ?? '@waterx/account';
523
+ const argumentsTypes = [
524
+ null,
525
+ null,
526
+ 'address'
527
+ ];
528
+ const parameterNames = ["registry", "_", "manager"];
529
+ return (tx) => tx.moveCall({
530
+ package: packageAddress,
531
+ module: 'account',
532
+ function: 'remove_manager',
533
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
534
+ });
535
+ }
536
+ function isProtocolWhitelisted(options) {
537
+ const packageAddress = options.package ?? '@waterx/account';
538
+ const argumentsTypes = [
539
+ null
540
+ ];
541
+ const parameterNames = ["registry"];
542
+ return (tx) => tx.moveCall({
543
+ package: packageAddress,
544
+ module: 'account',
545
+ function: 'is_protocol_whitelisted',
546
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
547
+ typeArguments: options.typeArguments
548
+ });
549
+ }
550
+ function isProtocolAssetAllowed(options) {
551
+ const packageAddress = options.package ?? '@waterx/account';
552
+ const argumentsTypes = [
553
+ null
554
+ ];
555
+ const parameterNames = ["registry"];
556
+ return (tx) => tx.moveCall({
557
+ package: packageAddress,
558
+ module: 'account',
559
+ function: 'is_protocol_asset_allowed',
560
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
561
+ typeArguments: options.typeArguments
562
+ });
563
+ }
564
+ function protocolWhitelist(options) {
565
+ const packageAddress = options.package ?? '@waterx/account';
566
+ const argumentsTypes = [
567
+ null
568
+ ];
569
+ const parameterNames = ["registry"];
570
+ return (tx) => tx.moveCall({
571
+ package: packageAddress,
572
+ module: 'account',
573
+ function: 'protocol_whitelist',
574
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
575
+ });
576
+ }
577
+ /**
578
+ * Admin: register witness type `P` with an empty asset set. After this, admin must
579
+ * call `allow_protocol_asset<P, T>` for each T the protocol may draw. Strict —
580
+ * aborts if `P` is already listed.
581
+ */
582
+ function whitelistProtocol(options) {
583
+ const packageAddress = options.package ?? '@waterx/account';
584
+ const argumentsTypes = [
585
+ null,
586
+ null
587
+ ];
588
+ const parameterNames = ["registry", "_"];
589
+ return (tx) => tx.moveCall({
590
+ package: packageAddress,
591
+ module: 'account',
592
+ function: 'whitelist_protocol',
593
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
594
+ typeArguments: options.typeArguments
595
+ });
596
+ }
597
+ /**
598
+ * Admin: remove witness type `P` (and its entire asset set) from the protocol
599
+ * whitelist. After this, every `take<T, P>` / `put<T, P>` and witness-gated
600
+ * data-slot call aborts. Existing data slots and protocol-held balances are
601
+ * untouched — only future calls are blocked, so admin can pause a misbehaving
602
+ * protocol without stranding state on accounts.
603
+ */
604
+ function delistProtocol(options) {
605
+ const packageAddress = options.package ?? '@waterx/account';
606
+ const argumentsTypes = [
607
+ null,
608
+ null
609
+ ];
610
+ const parameterNames = ["registry", "_"];
611
+ return (tx) => tx.moveCall({
612
+ package: packageAddress,
613
+ module: 'account',
614
+ function: 'delist_protocol',
615
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
616
+ typeArguments: options.typeArguments
617
+ });
618
+ }
619
+ /**
620
+ * Admin: pause protocol `P` WITHOUT delisting it. A paused protocol cannot
621
+ * `take<_, P>` (new outbound debits) or `new_data<P, _>` (new account state), but
622
+ * `put<_, P>`, `borrow_data_mut<P, _>`, and `remove_data<P, _>` keep working — so
623
+ * in-flight refunds, claims, and close/cleanup can complete. Use this instead of
624
+ * `delist_protocol` for emergency stops; delisting blocks the exit paths too and
625
+ * strands active per-account state (see audit M09).
626
+ */
627
+ function pauseProtocol(options) {
628
+ const packageAddress = options.package ?? '@waterx/account';
629
+ const argumentsTypes = [
630
+ null,
631
+ null
632
+ ];
633
+ const parameterNames = ["registry", "_"];
634
+ return (tx) => tx.moveCall({
635
+ package: packageAddress,
636
+ module: 'account',
637
+ function: 'pause_protocol',
638
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
639
+ typeArguments: options.typeArguments
640
+ });
641
+ }
642
+ /** Admin: lift a `pause_protocol<P>`. Idempotent on a non-paused protocol. */
643
+ function unpauseProtocol(options) {
644
+ const packageAddress = options.package ?? '@waterx/account';
645
+ const argumentsTypes = [
646
+ null,
647
+ null
648
+ ];
649
+ const parameterNames = ["registry", "_"];
650
+ return (tx) => tx.moveCall({
651
+ package: packageAddress,
652
+ module: 'account',
653
+ function: 'unpause_protocol',
654
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
655
+ typeArguments: options.typeArguments
656
+ });
657
+ }
658
+ function isProtocolPaused(options) {
659
+ const packageAddress = options.package ?? '@waterx/account';
660
+ const argumentsTypes = [
661
+ null
662
+ ];
663
+ const parameterNames = ["registry"];
664
+ return (tx) => tx.moveCall({
665
+ package: packageAddress,
666
+ module: 'account',
667
+ function: 'is_protocol_paused',
668
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
669
+ typeArguments: options.typeArguments
670
+ });
671
+ }
672
+ /**
673
+ * Admin: add asset type `T` to protocol `P`'s allowed-asset set. After this,
674
+ * `take<T, P>` is permitted (subject to per-account auth). Aborts if `P` is not
675
+ * whitelisted or if `T` is already in the set.
676
+ */
677
+ function allowProtocolAsset(options) {
678
+ const packageAddress = options.package ?? '@waterx/account';
679
+ const argumentsTypes = [
680
+ null,
681
+ null
682
+ ];
683
+ const parameterNames = ["registry", "_"];
684
+ return (tx) => tx.moveCall({
685
+ package: packageAddress,
686
+ module: 'account',
687
+ function: 'allow_protocol_asset',
688
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
689
+ typeArguments: options.typeArguments
690
+ });
691
+ }
692
+ /**
693
+ * Admin: remove asset type `T` from protocol `P`'s allowed-asset set. Blocks
694
+ * future `take<T, P>` calls but `put<T, P>` on `T` stays open so existing
695
+ * positions can always close. Aborts if `P` is not whitelisted or if `T` is not in
696
+ * the set.
697
+ */
698
+ function disallowProtocolAsset(options) {
699
+ const packageAddress = options.package ?? '@waterx/account';
700
+ const argumentsTypes = [
701
+ null,
702
+ null
703
+ ];
704
+ const parameterNames = ["registry", "_"];
705
+ return (tx) => tx.moveCall({
706
+ package: packageAddress,
707
+ module: 'account',
708
+ function: 'disallow_protocol_asset',
709
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
710
+ typeArguments: options.typeArguments
711
+ });
712
+ }
713
+ /**
714
+ * Returns true if `T` has at least one deposit policy registered. Used by
715
+ * `request_deposit<T>` to gate inflow and by `withdraw_from_funds<T>` to refuse
716
+ * policy-managed types.
717
+ */
718
+ function isDepositPolicyRegistered(options) {
719
+ const packageAddress = options.package ?? '@waterx/account';
720
+ const argumentsTypes = [
721
+ null
722
+ ];
723
+ const parameterNames = ["registry"];
724
+ return (tx) => tx.moveCall({
725
+ package: packageAddress,
726
+ module: 'account',
727
+ function: 'is_deposit_policy_registered',
728
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
729
+ typeArguments: options.typeArguments
730
+ });
731
+ }
732
+ /** Returns true if `T` has at least one withdraw policy registered. */
733
+ function isWithdrawPolicyRegistered(options) {
734
+ const packageAddress = options.package ?? '@waterx/account';
735
+ const argumentsTypes = [
736
+ null
737
+ ];
738
+ const parameterNames = ["registry"];
739
+ return (tx) => tx.moveCall({
740
+ package: packageAddress,
741
+ module: 'account',
742
+ function: 'is_withdraw_policy_registered',
743
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
744
+ typeArguments: options.typeArguments
745
+ });
746
+ }
747
+ /**
748
+ * Returns true if the specific witness `P` is one of T's registered deposit
749
+ * policies. `consume_deposit<T, P>` aborts `EPolicyMismatch` when this would
750
+ * return false.
751
+ */
752
+ function isDepositPolicyRegisteredFor(options) {
753
+ const packageAddress = options.package ?? '@waterx/account';
754
+ const argumentsTypes = [
755
+ null
756
+ ];
757
+ const parameterNames = ["registry"];
758
+ return (tx) => tx.moveCall({
759
+ package: packageAddress,
760
+ module: 'account',
761
+ function: 'is_deposit_policy_registered_for',
762
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
763
+ typeArguments: options.typeArguments
764
+ });
765
+ }
766
+ function isWithdrawPolicyRegisteredFor(options) {
767
+ const packageAddress = options.package ?? '@waterx/account';
768
+ const argumentsTypes = [
769
+ null
770
+ ];
771
+ const parameterNames = ["registry"];
772
+ return (tx) => tx.moveCall({
773
+ package: packageAddress,
774
+ module: 'account',
775
+ function: 'is_withdraw_policy_registered_for',
776
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
777
+ typeArguments: options.typeArguments
778
+ });
779
+ }
780
+ /**
781
+ * Returns the full set of deposit-policy witness typenames registered for `T`, as
782
+ * a `vector<TypeName>` copy (TypeName is `copy + drop + store`, so this is
783
+ * cheap). Aborts if T has no policies. Off-chain consumers wanting iteration
784
+ * without the copy should walk the full `deposit_policies()` map instead.
785
+ */
786
+ function depositPoliciesFor(options) {
787
+ const packageAddress = options.package ?? '@waterx/account';
788
+ const argumentsTypes = [
789
+ null
790
+ ];
791
+ const parameterNames = ["registry"];
792
+ return (tx) => tx.moveCall({
793
+ package: packageAddress,
794
+ module: 'account',
795
+ function: 'deposit_policies_for',
796
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
797
+ typeArguments: options.typeArguments
798
+ });
799
+ }
800
+ function withdrawPoliciesFor(options) {
801
+ const packageAddress = options.package ?? '@waterx/account';
802
+ const argumentsTypes = [
803
+ null
804
+ ];
805
+ const parameterNames = ["registry"];
806
+ return (tx) => tx.moveCall({
807
+ package: packageAddress,
808
+ module: 'account',
809
+ function: 'withdraw_policies_for',
810
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
811
+ typeArguments: options.typeArguments
812
+ });
813
+ }
814
+ function depositPolicies(options) {
815
+ const packageAddress = options.package ?? '@waterx/account';
816
+ const argumentsTypes = [
817
+ null
818
+ ];
819
+ const parameterNames = ["registry"];
820
+ return (tx) => tx.moveCall({
821
+ package: packageAddress,
822
+ module: 'account',
823
+ function: 'deposit_policies',
824
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
825
+ });
826
+ }
827
+ function withdrawPolicies(options) {
828
+ const packageAddress = options.package ?? '@waterx/account';
829
+ const argumentsTypes = [
830
+ null
831
+ ];
832
+ const parameterNames = ["registry"];
833
+ return (tx) => tx.moveCall({
834
+ package: packageAddress,
835
+ module: 'account',
836
+ function: 'withdraw_policies',
837
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
838
+ });
839
+ }
840
+ /**
841
+ * Admin: register witness type `P` as a deposit policy for `T`. Multiple policies
842
+ * can coexist per T to support extension (a new module added alongside the old)
843
+ * and migration (consumers switch one at a time). Idempotent — adding an
844
+ * already-registered `(T, P)` pair is a silent no-op so admin can re-run deploy
845
+ * scripts safely.
846
+ */
847
+ function registerDepositPolicy(options) {
848
+ const packageAddress = options.package ?? '@waterx/account';
849
+ const argumentsTypes = [
850
+ null,
851
+ null
852
+ ];
853
+ const parameterNames = ["registry", "_"];
854
+ return (tx) => tx.moveCall({
855
+ package: packageAddress,
856
+ module: 'account',
857
+ function: 'register_deposit_policy',
858
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
859
+ typeArguments: options.typeArguments
860
+ });
861
+ }
862
+ function registerWithdrawPolicy(options) {
863
+ const packageAddress = options.package ?? '@waterx/account';
864
+ const argumentsTypes = [
865
+ null,
866
+ null
867
+ ];
868
+ const parameterNames = ["registry", "_"];
869
+ return (tx) => tx.moveCall({
870
+ package: packageAddress,
871
+ module: 'account',
872
+ function: 'register_withdraw_policy',
873
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
874
+ typeArguments: options.typeArguments
875
+ });
876
+ }
877
+ /**
878
+ * Admin: remove `P` from T's deposit-policy set. Other registered policies for `T`
879
+ * keep working. If `P` is the last entry, the `T` key is cleaned up so
880
+ * `is_deposit_policy_registered<T>` returns false. Aborts if `(T, P)` isn't
881
+ * registered.
882
+ */
883
+ function unregisterDepositPolicy(options) {
884
+ const packageAddress = options.package ?? '@waterx/account';
885
+ const argumentsTypes = [
886
+ null,
887
+ null
888
+ ];
889
+ const parameterNames = ["registry", "_"];
890
+ return (tx) => tx.moveCall({
891
+ package: packageAddress,
892
+ module: 'account',
893
+ function: 'unregister_deposit_policy',
894
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
895
+ typeArguments: options.typeArguments
896
+ });
897
+ }
898
+ function unregisterWithdrawPolicy(options) {
899
+ const packageAddress = options.package ?? '@waterx/account';
900
+ const argumentsTypes = [
901
+ null,
902
+ null
903
+ ];
904
+ const parameterNames = ["registry", "_"];
905
+ return (tx) => tx.moveCall({
906
+ package: packageAddress,
907
+ module: 'account',
908
+ function: 'unregister_withdraw_policy',
909
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
910
+ typeArguments: options.typeArguments
911
+ });
912
+ }
913
+ function createAccount(options) {
914
+ const packageAddress = options.package ?? '@waterx/account';
915
+ const argumentsTypes = [
916
+ null,
917
+ null,
918
+ '0x1::string::String'
919
+ ];
920
+ const parameterNames = ["registry", "senderRequest", "alias"];
921
+ return (tx) => tx.moveCall({
922
+ package: packageAddress,
923
+ module: 'account',
924
+ function: 'create_account',
925
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
926
+ });
927
+ }
928
+ /**
929
+ * Off-chain view: compute the address a future `create_account` call will produce
930
+ * for `(owner, index)`. Mirrors `derived_object::derive_address` keyed on
931
+ * `AccountKey`. Useful for SDKs that want to address an account before it exists,
932
+ * or to discover all of an owner's accounts by iterating index from 0 up to
933
+ * `MAX_ACCOUNTS_PER_OWNER` and checking `has_account` against each derived
934
+ * address.
935
+ */
936
+ function deriveAccountAddress(options) {
937
+ const packageAddress = options.package ?? '@waterx/account';
938
+ const argumentsTypes = [
939
+ null,
940
+ 'address',
941
+ 'u64'
942
+ ];
943
+ const parameterNames = ["registry", "owner", "index"];
944
+ return (tx) => tx.moveCall({
945
+ package: packageAddress,
946
+ module: 'account',
947
+ function: 'derive_account_address',
948
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
949
+ });
950
+ }
951
+ function setAlias(options) {
952
+ const packageAddress = options.package ?? '@waterx/account';
953
+ const argumentsTypes = [
954
+ null,
955
+ null,
956
+ '0x2::object::ID',
957
+ '0x1::string::String'
958
+ ];
959
+ const parameterNames = ["registry", "senderRequest", "accountId", "alias"];
960
+ return (tx) => tx.moveCall({
961
+ package: packageAddress,
962
+ module: 'account',
963
+ function: 'set_alias',
964
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
965
+ });
966
+ }
967
+ function addDelegate(options) {
968
+ const packageAddress = options.package ?? '@waterx/account';
969
+ const argumentsTypes = [
970
+ null,
971
+ null,
972
+ '0x2::object::ID',
973
+ 'address',
974
+ '0x1::string::String',
975
+ 'u32',
976
+ '0x1::option::Option<u64>',
977
+ '0x2::clock::Clock'
978
+ ];
979
+ const parameterNames = ["registry", "senderRequest", "accountId", "delegateAddress", "alias", "permissions", "expiresAtMs"];
980
+ return (tx) => tx.moveCall({
981
+ package: packageAddress,
982
+ module: 'account',
983
+ function: 'add_delegate',
984
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
985
+ });
986
+ }
987
+ /**
988
+ * Owner-only for live delegates; permissionless once the delegate has passed its
989
+ * `expires_at_ms`. Lets a keeper / bot prune dead entries without bothering the
990
+ * owner — an expired delegate carries no authority, so removing it is purely
991
+ * janitorial.
992
+ */
993
+ function removeDelegate(options) {
994
+ const packageAddress = options.package ?? '@waterx/account';
995
+ const argumentsTypes = [
996
+ null,
997
+ null,
998
+ '0x2::object::ID',
999
+ 'address',
1000
+ '0x2::clock::Clock'
1001
+ ];
1002
+ const parameterNames = ["registry", "senderRequest", "accountId", "delegateAddress"];
1003
+ return (tx) => tx.moveCall({
1004
+ package: packageAddress,
1005
+ module: 'account',
1006
+ function: 'remove_delegate',
1007
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1008
+ });
1009
+ }
1010
+ function updateDelegate(options) {
1011
+ const packageAddress = options.package ?? '@waterx/account';
1012
+ const argumentsTypes = [
1013
+ null,
1014
+ null,
1015
+ '0x2::object::ID',
1016
+ 'address',
1017
+ '0x1::string::String',
1018
+ 'u32',
1019
+ '0x1::option::Option<u64>',
1020
+ '0x2::clock::Clock'
1021
+ ];
1022
+ const parameterNames = ["registry", "senderRequest", "accountId", "delegateAddress", "alias", "permissions", "expiresAtMs"];
1023
+ return (tx) => tx.moveCall({
1024
+ package: packageAddress,
1025
+ module: 'account',
1026
+ function: 'update_delegate',
1027
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1028
+ });
1029
+ }
1030
+ function setDelegateProtocolPermission(options) {
1031
+ const packageAddress = options.package ?? '@waterx/account';
1032
+ const argumentsTypes = [
1033
+ null,
1034
+ null,
1035
+ '0x2::object::ID',
1036
+ 'address',
1037
+ 'u32',
1038
+ '0x2::clock::Clock'
1039
+ ];
1040
+ const parameterNames = ["registry", "senderRequest", "accountId", "delegateAddress", "permissions"];
1041
+ return (tx) => tx.moveCall({
1042
+ package: packageAddress,
1043
+ module: 'account',
1044
+ function: 'set_delegate_protocol_permission',
1045
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1046
+ typeArguments: options.typeArguments
1047
+ });
1048
+ }
1049
+ function unsetDelegateProtocolPermission(options) {
1050
+ const packageAddress = options.package ?? '@waterx/account';
1051
+ const argumentsTypes = [
1052
+ null,
1053
+ null,
1054
+ '0x2::object::ID',
1055
+ 'address',
1056
+ '0x2::clock::Clock'
1057
+ ];
1058
+ const parameterNames = ["registry", "senderRequest", "accountId", "delegateAddress"];
1059
+ return (tx) => tx.moveCall({
1060
+ package: packageAddress,
1061
+ module: 'account',
1062
+ function: 'unset_delegate_protocol_permission',
1063
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1064
+ typeArguments: options.typeArguments
1065
+ });
1066
+ }
1067
+ /**
1068
+ * Wraps an in-PTB `Coin<T>` into a `DepositRequest<T>` for the account.
1069
+ * Permissionless — anyone can pay into any account, since the policy (not the
1070
+ * framework) decides what the eventual credited asset is. `T` must have a
1071
+ * registered deposit policy; aborts otherwise.
1072
+ */
1073
+ function requestDeposit(options) {
1074
+ const packageAddress = options.package ?? '@waterx/account';
1075
+ const argumentsTypes = [
1076
+ null,
1077
+ '0x2::object::ID',
1078
+ null,
1079
+ 'vector<u8>'
1080
+ ];
1081
+ const parameterNames = ["registry", "accountId", "coin", "extraData"];
1082
+ return (tx) => tx.moveCall({
1083
+ package: packageAddress,
1084
+ module: 'account',
1085
+ function: 'request_deposit',
1086
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1087
+ typeArguments: options.typeArguments
1088
+ });
1089
+ }
1090
+ /**
1091
+ * Drains `Receiving<Coin<T>>` entries addressed to the account's UID into a single
1092
+ * merged `Coin<T>` and wraps it as a `DepositRequest<T>`. Used when a user (or
1093
+ * anyone) previously `transfer_coin`-ed a `Coin<T>` onto the account address and
1094
+ * now wants to fold it into custody. Permissionless for the same reason as
1095
+ * `request_deposit<T>`.
1096
+ */
1097
+ function requestDepositFromReceivings(options) {
1098
+ const packageAddress = options.package ?? '@waterx/account';
1099
+ const argumentsTypes = [
1100
+ null,
1101
+ '0x2::object::ID',
1102
+ 'vector<null>',
1103
+ 'vector<u8>'
1104
+ ];
1105
+ const parameterNames = ["registry", "accountId", "receivings", "extraData"];
1106
+ return (tx) => tx.moveCall({
1107
+ package: packageAddress,
1108
+ module: 'account',
1109
+ function: 'request_deposit_from_receivings',
1110
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1111
+ typeArguments: options.typeArguments
1112
+ });
1113
+ }
1114
+ /**
1115
+ * Drains every `Balance<T>` sitting at the account's UID-derived address in Sui's
1116
+ * native funds accumulator and wraps the total into a single `DepositRequest<T>`.
1117
+ * Useful for accounts that receive `Coin<T>` via `0x2::balance::send_funds<T>` (or
1118
+ * any path that lands T at `account_id.to_address()` directly) and want it folded
1119
+ * into framework custody through the deposit-policy pipeline.
1120
+ *
1121
+ * The total drained equals `settled_funds_value<T>(root, addr)` as of the last
1122
+ * consensus commit — within the writing PTB itself, that read returns the pre-tx
1123
+ * value, so SDKs should treat this as a between-tx drain. Permissionless
1124
+ * (crediting an account is always allowed), pause-free, requires `T` to have a
1125
+ * registered deposit policy. Returns a deposit request even when the address holds
1126
+ * zero T (the carried balance is `Balance::zero()` in that case) — callers can
1127
+ * short-circuit off-chain by checking `settled_funds_value` first.
1128
+ */
1129
+ function requestDepositFromFunds(options) {
1130
+ const packageAddress = options.package ?? '@waterx/account';
1131
+ const argumentsTypes = [
1132
+ null,
1133
+ '0x2::object::ID',
1134
+ null,
1135
+ 'vector<u8>'
1136
+ ];
1137
+ const parameterNames = ["registry", "accountId", "accumulatorRoot", "extraData"];
1138
+ return (tx) => tx.moveCall({
1139
+ package: packageAddress,
1140
+ module: 'account',
1141
+ function: 'request_deposit_from_funds',
1142
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1143
+ typeArguments: options.typeArguments
1144
+ });
1145
+ }
1146
+ /**
1147
+ * Policy-side unwrap. Verifies that `P` is the registered deposit policy for `T`,
1148
+ * then destructures the hot potato. The policy module is responsible for what
1149
+ * happens next — typically swap / convert `Balance<T>` to some `Balance<T_OUT>`
1150
+ * and call `put<T_OUT, P>` to credit the account.
1151
+ */
1152
+ function consumeDeposit(options) {
1153
+ const packageAddress = options.package ?? '@waterx/account';
1154
+ const argumentsTypes = [
1155
+ null,
1156
+ null,
1157
+ `${options.typeArguments[1]}`
1158
+ ];
1159
+ const parameterNames = ["registry", "req", "Witness"];
1160
+ return (tx) => tx.moveCall({
1161
+ package: packageAddress,
1162
+ module: 'account',
1163
+ function: 'consume_deposit',
1164
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1165
+ typeArguments: options.typeArguments
1166
+ });
1167
+ }
1168
+ /**
1169
+ * Debits `amount` of the account's stored `Balance<T>` and packages it into a
1170
+ * `WithdrawRequest<T>` for the registered withdraw policy. Auth (owner-only — see
1171
+ * the gate below; `PERM_WITHDRAW` delegates are rejected) and pause are checked
1172
+ * here, not in `consume_withdraw`.
1173
+ */
1174
+ function requestWithdraw(options) {
1175
+ const packageAddress = options.package ?? '@waterx/account';
1176
+ const argumentsTypes = [
1177
+ null,
1178
+ null,
1179
+ '0x2::object::ID',
1180
+ 'u64',
1181
+ 'address',
1182
+ 'vector<u8>',
1183
+ '0x2::clock::Clock'
1184
+ ];
1185
+ const parameterNames = ["registry", "senderRequest", "accountId", "amount", "recipient", "extraData"];
1186
+ return (tx) => tx.moveCall({
1187
+ package: packageAddress,
1188
+ module: 'account',
1189
+ function: 'request_withdraw',
1190
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1191
+ typeArguments: options.typeArguments
1192
+ });
1193
+ }
1194
+ /**
1195
+ * Policy-side unwrap. Verifies that `P` is the registered withdraw policy for `T`,
1196
+ * then destructures the hot potato. The policy module decides what to do with the
1197
+ * `Balance<T>` (transfer to `recipient` as `Coin<T>`, swap to another asset and
1198
+ * transfer, queue for later settlement, etc.).
1199
+ */
1200
+ function consumeWithdraw(options) {
1201
+ const packageAddress = options.package ?? '@waterx/account';
1202
+ const argumentsTypes = [
1203
+ null,
1204
+ null,
1205
+ `${options.typeArguments[1]}`
1206
+ ];
1207
+ const parameterNames = ["registry", "req", "Witness"];
1208
+ return (tx) => tx.moveCall({
1209
+ package: packageAddress,
1210
+ module: 'account',
1211
+ function: 'consume_withdraw',
1212
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1213
+ typeArguments: options.typeArguments
1214
+ });
1215
+ }
1216
+ /**
1217
+ * TTOs a `Coin<T>` to the account's UID address. The coin sits there until someone
1218
+ * calls `request_deposit_from_receivings<T>` (which requires a registered deposit
1219
+ * policy that then folds the coin into the account's stored balance) or
1220
+ * `receive<Coin<T>>` (owner-only, no policy needed). Useful for async / cross-PTB
1221
+ * deposits and for routing protocol payouts (e.g. reward claims) into an account
1222
+ * when `T` has no deposit policy.
1223
+ */
1224
+ function transferCoin(options) {
1225
+ const packageAddress = options.package ?? '@waterx/account';
1226
+ const argumentsTypes = [
1227
+ null,
1228
+ '0x2::object::ID',
1229
+ null
1230
+ ];
1231
+ const parameterNames = ["registry", "accountId", "coin"];
1232
+ return (tx) => tx.moveCall({
1233
+ package: packageAddress,
1234
+ module: 'account',
1235
+ function: 'transfer_coin',
1236
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1237
+ typeArguments: options.typeArguments
1238
+ });
1239
+ }
1240
+ /**
1241
+ * Account-owner drain of a TTO'd object on the account's UID. Generic over
1242
+ * `T: key + store` — works for NFTs, reward objects, or `Coin<X>` where `X` has no
1243
+ * registered deposit policy.
1244
+ *
1245
+ * **Policy-managed Coin<X> is rejected.** If `T == Coin<X>` and `X` has a deposit
1246
+ * policy registered, this aborts `EUseRequestDepositInstead` to keep policy-routed
1247
+ * inflow on the deposit-policy pipeline — bypassing via `receive` would skip the
1248
+ * conversion / authorization the policy is supposed to enforce. Use
1249
+ * `request_deposit_from_receivings<X>` or `request_deposit_from_funds<X>` for
1250
+ * inflow when X has a deposit policy.
1251
+ *
1252
+ * Auth: account owner only. Receiving a TTO'd object hands it to the caller's PTB
1253
+ * — an off-platform exfil path — so a delegate can never drive it, even one
1254
+ * holding `PERM_RECEIVE`. The `PERM_RECEIVE` bit is retained for ABI stability but
1255
+ * no longer gates any path. Returns the received object to the caller's PTB.
1256
+ */
1257
+ function receive(options) {
1258
+ const packageAddress = options.package ?? '@waterx/account';
1259
+ const argumentsTypes = [
1260
+ null,
1261
+ null,
1262
+ '0x2::object::ID',
1263
+ null,
1264
+ '0x2::clock::Clock'
1265
+ ];
1266
+ const parameterNames = ["registry", "senderRequest", "accountId", "receiving"];
1267
+ return (tx) => tx.moveCall({
1268
+ package: packageAddress,
1269
+ module: 'account',
1270
+ function: 'receive',
1271
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1272
+ typeArguments: options.typeArguments
1273
+ });
1274
+ }
1275
+ /**
1276
+ * Drains every `Balance<T>` sitting at the account's UID-derived address in Sui's
1277
+ * native funds accumulator and returns it directly as a `Balance<T>`. Symmetric to
1278
+ * `request_deposit_from_funds<T>`, but explicitly for `T` that has **no**
1279
+ * registered deposit policy — policy-managed inflow must route through the
1280
+ * deposit-policy pipeline instead. The intent is to let the account owner pull
1281
+ * policy-less inflow (reward tokens TTO'd via `send_funds`, miscellaneous
1282
+ * `Balance<T>` the SDK parked at the address) straight out.
1283
+ *
1284
+ * Auth: same as `request_withdraw<T>` — owner-only. A delegate is rejected even
1285
+ * one holding `PERM_WITHDRAW` (the bit no longer gates this path; retained for ABI
1286
+ * stability only). Aborts `EUseRequestDepositInstead` if `T` has a deposit policy
1287
+ * registered. Pause-gated. Returns `Balance::zero<T>()` when the address holds no
1288
+ * T.
1289
+ */
1290
+ function withdrawFromFunds(options) {
1291
+ const packageAddress = options.package ?? '@waterx/account';
1292
+ const argumentsTypes = [
1293
+ null,
1294
+ null,
1295
+ '0x2::object::ID',
1296
+ null,
1297
+ '0x2::clock::Clock'
1298
+ ];
1299
+ const parameterNames = ["registry", "senderRequest", "accountId", "accumulatorRoot"];
1300
+ return (tx) => tx.moveCall({
1301
+ package: packageAddress,
1302
+ module: 'account',
1303
+ function: 'withdraw_from_funds',
1304
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1305
+ typeArguments: options.typeArguments
1306
+ });
1307
+ }
1308
+ /**
1309
+ * Splits `amount` of `Balance<T>` off `account_id` for protocol `P` to use. Three
1310
+ * gates compose:
1311
+ *
1312
+ * 1. **Witness privacy.** Only the module that defines `P` can produce a value of
1313
+ * `P`, so only that module can call `take<T, P>`.
1314
+ * 2. **Protocol whitelist.** `P` must be in `protocol_whitelist` (admin-managed).
1315
+ * Stops any deployed module that happens to own a `drop` witness from draining
1316
+ * accounts.
1317
+ * 3. **Per-account auth.** `sender_request.address()` must be the account's owner
1318
+ * OR a non-expired delegate — even a legitimate whitelisted protocol cannot
1319
+ * move funds out of an account that doesn't know the caller. This mirrors EOA
1320
+ * semantics: the account never pays out without the owner (or a delegated key)
1321
+ * signing. Per-action bit semantics on `protocol_permissions[P]` remain the
1322
+ * protocol's responsibility on top of this.
1323
+ *
1324
+ * No deposit/withdraw policy is consulted — `take` / `put` are the
1325
+ * protocol↔account flow and orthogonal to the external deposit/withdraw path that
1326
+ * policies own.
1327
+ */
1328
+ function take(options) {
1329
+ const packageAddress = options.package ?? '@waterx/account';
1330
+ const argumentsTypes = [
1331
+ null,
1332
+ null,
1333
+ '0x2::object::ID',
1334
+ 'u64',
1335
+ `${options.typeArguments[1]}`,
1336
+ '0x2::clock::Clock'
1337
+ ];
1338
+ const parameterNames = ["registry", "senderRequest", "accountId", "amount", "Witness"];
1339
+ return (tx) => tx.moveCall({
1340
+ package: packageAddress,
1341
+ module: 'account',
1342
+ function: 'take',
1343
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1344
+ typeArguments: options.typeArguments
1345
+ });
1346
+ }
1347
+ /**
1348
+ * Joins `bal` into `account_id`'s stored `Balance<T>`. Symmetric to `take<T, P>`.
1349
+ * Zero-value balances are silently destroyed.
1350
+ */
1351
+ function put(options) {
1352
+ const packageAddress = options.package ?? '@waterx/account';
1353
+ const argumentsTypes = [
1354
+ null,
1355
+ '0x2::object::ID',
1356
+ null,
1357
+ `${options.typeArguments[1]}`
1358
+ ];
1359
+ const parameterNames = ["registry", "accountId", "bal", "Witness"];
1360
+ return (tx) => tx.moveCall({
1361
+ package: packageAddress,
1362
+ module: 'account',
1363
+ function: 'put',
1364
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1365
+ typeArguments: options.typeArguments
1366
+ });
1367
+ }
1368
+ function hasAccount(options) {
1369
+ const packageAddress = options.package ?? '@waterx/account';
1370
+ const argumentsTypes = [
1371
+ null,
1372
+ '0x2::object::ID'
1373
+ ];
1374
+ const parameterNames = ["registry", "accountId"];
1375
+ return (tx) => tx.moveCall({
1376
+ package: packageAddress,
1377
+ module: 'account',
1378
+ function: 'has_account',
1379
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1380
+ });
1381
+ }
1382
+ /**
1383
+ * Returns `true` when `addr` is the account's owner or a non-expired delegate,
1384
+ * regardless of permission bits. The framework's "is this address known to the
1385
+ * account?" gate — per-action bit semantics are the protocol's responsibility on
1386
+ * top of this.
1387
+ */
1388
+ function isAccountAuthorized(options) {
1389
+ const packageAddress = options.package ?? '@waterx/account';
1390
+ const argumentsTypes = [
1391
+ null,
1392
+ '0x2::object::ID',
1393
+ 'address',
1394
+ 'u64'
1395
+ ];
1396
+ const parameterNames = ["registry", "accountId", "addr", "nowMs"];
1397
+ return (tx) => tx.moveCall({
1398
+ package: packageAddress,
1399
+ module: 'account',
1400
+ function: 'is_account_authorized',
1401
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1402
+ });
1403
+ }
1404
+ /**
1405
+ * Returns `true` only when `addr` is the account's **owner** — delegates are
1406
+ * excluded regardless of their permission bits or expiry. Protocols use this for
1407
+ * owner-only actions that must never be delegate-driven (e.g. collateral
1408
+ * withdrawal): defense-in-depth so a phished or compromised delegate key can never
1409
+ * move funds, only the owner's own signature can. Contrast `is_account_authorized`
1410
+ * (owner OR live delegate).
1411
+ */
1412
+ function isAccountOwner(options) {
1413
+ const packageAddress = options.package ?? '@waterx/account';
1414
+ const argumentsTypes = [
1415
+ null,
1416
+ '0x2::object::ID',
1417
+ 'address'
1418
+ ];
1419
+ const parameterNames = ["registry", "accountId", "addr"];
1420
+ return (tx) => tx.moveCall({
1421
+ package: packageAddress,
1422
+ module: 'account',
1423
+ function: 'is_account_owner',
1424
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1425
+ });
1426
+ }
1427
+ function accountCount(options) {
1428
+ const packageAddress = options.package ?? '@waterx/account';
1429
+ const argumentsTypes = [
1430
+ null,
1431
+ 'address'
1432
+ ];
1433
+ const parameterNames = ["registry", "owner"];
1434
+ return (tx) => tx.moveCall({
1435
+ package: packageAddress,
1436
+ module: 'account',
1437
+ function: 'account_count',
1438
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1439
+ });
1440
+ }
1441
+ function accountIds(options) {
1442
+ const packageAddress = options.package ?? '@waterx/account';
1443
+ const argumentsTypes = [
1444
+ null,
1445
+ 'address'
1446
+ ];
1447
+ const parameterNames = ["registry", "owner"];
1448
+ return (tx) => tx.moveCall({
1449
+ package: packageAddress,
1450
+ module: 'account',
1451
+ function: 'account_ids',
1452
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1453
+ });
1454
+ }
1455
+ /**
1456
+ * Framework-level effective permissions (used by `request_withdraw`). Owner →
1457
+ * `PERM_ALL`. Delegate → its `permissions` bitmap unless expired. Stranger →
1458
+ * `PERM_NONE`.
1459
+ */
1460
+ function effectivePermissions(options) {
1461
+ const packageAddress = options.package ?? '@waterx/account';
1462
+ const argumentsTypes = [
1463
+ null,
1464
+ '0x2::object::ID',
1465
+ 'address',
1466
+ 'u64'
1467
+ ];
1468
+ const parameterNames = ["registry", "accountId", "addr", "nowMs"];
1469
+ return (tx) => tx.moveCall({
1470
+ package: packageAddress,
1471
+ module: 'account',
1472
+ function: 'effective_permissions',
1473
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1474
+ });
1475
+ }
1476
+ function hasPermission(options) {
1477
+ const packageAddress = options.package ?? '@waterx/account';
1478
+ const argumentsTypes = [
1479
+ null,
1480
+ '0x2::object::ID',
1481
+ 'address',
1482
+ 'u32',
1483
+ 'u64'
1484
+ ];
1485
+ const parameterNames = ["registry", "accountId", "addr", "permission", "nowMs"];
1486
+ return (tx) => tx.moveCall({
1487
+ package: packageAddress,
1488
+ module: 'account',
1489
+ function: 'has_permission',
1490
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1491
+ });
1492
+ }
1493
+ /**
1494
+ * Per-protocol effective permissions (used by protocol modules). Owner →
1495
+ * `PERM_ALL` for any protocol. Delegate → the bitmap stored at
1496
+ * `protocol_permissions[TypeName(PROTOCOL)]`, or `PERM_NONE` if absent or expired.
1497
+ * Stranger → `PERM_NONE`.
1498
+ */
1499
+ function effectiveProtocolPermissions(options) {
1500
+ const packageAddress = options.package ?? '@waterx/account';
1501
+ const argumentsTypes = [
1502
+ null,
1503
+ '0x2::object::ID',
1504
+ 'address',
1505
+ 'u64'
1506
+ ];
1507
+ const parameterNames = ["registry", "accountId", "addr", "nowMs"];
1508
+ return (tx) => tx.moveCall({
1509
+ package: packageAddress,
1510
+ module: 'account',
1511
+ function: 'effective_protocol_permissions',
1512
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1513
+ typeArguments: options.typeArguments
1514
+ });
1515
+ }
1516
+ function hasProtocolPermission(options) {
1517
+ const packageAddress = options.package ?? '@waterx/account';
1518
+ const argumentsTypes = [
1519
+ null,
1520
+ '0x2::object::ID',
1521
+ 'address',
1522
+ 'u32',
1523
+ 'u64'
1524
+ ];
1525
+ const parameterNames = ["registry", "accountId", "addr", "permission", "nowMs"];
1526
+ return (tx) => tx.moveCall({
1527
+ package: packageAddress,
1528
+ module: 'account',
1529
+ function: 'has_protocol_permission',
1530
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1531
+ typeArguments: options.typeArguments
1532
+ });
1533
+ }
1534
+ function accountBalance(options) {
1535
+ const packageAddress = options.package ?? '@waterx/account';
1536
+ const argumentsTypes = [
1537
+ null,
1538
+ '0x2::object::ID'
1539
+ ];
1540
+ const parameterNames = ["registry", "accountId"];
1541
+ return (tx) => tx.moveCall({
1542
+ package: packageAddress,
1543
+ module: 'account',
1544
+ function: 'account_balance',
1545
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1546
+ typeArguments: options.typeArguments
1547
+ });
1548
+ }
1549
+ function accountBalances(options) {
1550
+ const packageAddress = options.package ?? '@waterx/account';
1551
+ const argumentsTypes = [
1552
+ null,
1553
+ '0x2::object::ID'
1554
+ ];
1555
+ const parameterNames = ["registry", "accountId"];
1556
+ return (tx) => tx.moveCall({
1557
+ package: packageAddress,
1558
+ module: 'account',
1559
+ function: 'account_balances',
1560
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1561
+ });
1562
+ }
1563
+ /**
1564
+ * Total `Balance<T>` currently held across all accounts. Counter; not derived from
1565
+ * iterating accounts. Excludes balance held by protocols (after `take`) and
1566
+ * balance sitting in hot-potato requests in flight.
1567
+ */
1568
+ function balance(options) {
1569
+ const packageAddress = options.package ?? '@waterx/account';
1570
+ const argumentsTypes = [
1571
+ null
1572
+ ];
1573
+ const parameterNames = ["registry"];
1574
+ return (tx) => tx.moveCall({
1575
+ package: packageAddress,
1576
+ module: 'account',
1577
+ function: 'balance',
1578
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1579
+ typeArguments: options.typeArguments
1580
+ });
1581
+ }
1582
+ function accountOwner(options) {
1583
+ const packageAddress = options.package ?? '@waterx/account';
1584
+ const argumentsTypes = [
1585
+ null
1586
+ ];
1587
+ const parameterNames = ["account"];
1588
+ return (tx) => tx.moveCall({
1589
+ package: packageAddress,
1590
+ module: 'account',
1591
+ function: 'account_owner',
1592
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1593
+ });
1594
+ }
1595
+ function accountAlias(options) {
1596
+ const packageAddress = options.package ?? '@waterx/account';
1597
+ const argumentsTypes = [
1598
+ null
1599
+ ];
1600
+ const parameterNames = ["account"];
1601
+ return (tx) => tx.moveCall({
1602
+ package: packageAddress,
1603
+ module: 'account',
1604
+ function: 'account_alias',
1605
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1606
+ });
1607
+ }
1608
+ function accountId(options) {
1609
+ const packageAddress = options.package ?? '@waterx/account';
1610
+ const argumentsTypes = [
1611
+ null
1612
+ ];
1613
+ const parameterNames = ["account"];
1614
+ return (tx) => tx.moveCall({
1615
+ package: packageAddress,
1616
+ module: 'account',
1617
+ function: 'account_id',
1618
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1619
+ });
1620
+ }
1621
+ function accountAddress(options) {
1622
+ const packageAddress = options.package ?? '@waterx/account';
1623
+ const argumentsTypes = [
1624
+ null
1625
+ ];
1626
+ const parameterNames = ["account"];
1627
+ return (tx) => tx.moveCall({
1628
+ package: packageAddress,
1629
+ module: 'account',
1630
+ function: 'account_address',
1631
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1632
+ });
1633
+ }
1634
+ function accountDelegates(options) {
1635
+ const packageAddress = options.package ?? '@waterx/account';
1636
+ const argumentsTypes = [
1637
+ null
1638
+ ];
1639
+ const parameterNames = ["account"];
1640
+ return (tx) => tx.moveCall({
1641
+ package: packageAddress,
1642
+ module: 'account',
1643
+ function: 'account_delegates',
1644
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1645
+ });
1646
+ }
1647
+ function accountBalancesField(options) {
1648
+ const packageAddress = options.package ?? '@waterx/account';
1649
+ const argumentsTypes = [
1650
+ null
1651
+ ];
1652
+ const parameterNames = ["account"];
1653
+ return (tx) => tx.moveCall({
1654
+ package: packageAddress,
1655
+ module: 'account',
1656
+ function: 'account_balances_field',
1657
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1658
+ });
1659
+ }
1660
+ function delegateAddress(options) {
1661
+ const packageAddress = options.package ?? '@waterx/account';
1662
+ const argumentsTypes = [
1663
+ null
1664
+ ];
1665
+ const parameterNames = ["delegate"];
1666
+ return (tx) => tx.moveCall({
1667
+ package: packageAddress,
1668
+ module: 'account',
1669
+ function: 'delegate_address',
1670
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1671
+ });
1672
+ }
1673
+ function delegateAlias(options) {
1674
+ const packageAddress = options.package ?? '@waterx/account';
1675
+ const argumentsTypes = [
1676
+ null
1677
+ ];
1678
+ const parameterNames = ["delegate"];
1679
+ return (tx) => tx.moveCall({
1680
+ package: packageAddress,
1681
+ module: 'account',
1682
+ function: 'delegate_alias',
1683
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1684
+ });
1685
+ }
1686
+ function delegatePermissions(options) {
1687
+ const packageAddress = options.package ?? '@waterx/account';
1688
+ const argumentsTypes = [
1689
+ null
1690
+ ];
1691
+ const parameterNames = ["delegate"];
1692
+ return (tx) => tx.moveCall({
1693
+ package: packageAddress,
1694
+ module: 'account',
1695
+ function: 'delegate_permissions',
1696
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1697
+ });
1698
+ }
1699
+ function delegateProtocolPermissions(options) {
1700
+ const packageAddress = options.package ?? '@waterx/account';
1701
+ const argumentsTypes = [
1702
+ null
1703
+ ];
1704
+ const parameterNames = ["delegate"];
1705
+ return (tx) => tx.moveCall({
1706
+ package: packageAddress,
1707
+ module: 'account',
1708
+ function: 'delegate_protocol_permissions',
1709
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1710
+ });
1711
+ }
1712
+ function delegateExpiresAtMs(options) {
1713
+ const packageAddress = options.package ?? '@waterx/account';
1714
+ const argumentsTypes = [
1715
+ null
1716
+ ];
1717
+ const parameterNames = ["delegate"];
1718
+ return (tx) => tx.moveCall({
1719
+ package: packageAddress,
1720
+ module: 'account',
1721
+ function: 'delegate_expires_at_ms',
1722
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1723
+ });
1724
+ }
1725
+ function depositRequestAccountId(options) {
1726
+ const packageAddress = options.package ?? '@waterx/account';
1727
+ const argumentsTypes = [
1728
+ null
1729
+ ];
1730
+ const parameterNames = ["r"];
1731
+ return (tx) => tx.moveCall({
1732
+ package: packageAddress,
1733
+ module: 'account',
1734
+ function: 'deposit_request_account_id',
1735
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1736
+ typeArguments: options.typeArguments
1737
+ });
1738
+ }
1739
+ function depositRequestBalance(options) {
1740
+ const packageAddress = options.package ?? '@waterx/account';
1741
+ const argumentsTypes = [
1742
+ null
1743
+ ];
1744
+ const parameterNames = ["r"];
1745
+ return (tx) => tx.moveCall({
1746
+ package: packageAddress,
1747
+ module: 'account',
1748
+ function: 'deposit_request_balance',
1749
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1750
+ typeArguments: options.typeArguments
1751
+ });
1752
+ }
1753
+ function depositRequestAmount(options) {
1754
+ const packageAddress = options.package ?? '@waterx/account';
1755
+ const argumentsTypes = [
1756
+ null
1757
+ ];
1758
+ const parameterNames = ["r"];
1759
+ return (tx) => tx.moveCall({
1760
+ package: packageAddress,
1761
+ module: 'account',
1762
+ function: 'deposit_request_amount',
1763
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1764
+ typeArguments: options.typeArguments
1765
+ });
1766
+ }
1767
+ function depositRequestExtraData(options) {
1768
+ const packageAddress = options.package ?? '@waterx/account';
1769
+ const argumentsTypes = [
1770
+ null
1771
+ ];
1772
+ const parameterNames = ["r"];
1773
+ return (tx) => tx.moveCall({
1774
+ package: packageAddress,
1775
+ module: 'account',
1776
+ function: 'deposit_request_extra_data',
1777
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1778
+ typeArguments: options.typeArguments
1779
+ });
1780
+ }
1781
+ function withdrawRequestAccountId(options) {
1782
+ const packageAddress = options.package ?? '@waterx/account';
1783
+ const argumentsTypes = [
1784
+ null
1785
+ ];
1786
+ const parameterNames = ["r"];
1787
+ return (tx) => tx.moveCall({
1788
+ package: packageAddress,
1789
+ module: 'account',
1790
+ function: 'withdraw_request_account_id',
1791
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1792
+ typeArguments: options.typeArguments
1793
+ });
1794
+ }
1795
+ function withdrawRequestBalance(options) {
1796
+ const packageAddress = options.package ?? '@waterx/account';
1797
+ const argumentsTypes = [
1798
+ null
1799
+ ];
1800
+ const parameterNames = ["r"];
1801
+ return (tx) => tx.moveCall({
1802
+ package: packageAddress,
1803
+ module: 'account',
1804
+ function: 'withdraw_request_balance',
1805
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1806
+ typeArguments: options.typeArguments
1807
+ });
1808
+ }
1809
+ function withdrawRequestAmount(options) {
1810
+ const packageAddress = options.package ?? '@waterx/account';
1811
+ const argumentsTypes = [
1812
+ null
1813
+ ];
1814
+ const parameterNames = ["r"];
1815
+ return (tx) => tx.moveCall({
1816
+ package: packageAddress,
1817
+ module: 'account',
1818
+ function: 'withdraw_request_amount',
1819
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1820
+ typeArguments: options.typeArguments
1821
+ });
1822
+ }
1823
+ function withdrawRequestRecipient(options) {
1824
+ const packageAddress = options.package ?? '@waterx/account';
1825
+ const argumentsTypes = [
1826
+ null
1827
+ ];
1828
+ const parameterNames = ["r"];
1829
+ return (tx) => tx.moveCall({
1830
+ package: packageAddress,
1831
+ module: 'account',
1832
+ function: 'withdraw_request_recipient',
1833
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1834
+ typeArguments: options.typeArguments
1835
+ });
1836
+ }
1837
+ function withdrawRequestExtraData(options) {
1838
+ const packageAddress = options.package ?? '@waterx/account';
1839
+ const argumentsTypes = [
1840
+ null
1841
+ ];
1842
+ const parameterNames = ["r"];
1843
+ return (tx) => tx.moveCall({
1844
+ package: packageAddress,
1845
+ module: 'account',
1846
+ function: 'withdraw_request_extra_data',
1847
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1848
+ typeArguments: options.typeArguments
1849
+ });
1850
+ }
1851
+ function newData(options) {
1852
+ const packageAddress = options.package ?? '@waterx/account';
1853
+ const argumentsTypes = [
1854
+ null,
1855
+ '0x2::object::ID',
1856
+ `${options.typeArguments[0]}`,
1857
+ `${options.typeArguments[1]}`
1858
+ ];
1859
+ const parameterNames = ["registry", "accountId", "Witness", "data"];
1860
+ return (tx) => tx.moveCall({
1861
+ package: packageAddress,
1862
+ module: 'account',
1863
+ function: 'new_data',
1864
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1865
+ typeArguments: options.typeArguments
1866
+ });
1867
+ }
1868
+ function borrowData(options) {
1869
+ const packageAddress = options.package ?? '@waterx/account';
1870
+ const argumentsTypes = [
1871
+ null,
1872
+ '0x2::object::ID'
1873
+ ];
1874
+ const parameterNames = ["registry", "accountId"];
1875
+ return (tx) => tx.moveCall({
1876
+ package: packageAddress,
1877
+ module: 'account',
1878
+ function: 'borrow_data',
1879
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1880
+ typeArguments: options.typeArguments
1881
+ });
1882
+ }
1883
+ function borrowDataMut(options) {
1884
+ const packageAddress = options.package ?? '@waterx/account';
1885
+ const argumentsTypes = [
1886
+ null,
1887
+ '0x2::object::ID',
1888
+ `${options.typeArguments[0]}`
1889
+ ];
1890
+ const parameterNames = ["registry", "accountId", "Witness"];
1891
+ return (tx) => tx.moveCall({
1892
+ package: packageAddress,
1893
+ module: 'account',
1894
+ function: 'borrow_data_mut',
1895
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1896
+ typeArguments: options.typeArguments
1897
+ });
1898
+ }
1899
+ function hasData(options) {
1900
+ const packageAddress = options.package ?? '@waterx/account';
1901
+ const argumentsTypes = [
1902
+ null,
1903
+ '0x2::object::ID'
1904
+ ];
1905
+ const parameterNames = ["registry", "accountId"];
1906
+ return (tx) => tx.moveCall({
1907
+ package: packageAddress,
1908
+ module: 'account',
1909
+ function: 'has_data',
1910
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1911
+ typeArguments: options.typeArguments
1912
+ });
1913
+ }
1914
+ function removeData(options) {
1915
+ const packageAddress = options.package ?? '@waterx/account';
1916
+ const argumentsTypes = [
1917
+ null,
1918
+ '0x2::object::ID',
1919
+ `${options.typeArguments[0]}`
1920
+ ];
1921
+ const parameterNames = ["registry", "accountId", "Witness"];
1922
+ return (tx) => tx.moveCall({
1923
+ package: packageAddress,
1924
+ module: 'account',
1925
+ function: 'remove_data',
1926
+ arguments: (0, index_ts_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1927
+ typeArguments: options.typeArguments
1928
+ });
1929
+ }