wowok 2.1.10 → 2.1.13

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 (896) hide show
  1. package/dist/cjs/bcs/bcs.d.ts +199 -199
  2. package/dist/cjs/bcs/bcs.js +273 -318
  3. package/dist/cjs/bcs/bcs.js.map +1 -0
  4. package/dist/cjs/bcs/effects.d.ts +109 -109
  5. package/dist/cjs/bcs/effects.js +205 -230
  6. package/dist/cjs/bcs/effects.js.map +1 -0
  7. package/dist/cjs/bcs/index.d.ts +1 -2584
  8. package/dist/cjs/bcs/index.js +61 -76
  9. package/dist/cjs/bcs/index.js.map +1 -0
  10. package/dist/cjs/bcs/pure.js +38 -58
  11. package/dist/cjs/bcs/pure.js.map +1 -0
  12. package/dist/cjs/bcs/type-tag-serializer.js +102 -114
  13. package/dist/cjs/bcs/type-tag-serializer.js.map +1 -0
  14. package/dist/cjs/bcs/types.js +6 -23
  15. package/dist/cjs/bcs/types.js.map +1 -0
  16. package/dist/cjs/client/index.js +17 -33
  17. package/dist/cjs/client/index.js.map +1 -0
  18. package/dist/cjs/client/network.js +25 -40
  19. package/dist/cjs/client/network.js.map +1 -0
  20. package/dist/cjs/cryptography/index.js +29 -45
  21. package/dist/cjs/cryptography/index.js.map +1 -0
  22. package/dist/cjs/cryptography/intent.d.ts +1 -1
  23. package/dist/cjs/cryptography/intent.js +20 -31
  24. package/dist/cjs/cryptography/intent.js.map +1 -0
  25. package/dist/cjs/cryptography/keypair.js +102 -116
  26. package/dist/cjs/cryptography/keypair.js.map +1 -0
  27. package/dist/cjs/cryptography/mnemonics.js +43 -41
  28. package/dist/cjs/cryptography/mnemonics.js.map +1 -0
  29. package/dist/cjs/cryptography/publickey.js +112 -134
  30. package/dist/cjs/cryptography/publickey.js.map +1 -0
  31. package/dist/cjs/cryptography/signature-scheme.js +24 -43
  32. package/dist/cjs/cryptography/signature-scheme.js.map +1 -0
  33. package/dist/cjs/cryptography/signature.d.ts +2 -24
  34. package/dist/cjs/cryptography/signature.js +50 -67
  35. package/dist/cjs/cryptography/signature.js.map +1 -0
  36. package/dist/cjs/experimental/cache.js +65 -0
  37. package/dist/cjs/experimental/cache.js.map +1 -0
  38. package/dist/cjs/experimental/client.js +27 -0
  39. package/dist/cjs/experimental/client.js.map +1 -0
  40. package/dist/cjs/experimental/core.js +89 -0
  41. package/dist/cjs/experimental/core.js.map +1 -0
  42. package/dist/cjs/experimental/errors.js +32 -0
  43. package/dist/cjs/experimental/errors.js.map +1 -0
  44. package/dist/cjs/experimental/index.js +15 -0
  45. package/dist/cjs/experimental/index.js.map +1 -0
  46. package/dist/cjs/experimental/persistent-storage.js +343 -0
  47. package/dist/cjs/experimental/persistent-storage.js.map +1 -0
  48. package/dist/cjs/experimental/persistent-storage.test.js +200 -0
  49. package/dist/cjs/experimental/persistent-storage.test.js.map +1 -0
  50. package/dist/cjs/experimental/transports/utils.js +104 -0
  51. package/dist/cjs/experimental/transports/utils.js.map +1 -0
  52. package/dist/cjs/experimental/types.js +6 -0
  53. package/dist/cjs/experimental/types.js.map +1 -0
  54. package/dist/cjs/faucet/faucet.js +106 -124
  55. package/dist/cjs/faucet/faucet.js.map +1 -0
  56. package/dist/cjs/faucet/index.js +12 -28
  57. package/dist/cjs/faucet/index.js.map +1 -0
  58. package/dist/cjs/grpc/client.js +47 -62
  59. package/dist/cjs/grpc/client.js.map +1 -0
  60. package/dist/cjs/grpc/core.js +580 -617
  61. package/dist/cjs/grpc/core.js.map +1 -0
  62. package/dist/cjs/grpc/index.js +9 -25
  63. package/dist/cjs/grpc/index.js.map +1 -0
  64. package/dist/cjs/grpc/proto/google/protobuf/any.js +168 -135
  65. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +1 -0
  66. package/dist/cjs/grpc/proto/google/protobuf/duration.js +105 -90
  67. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +1 -0
  68. package/dist/cjs/grpc/proto/google/protobuf/empty.js +50 -28
  69. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +1 -0
  70. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +96 -75
  71. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +1 -0
  72. package/dist/cjs/grpc/proto/google/protobuf/struct.js +266 -215
  73. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +1 -0
  74. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +150 -131
  75. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +1 -0
  76. package/dist/cjs/grpc/proto/google/rpc/error_details.js +331 -302
  77. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +1 -0
  78. package/dist/cjs/grpc/proto/google/rpc/status.js +50 -50
  79. package/dist/cjs/grpc/proto/google/rpc/status.js.map +1 -0
  80. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +84 -68
  81. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
  82. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +45 -50
  83. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
  84. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +38 -43
  85. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
  86. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +70 -75
  87. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
  88. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +79 -81
  89. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
  90. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +183 -166
  91. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
  92. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +369 -296
  93. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
  94. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +80 -85
  95. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
  96. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +31 -28
  97. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
  98. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +81 -83
  99. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +1 -0
  100. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +80 -85
  101. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
  102. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +876 -506
  103. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
  104. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +56 -61
  105. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
  106. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +103 -83
  107. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +1 -0
  108. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +76 -78
  109. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
  110. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +69 -119
  111. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
  112. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +392 -350
  113. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
  114. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +599 -473
  115. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
  116. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +46 -78
  117. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
  118. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +242 -224
  119. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
  120. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +32 -52
  121. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
  122. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +139 -134
  123. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
  124. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +109 -111
  125. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +1 -0
  126. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +46 -51
  127. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
  128. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +76 -61
  129. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
  130. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +46 -59
  131. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
  132. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +568 -522
  133. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
  134. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +54 -32
  135. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
  136. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +27 -47
  137. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
  138. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +83 -86
  139. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
  140. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +53 -85
  141. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
  142. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +645 -529
  143. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
  144. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +37 -51
  145. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
  146. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +58 -61
  147. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
  148. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +749 -730
  149. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
  150. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1218 -975
  151. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
  152. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +32 -46
  153. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
  154. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +186 -167
  155. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
  156. package/dist/cjs/index.js +96 -91
  157. package/dist/cjs/index.js.map +1 -0
  158. package/dist/cjs/jsonRpc/client.js +654 -743
  159. package/dist/cjs/jsonRpc/client.js.map +1 -0
  160. package/dist/cjs/jsonRpc/core.d.ts +7 -7
  161. package/dist/cjs/jsonRpc/core.js +562 -606
  162. package/dist/cjs/jsonRpc/core.js.map +1 -0
  163. package/dist/cjs/jsonRpc/errors.js +38 -56
  164. package/dist/cjs/jsonRpc/errors.js.map +1 -0
  165. package/dist/cjs/jsonRpc/http-transport.js +70 -114
  166. package/dist/cjs/jsonRpc/http-transport.js.map +1 -0
  167. package/dist/cjs/jsonRpc/index.js +14 -30
  168. package/dist/cjs/jsonRpc/index.js.map +1 -0
  169. package/dist/cjs/jsonRpc/json-rpc-resolver.js +286 -290
  170. package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +1 -0
  171. package/dist/cjs/jsonRpc/rpc-websocket-client.js +150 -207
  172. package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +1 -0
  173. package/dist/cjs/jsonRpc/types/chain.js +4 -15
  174. package/dist/cjs/jsonRpc/types/chain.js.map +1 -0
  175. package/dist/cjs/jsonRpc/types/changes.js +4 -15
  176. package/dist/cjs/jsonRpc/types/changes.js.map +1 -0
  177. package/dist/cjs/jsonRpc/types/coins.js +4 -15
  178. package/dist/cjs/jsonRpc/types/coins.js.map +1 -0
  179. package/dist/cjs/jsonRpc/types/common.js +4 -15
  180. package/dist/cjs/jsonRpc/types/common.js.map +1 -0
  181. package/dist/cjs/jsonRpc/types/generated.d.ts +1 -1
  182. package/dist/cjs/jsonRpc/types/generated.js +4 -15
  183. package/dist/cjs/jsonRpc/types/generated.js.map +1 -0
  184. package/dist/cjs/jsonRpc/types/index.js +4 -15
  185. package/dist/cjs/jsonRpc/types/index.js.map +1 -0
  186. package/dist/cjs/jsonRpc/types/params.js +4 -15
  187. package/dist/cjs/jsonRpc/types/params.js.map +1 -0
  188. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +54 -69
  189. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
  190. package/dist/cjs/keypairs/ed25519/index.js +10 -26
  191. package/dist/cjs/keypairs/ed25519/index.js.map +1 -0
  192. package/dist/cjs/keypairs/ed25519/keypair.js +134 -159
  193. package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -0
  194. package/dist/cjs/keypairs/ed25519/publickey.js +70 -84
  195. package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -0
  196. package/dist/cjs/keypairs/index.js +21 -19
  197. package/dist/cjs/keypairs/index.js.map +1 -0
  198. package/dist/cjs/keypairs/passkey/index.js +11 -27
  199. package/dist/cjs/keypairs/passkey/index.js.map +1 -0
  200. package/dist/cjs/keypairs/passkey/keypair.js +245 -256
  201. package/dist/cjs/keypairs/passkey/keypair.js.map +1 -0
  202. package/dist/cjs/keypairs/passkey/publickey.js +163 -162
  203. package/dist/cjs/keypairs/passkey/publickey.js.map +1 -0
  204. package/dist/cjs/keypairs/passkey/types.js +4 -15
  205. package/dist/cjs/keypairs/passkey/types.js.map +1 -0
  206. package/dist/cjs/keypairs/secp256k1/index.js +10 -26
  207. package/dist/cjs/keypairs/secp256k1/index.js.map +1 -0
  208. package/dist/cjs/keypairs/secp256k1/keypair.js +129 -151
  209. package/dist/cjs/keypairs/secp256k1/keypair.js.map +1 -0
  210. package/dist/cjs/keypairs/secp256k1/publickey.js +71 -89
  211. package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -0
  212. package/dist/cjs/keypairs/secp256r1/index.js +10 -26
  213. package/dist/cjs/keypairs/secp256r1/index.js.map +1 -0
  214. package/dist/cjs/keypairs/secp256r1/keypair.js +127 -148
  215. package/dist/cjs/keypairs/secp256r1/keypair.js.map +1 -0
  216. package/dist/cjs/keypairs/secp256r1/publickey.js +72 -90
  217. package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -0
  218. package/dist/cjs/multisig/index.js +10 -26
  219. package/dist/cjs/multisig/index.js.map +1 -0
  220. package/dist/cjs/multisig/publickey.d.ts +1 -1
  221. package/dist/cjs/multisig/publickey.js +228 -276
  222. package/dist/cjs/multisig/publickey.js.map +1 -0
  223. package/dist/cjs/multisig/signer.js +62 -110
  224. package/dist/cjs/multisig/signer.js.map +1 -0
  225. package/dist/cjs/transactions/Arguments.d.ts +4 -4
  226. package/dist/cjs/transactions/Arguments.js +13 -34
  227. package/dist/cjs/transactions/Arguments.js.map +1 -0
  228. package/dist/cjs/transactions/Commands.js +111 -141
  229. package/dist/cjs/transactions/Commands.js.map +1 -0
  230. package/dist/cjs/transactions/Inputs.js +53 -82
  231. package/dist/cjs/transactions/Inputs.js.map +1 -0
  232. package/dist/cjs/transactions/ObjectCache.d.ts +8 -8
  233. package/dist/cjs/transactions/ObjectCache.js +204 -241
  234. package/dist/cjs/transactions/ObjectCache.js.map +1 -0
  235. package/dist/cjs/transactions/Transaction.d.ts +31 -31
  236. package/dist/cjs/transactions/Transaction.js +628 -719
  237. package/dist/cjs/transactions/Transaction.js.map +1 -0
  238. package/dist/cjs/transactions/TransactionData.d.ts +9 -9
  239. package/dist/cjs/transactions/TransactionData.js +396 -440
  240. package/dist/cjs/transactions/TransactionData.js.map +1 -0
  241. package/dist/cjs/transactions/__tests__/Transaction.test.js +169 -0
  242. package/dist/cjs/transactions/__tests__/Transaction.test.js.map +1 -0
  243. package/dist/cjs/transactions/__tests__/bcs.test.js +202 -0
  244. package/dist/cjs/transactions/__tests__/bcs.test.js.map +1 -0
  245. package/dist/cjs/transactions/data/internal.js +166 -207
  246. package/dist/cjs/transactions/data/internal.js.map +1 -0
  247. package/dist/cjs/transactions/data/v1.js +436 -495
  248. package/dist/cjs/transactions/data/v1.js.map +1 -0
  249. package/dist/cjs/transactions/data/v2.d.ts +5 -5
  250. package/dist/cjs/transactions/data/v2.js +94 -107
  251. package/dist/cjs/transactions/data/v2.js.map +1 -0
  252. package/dist/cjs/transactions/executor/caching.js +71 -113
  253. package/dist/cjs/transactions/executor/caching.js.map +1 -0
  254. package/dist/cjs/transactions/executor/parallel.js +339 -378
  255. package/dist/cjs/transactions/executor/parallel.js.map +1 -0
  256. package/dist/cjs/transactions/executor/queue.js +60 -80
  257. package/dist/cjs/transactions/executor/queue.js.map +1 -0
  258. package/dist/cjs/transactions/executor/serial.d.ts +4 -4
  259. package/dist/cjs/transactions/executor/serial.js +102 -131
  260. package/dist/cjs/transactions/executor/serial.js.map +1 -0
  261. package/dist/cjs/transactions/hash.js +17 -28
  262. package/dist/cjs/transactions/hash.js.map +1 -0
  263. package/dist/cjs/transactions/index.js +33 -49
  264. package/dist/cjs/transactions/index.js.map +1 -0
  265. package/dist/cjs/transactions/intents/CoinWithBalance.js +137 -191
  266. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +1 -0
  267. package/dist/cjs/transactions/object.js +88 -111
  268. package/dist/cjs/transactions/object.js.map +1 -0
  269. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +20 -32
  270. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
  271. package/dist/cjs/transactions/pure.js +38 -60
  272. package/dist/cjs/transactions/pure.js.map +1 -0
  273. package/dist/cjs/transactions/resolve.js +62 -88
  274. package/dist/cjs/transactions/resolve.js.map +1 -0
  275. package/dist/cjs/transactions/serializer.js +150 -163
  276. package/dist/cjs/transactions/serializer.js.map +1 -0
  277. package/dist/cjs/transactions/utils.d.ts +1 -1
  278. package/dist/cjs/transactions/utils.js +114 -125
  279. package/dist/cjs/transactions/utils.js.map +1 -0
  280. package/dist/cjs/utils/constants.js +29 -56
  281. package/dist/cjs/utils/constants.js.map +1 -0
  282. package/dist/cjs/utils/derived-objects.js +14 -30
  283. package/dist/cjs/utils/derived-objects.js.map +1 -0
  284. package/dist/cjs/utils/dynamic-fields.js +20 -37
  285. package/dist/cjs/utils/dynamic-fields.js.map +1 -0
  286. package/dist/cjs/utils/format.js +14 -30
  287. package/dist/cjs/utils/format.js.map +1 -0
  288. package/dist/cjs/utils/index.js +50 -64
  289. package/dist/cjs/utils/index.js.map +1 -0
  290. package/dist/cjs/utils/move-registry.js +37 -35
  291. package/dist/cjs/utils/move-registry.js.map +1 -0
  292. package/dist/cjs/utils/sui-types.js +74 -68
  293. package/dist/cjs/utils/sui-types.js.map +1 -0
  294. package/dist/cjs/utils/suins.js +30 -46
  295. package/dist/cjs/utils/suins.js.map +1 -0
  296. package/dist/cjs/verify/index.js +12 -27
  297. package/dist/cjs/verify/index.js.map +1 -0
  298. package/dist/cjs/verify/verify.js +83 -110
  299. package/dist/cjs/verify/verify.js.map +1 -0
  300. package/dist/cjs/version.js +8 -25
  301. package/dist/cjs/version.js.map +1 -0
  302. package/dist/cjs/w/call/allocation.js +323 -413
  303. package/dist/cjs/w/call/allocation.js.map +1 -0
  304. package/dist/cjs/w/call/arb.js +105 -136
  305. package/dist/cjs/w/call/arb.js.map +1 -0
  306. package/dist/cjs/w/call/arbitration.js +1206 -1581
  307. package/dist/cjs/w/call/arbitration.js.map +1 -0
  308. package/dist/cjs/w/call/base.js +303 -333
  309. package/dist/cjs/w/call/base.js.map +1 -0
  310. package/dist/cjs/w/call/contact.js +335 -452
  311. package/dist/cjs/w/call/contact.js.map +1 -0
  312. package/dist/cjs/w/call/demand.js +690 -844
  313. package/dist/cjs/w/call/demand.js.map +1 -0
  314. package/dist/cjs/w/call/entity.js +167 -201
  315. package/dist/cjs/w/call/entity.js.map +1 -0
  316. package/dist/cjs/w/call/guard-ins.js +4376 -4389
  317. package/dist/cjs/w/call/guard-ins.js.map +1 -0
  318. package/dist/cjs/w/call/guard.js +1078 -1112
  319. package/dist/cjs/w/call/guard.js.map +1 -0
  320. package/dist/cjs/w/call/index.js +69 -70
  321. package/dist/cjs/w/call/index.js.map +1 -0
  322. package/dist/cjs/w/call/machine.js +1105 -1419
  323. package/dist/cjs/w/call/machine.js.map +1 -0
  324. package/dist/cjs/w/call/order.js +314 -454
  325. package/dist/cjs/w/call/order.js.map +1 -0
  326. package/dist/cjs/w/call/passport.js +214 -253
  327. package/dist/cjs/w/call/passport.js.map +1 -0
  328. package/dist/cjs/w/call/payment.js +187 -224
  329. package/dist/cjs/w/call/payment.js.map +1 -0
  330. package/dist/cjs/w/call/permission.js +1183 -1294
  331. package/dist/cjs/w/call/permission.js.map +1 -0
  332. package/dist/cjs/w/call/personal.js +132 -170
  333. package/dist/cjs/w/call/personal.js.map +1 -0
  334. package/dist/cjs/w/call/progress.js +634 -794
  335. package/dist/cjs/w/call/progress.js.map +1 -0
  336. package/dist/cjs/w/call/proof.js +67 -116
  337. package/dist/cjs/w/call/proof.js.map +1 -0
  338. package/dist/cjs/w/call/repository.js +1037 -1251
  339. package/dist/cjs/w/call/repository.js.map +1 -0
  340. package/dist/cjs/w/call/resource.js +111 -131
  341. package/dist/cjs/w/call/resource.js.map +1 -0
  342. package/dist/cjs/w/call/reward.js +675 -853
  343. package/dist/cjs/w/call/reward.js.map +1 -0
  344. package/dist/cjs/w/call/service.js +1879 -2385
  345. package/dist/cjs/w/call/service.js.map +1 -0
  346. package/dist/cjs/w/call/treasury.js +841 -1138
  347. package/dist/cjs/w/call/treasury.js.map +1 -0
  348. package/dist/cjs/w/call/util.js +593 -624
  349. package/dist/cjs/w/call/util.js.map +1 -0
  350. package/dist/cjs/w/common.d.ts +1 -1
  351. package/dist/cjs/w/common.js +548 -518
  352. package/dist/cjs/w/common.js.map +1 -0
  353. package/dist/cjs/w/exception.js +574 -584
  354. package/dist/cjs/w/exception.js.map +1 -0
  355. package/dist/cjs/w/index.js +26 -23
  356. package/dist/cjs/w/index.js.map +1 -0
  357. package/dist/cjs/w/local/account.js +664 -741
  358. package/dist/cjs/w/local/account.js.map +1 -0
  359. package/dist/cjs/w/local/cache.js +180 -166
  360. package/dist/cjs/w/local/cache.js.map +1 -0
  361. package/dist/cjs/w/local/config.js +51 -80
  362. package/dist/cjs/w/local/config.js.map +1 -0
  363. package/dist/cjs/w/local/index.js +225 -290
  364. package/dist/cjs/w/local/index.js.map +1 -0
  365. package/dist/cjs/w/local/local.d.ts +2 -2
  366. package/dist/cjs/w/local/local.js +638 -646
  367. package/dist/cjs/w/local/local.js.map +1 -0
  368. package/dist/cjs/w/local/storage.js +210 -164
  369. package/dist/cjs/w/local/storage.js.map +1 -0
  370. package/dist/cjs/w/local/token.js +158 -175
  371. package/dist/cjs/w/local/token.js.map +1 -0
  372. package/dist/cjs/w/local/util.js +80 -51
  373. package/dist/cjs/w/local/util.js.map +1 -0
  374. package/dist/cjs/w/local/wip.js +1078 -802
  375. package/dist/cjs/w/local/wip.js.map +1 -0
  376. package/dist/cjs/w/messenger/crypto.js +496 -389
  377. package/dist/cjs/w/messenger/crypto.js.map +1 -0
  378. package/dist/cjs/w/messenger/index.js +53 -35
  379. package/dist/cjs/w/messenger/index.js.map +1 -0
  380. package/dist/cjs/w/messenger/messenger-api.js +1159 -1035
  381. package/dist/cjs/w/messenger/messenger-api.js.map +1 -0
  382. package/dist/cjs/w/messenger/messenger-manager.js +954 -1083
  383. package/dist/cjs/w/messenger/messenger-manager.js.map +1 -0
  384. package/dist/cjs/w/messenger/messenger.d.ts +1 -1
  385. package/dist/cjs/w/messenger/messenger.js +1304 -1450
  386. package/dist/cjs/w/messenger/messenger.js.map +1 -0
  387. package/dist/cjs/w/messenger/server.js +390 -512
  388. package/dist/cjs/w/messenger/server.js.map +1 -0
  389. package/dist/cjs/w/messenger/session.js +399 -403
  390. package/dist/cjs/w/messenger/session.js.map +1 -0
  391. package/dist/cjs/w/messenger/storage.js +881 -777
  392. package/dist/cjs/w/messenger/storage.js.map +1 -0
  393. package/dist/cjs/w/messenger/types.d.ts +2 -2
  394. package/dist/cjs/w/messenger/types.js +83 -103
  395. package/dist/cjs/w/messenger/types.js.map +1 -0
  396. package/dist/cjs/w/messenger/utils.js +29 -34
  397. package/dist/cjs/w/messenger/utils.js.map +1 -0
  398. package/dist/cjs/w/query/bult-in.js +101 -110
  399. package/dist/cjs/w/query/bult-in.js.map +1 -0
  400. package/dist/cjs/w/query/event.js +134 -146
  401. package/dist/cjs/w/query/event.js.map +1 -0
  402. package/dist/cjs/w/query/index.js +22 -20
  403. package/dist/cjs/w/query/index.js.map +1 -0
  404. package/dist/cjs/w/query/object.js +1576 -1576
  405. package/dist/cjs/w/query/object.js.map +1 -0
  406. package/dist/cjs/w/query/received.js +66 -88
  407. package/dist/cjs/w/query/received.js.map +1 -0
  408. package/dist/cjs/w/query/util.js +53 -77
  409. package/dist/cjs/w/query/util.js.map +1 -0
  410. package/dist/cjs/w/util.js +589 -675
  411. package/dist/cjs/w/util.js.map +1 -0
  412. package/dist/esm/bcs/bcs.d.ts +199 -199
  413. package/dist/esm/bcs/bcs.js +269 -310
  414. package/dist/esm/bcs/bcs.js.map +1 -0
  415. package/dist/esm/bcs/effects.d.ts +109 -109
  416. package/dist/esm/bcs/effects.js +171 -179
  417. package/dist/esm/bcs/effects.js.map +1 -0
  418. package/dist/esm/bcs/index.d.ts +1 -2584
  419. package/dist/esm/bcs/index.js +51 -94
  420. package/dist/esm/bcs/index.js.map +1 -0
  421. package/dist/esm/bcs/pure.js +35 -38
  422. package/dist/esm/bcs/pure.js.map +1 -0
  423. package/dist/esm/bcs/type-tag-serializer.js +98 -95
  424. package/dist/esm/bcs/type-tag-serializer.js.map +1 -0
  425. package/dist/esm/bcs/types.js +5 -5
  426. package/dist/esm/bcs/types.js.map +1 -0
  427. package/dist/esm/client/index.js +7 -23
  428. package/dist/esm/client/index.js.map +1 -0
  429. package/dist/esm/client/network.js +23 -22
  430. package/dist/esm/client/network.js.map +1 -0
  431. package/dist/esm/cryptography/index.js +9 -46
  432. package/dist/esm/cryptography/index.js.map +1 -0
  433. package/dist/esm/cryptography/intent.d.ts +1 -1
  434. package/dist/esm/cryptography/intent.js +18 -12
  435. package/dist/esm/cryptography/intent.js.map +1 -0
  436. package/dist/esm/cryptography/keypair.js +95 -99
  437. package/dist/esm/cryptography/keypair.js.map +1 -0
  438. package/dist/esm/cryptography/mnemonics.js +40 -24
  439. package/dist/esm/cryptography/mnemonics.js.map +1 -0
  440. package/dist/esm/cryptography/publickey.js +104 -115
  441. package/dist/esm/cryptography/publickey.js.map +1 -0
  442. package/dist/esm/cryptography/signature-scheme.js +22 -24
  443. package/dist/esm/cryptography/signature-scheme.js.map +1 -0
  444. package/dist/esm/cryptography/signature.d.ts +2 -24
  445. package/dist/esm/cryptography/signature.js +44 -48
  446. package/dist/esm/cryptography/signature.js.map +1 -0
  447. package/dist/esm/experimental/cache.js +61 -0
  448. package/dist/esm/experimental/cache.js.map +1 -0
  449. package/dist/esm/experimental/client.js +23 -0
  450. package/dist/esm/experimental/client.js.map +1 -0
  451. package/dist/esm/experimental/core.js +85 -0
  452. package/dist/esm/experimental/core.js.map +1 -0
  453. package/dist/esm/experimental/errors.js +27 -0
  454. package/dist/esm/experimental/errors.js.map +1 -0
  455. package/dist/esm/experimental/index.js +8 -0
  456. package/dist/esm/experimental/index.js.map +1 -0
  457. package/dist/esm/experimental/persistent-storage.js +337 -0
  458. package/dist/esm/experimental/persistent-storage.js.map +1 -0
  459. package/dist/esm/experimental/persistent-storage.test.js +198 -0
  460. package/dist/esm/experimental/persistent-storage.test.js.map +1 -0
  461. package/dist/esm/experimental/transports/utils.js +100 -0
  462. package/dist/esm/experimental/transports/utils.js.map +1 -0
  463. package/dist/esm/experimental/types.js +5 -0
  464. package/dist/esm/experimental/types.js.map +1 -0
  465. package/dist/esm/faucet/faucet.js +104 -111
  466. package/dist/esm/faucet/faucet.js.map +1 -0
  467. package/dist/esm/faucet/index.js +4 -16
  468. package/dist/esm/faucet/index.js.map +1 -0
  469. package/dist/esm/grpc/client.js +34 -34
  470. package/dist/esm/grpc/client.js.map +1 -0
  471. package/dist/esm/grpc/core.js +570 -601
  472. package/dist/esm/grpc/core.js.map +1 -0
  473. package/dist/esm/grpc/index.js +5 -6
  474. package/dist/esm/grpc/index.js.map +1 -0
  475. package/dist/esm/grpc/proto/google/protobuf/any.js +161 -111
  476. package/dist/esm/grpc/proto/google/protobuf/any.js.map +1 -0
  477. package/dist/esm/grpc/proto/google/protobuf/duration.js +99 -67
  478. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +1 -0
  479. package/dist/esm/grpc/proto/google/protobuf/empty.js +46 -7
  480. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +1 -0
  481. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +90 -52
  482. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +1 -0
  483. package/dist/esm/grpc/proto/google/protobuf/struct.js +258 -190
  484. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +1 -0
  485. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +144 -108
  486. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +1 -0
  487. package/dist/esm/grpc/proto/google/rpc/error_details.js +313 -267
  488. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +1 -0
  489. package/dist/esm/grpc/proto/google/rpc/status.js +45 -28
  490. package/dist/esm/grpc/proto/google/rpc/status.js.map +1 -0
  491. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +80 -47
  492. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
  493. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +41 -29
  494. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
  495. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +34 -22
  496. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
  497. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +61 -49
  498. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
  499. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +72 -57
  500. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
  501. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +173 -139
  502. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
  503. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +358 -268
  504. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
  505. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +72 -60
  506. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
  507. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +29 -9
  508. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
  509. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +74 -59
  510. package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +1 -0
  511. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +69 -57
  512. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
  513. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +861 -474
  514. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
  515. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +52 -40
  516. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
  517. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +98 -61
  518. package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +1 -0
  519. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +71 -56
  520. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
  521. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +65 -100
  522. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
  523. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +365 -306
  524. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
  525. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +585 -442
  526. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
  527. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +42 -59
  528. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
  529. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +226 -191
  530. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
  531. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +28 -33
  532. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
  533. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +129 -107
  534. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
  535. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +100 -85
  536. package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +1 -0
  537. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +42 -30
  538. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
  539. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +72 -40
  540. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
  541. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +42 -38
  542. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
  543. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +544 -481
  544. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
  545. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +52 -13
  546. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
  547. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +23 -28
  548. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
  549. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +74 -60
  550. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
  551. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +49 -66
  552. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
  553. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +623 -490
  554. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
  555. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +33 -32
  556. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
  557. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +50 -36
  558. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
  559. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +737 -701
  560. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
  561. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1177 -917
  562. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
  563. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +28 -27
  564. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
  565. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +169 -133
  566. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
  567. package/dist/esm/index.js +21 -107
  568. package/dist/esm/index.js.map +1 -0
  569. package/dist/esm/jsonRpc/client.js +646 -727
  570. package/dist/esm/jsonRpc/client.js.map +1 -0
  571. package/dist/esm/jsonRpc/core.d.ts +7 -7
  572. package/dist/esm/jsonRpc/core.js +550 -581
  573. package/dist/esm/jsonRpc/core.js.map +1 -0
  574. package/dist/esm/jsonRpc/errors.js +36 -41
  575. package/dist/esm/jsonRpc/errors.js.map +1 -0
  576. package/dist/esm/jsonRpc/http-transport.js +65 -93
  577. package/dist/esm/jsonRpc/http-transport.js.map +1 -0
  578. package/dist/esm/jsonRpc/index.js +6 -20
  579. package/dist/esm/jsonRpc/index.js.map +1 -0
  580. package/dist/esm/jsonRpc/json-rpc-resolver.js +281 -276
  581. package/dist/esm/jsonRpc/json-rpc-resolver.js.map +1 -0
  582. package/dist/esm/jsonRpc/rpc-websocket-client.js +147 -189
  583. package/dist/esm/jsonRpc/rpc-websocket-client.js.map +1 -0
  584. package/dist/esm/jsonRpc/types/chain.js +4 -0
  585. package/dist/esm/jsonRpc/types/chain.js.map +1 -0
  586. package/dist/esm/jsonRpc/types/changes.js +4 -0
  587. package/dist/esm/jsonRpc/types/changes.js.map +1 -0
  588. package/dist/esm/jsonRpc/types/coins.js +4 -0
  589. package/dist/esm/jsonRpc/types/coins.js.map +1 -0
  590. package/dist/esm/jsonRpc/types/common.js +4 -0
  591. package/dist/esm/jsonRpc/types/common.js.map +1 -0
  592. package/dist/esm/jsonRpc/types/generated.d.ts +1 -1
  593. package/dist/esm/jsonRpc/types/generated.js +4 -0
  594. package/dist/esm/jsonRpc/types/generated.js.map +1 -0
  595. package/dist/esm/jsonRpc/types/index.js +4 -0
  596. package/dist/esm/jsonRpc/types/index.js.map +1 -0
  597. package/dist/esm/jsonRpc/types/params.js +4 -0
  598. package/dist/esm/jsonRpc/types/params.js.map +1 -0
  599. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +49 -48
  600. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
  601. package/dist/esm/keypairs/ed25519/index.js +5 -10
  602. package/dist/esm/keypairs/ed25519/index.js.map +1 -0
  603. package/dist/esm/keypairs/ed25519/keypair.js +128 -146
  604. package/dist/esm/keypairs/ed25519/keypair.js.map +1 -0
  605. package/dist/esm/keypairs/ed25519/publickey.js +64 -67
  606. package/dist/esm/keypairs/ed25519/publickey.js.map +1 -0
  607. package/dist/esm/keypairs/index.js +3 -0
  608. package/dist/esm/keypairs/index.js.map +1 -0
  609. package/dist/esm/keypairs/passkey/index.js +5 -12
  610. package/dist/esm/keypairs/passkey/index.js.map +1 -0
  611. package/dist/esm/keypairs/passkey/keypair.js +236 -243
  612. package/dist/esm/keypairs/passkey/keypair.js.map +1 -0
  613. package/dist/esm/keypairs/passkey/publickey.js +154 -140
  614. package/dist/esm/keypairs/passkey/publickey.js.map +1 -0
  615. package/dist/esm/keypairs/passkey/types.js +4 -0
  616. package/dist/esm/keypairs/passkey/types.js.map +1 -0
  617. package/dist/esm/keypairs/secp256k1/index.js +5 -10
  618. package/dist/esm/keypairs/secp256k1/index.js.map +1 -0
  619. package/dist/esm/keypairs/secp256k1/keypair.js +120 -134
  620. package/dist/esm/keypairs/secp256k1/keypair.js.map +1 -0
  621. package/dist/esm/keypairs/secp256k1/publickey.js +64 -71
  622. package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -0
  623. package/dist/esm/keypairs/secp256r1/index.js +5 -10
  624. package/dist/esm/keypairs/secp256r1/index.js.map +1 -0
  625. package/dist/esm/keypairs/secp256r1/keypair.js +118 -131
  626. package/dist/esm/keypairs/secp256r1/keypair.js.map +1 -0
  627. package/dist/esm/keypairs/secp256r1/publickey.js +63 -66
  628. package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -0
  629. package/dist/esm/multisig/index.js +5 -10
  630. package/dist/esm/multisig/index.js.map +1 -0
  631. package/dist/esm/multisig/publickey.d.ts +1 -1
  632. package/dist/esm/multisig/publickey.js +216 -253
  633. package/dist/esm/multisig/publickey.js.map +1 -0
  634. package/dist/esm/multisig/signer.js +57 -89
  635. package/dist/esm/multisig/signer.js.map +1 -0
  636. package/dist/esm/transactions/Arguments.d.ts +4 -4
  637. package/dist/esm/transactions/Arguments.js +9 -13
  638. package/dist/esm/transactions/Arguments.js.map +1 -0
  639. package/dist/esm/transactions/Commands.js +105 -118
  640. package/dist/esm/transactions/Commands.js.map +1 -0
  641. package/dist/esm/transactions/Inputs.js +49 -61
  642. package/dist/esm/transactions/Inputs.js.map +1 -0
  643. package/dist/esm/transactions/ObjectCache.d.ts +8 -8
  644. package/dist/esm/transactions/ObjectCache.js +200 -223
  645. package/dist/esm/transactions/ObjectCache.js.map +1 -0
  646. package/dist/esm/transactions/Transaction.d.ts +32 -32
  647. package/dist/esm/transactions/Transaction.js +611 -696
  648. package/dist/esm/transactions/Transaction.js.map +1 -0
  649. package/dist/esm/transactions/TransactionData.d.ts +9 -9
  650. package/dist/esm/transactions/TransactionData.js +386 -415
  651. package/dist/esm/transactions/TransactionData.js.map +1 -0
  652. package/dist/esm/transactions/__tests__/Transaction.test.js +167 -0
  653. package/dist/esm/transactions/__tests__/Transaction.test.js.map +1 -0
  654. package/dist/esm/transactions/__tests__/bcs.test.js +200 -0
  655. package/dist/esm/transactions/__tests__/bcs.test.js.map +1 -0
  656. package/dist/esm/transactions/data/internal.js +158 -205
  657. package/dist/esm/transactions/data/internal.js.map +1 -0
  658. package/dist/esm/transactions/data/v1.js +419 -487
  659. package/dist/esm/transactions/data/v1.js.map +1 -0
  660. package/dist/esm/transactions/data/v2.d.ts +5 -5
  661. package/dist/esm/transactions/data/v2.js +89 -107
  662. package/dist/esm/transactions/data/v2.js.map +1 -0
  663. package/dist/esm/transactions/executor/caching.d.ts +2 -2
  664. package/dist/esm/transactions/executor/caching.js +66 -93
  665. package/dist/esm/transactions/executor/caching.js.map +1 -0
  666. package/dist/esm/transactions/executor/parallel.js +329 -352
  667. package/dist/esm/transactions/executor/parallel.js.map +1 -0
  668. package/dist/esm/transactions/executor/queue.js +58 -64
  669. package/dist/esm/transactions/executor/queue.js.map +1 -0
  670. package/dist/esm/transactions/executor/serial.d.ts +5 -5
  671. package/dist/esm/transactions/executor/serial.js +96 -110
  672. package/dist/esm/transactions/executor/serial.js.map +1 -0
  673. package/dist/esm/transactions/hash.js +15 -9
  674. package/dist/esm/transactions/hash.js.map +1 -0
  675. package/dist/esm/transactions/index.js +15 -41
  676. package/dist/esm/transactions/index.js.map +1 -0
  677. package/dist/esm/transactions/intents/CoinWithBalance.js +127 -165
  678. package/dist/esm/transactions/intents/CoinWithBalance.js.map +1 -0
  679. package/dist/esm/transactions/object.js +86 -92
  680. package/dist/esm/transactions/object.js.map +1 -0
  681. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +18 -15
  682. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
  683. package/dist/esm/transactions/pure.js +34 -39
  684. package/dist/esm/transactions/pure.js.map +1 -0
  685. package/dist/esm/transactions/resolve.js +58 -69
  686. package/dist/esm/transactions/resolve.js.map +1 -0
  687. package/dist/esm/transactions/serializer.js +145 -144
  688. package/dist/esm/transactions/serializer.js.map +1 -0
  689. package/dist/esm/transactions/utils.d.ts +1 -1
  690. package/dist/esm/transactions/utils.js +110 -109
  691. package/dist/esm/transactions/utils.js.map +1 -0
  692. package/dist/esm/utils/constants.js +26 -36
  693. package/dist/esm/utils/constants.js.map +1 -0
  694. package/dist/esm/utils/derived-objects.js +11 -10
  695. package/dist/esm/utils/derived-objects.js.map +1 -0
  696. package/dist/esm/utils/dynamic-fields.js +16 -16
  697. package/dist/esm/utils/dynamic-fields.js.map +1 -0
  698. package/dist/esm/utils/format.js +13 -13
  699. package/dist/esm/utils/format.js.map +1 -0
  700. package/dist/esm/utils/index.js +15 -76
  701. package/dist/esm/utils/index.js.map +1 -0
  702. package/dist/esm/utils/move-registry.js +34 -17
  703. package/dist/esm/utils/move-registry.js.map +1 -0
  704. package/dist/esm/utils/sui-types.js +70 -54
  705. package/dist/esm/utils/sui-types.js.map +1 -0
  706. package/dist/esm/utils/suins.js +29 -29
  707. package/dist/esm/utils/suins.js.map +1 -0
  708. package/dist/esm/verify/index.js +5 -14
  709. package/dist/esm/verify/index.js.map +1 -0
  710. package/dist/esm/verify/verify.js +76 -93
  711. package/dist/esm/verify/verify.js.map +1 -0
  712. package/dist/esm/version.js +6 -6
  713. package/dist/esm/version.js.map +1 -0
  714. package/dist/esm/w/call/allocation.js +307 -402
  715. package/dist/esm/w/call/allocation.js.map +1 -0
  716. package/dist/esm/w/call/arb.js +100 -129
  717. package/dist/esm/w/call/arb.js.map +1 -0
  718. package/dist/esm/w/call/arbitration.js +1170 -1568
  719. package/dist/esm/w/call/arbitration.js.map +1 -0
  720. package/dist/esm/w/call/base.js +288 -315
  721. package/dist/esm/w/call/base.js.map +1 -0
  722. package/dist/esm/w/call/contact.js +318 -442
  723. package/dist/esm/w/call/contact.js.map +1 -0
  724. package/dist/esm/w/call/demand.js +673 -841
  725. package/dist/esm/w/call/demand.js.map +1 -0
  726. package/dist/esm/w/call/entity.js +162 -203
  727. package/dist/esm/w/call/entity.js.map +1 -0
  728. package/dist/esm/w/call/guard-ins.js +4373 -4371
  729. package/dist/esm/w/call/guard-ins.js.map +1 -0
  730. package/dist/esm/w/call/guard.js +1061 -1108
  731. package/dist/esm/w/call/guard.js.map +1 -0
  732. package/dist/esm/w/call/index.js +24 -56
  733. package/dist/esm/w/call/index.js.map +1 -0
  734. package/dist/esm/w/call/machine.js +1086 -1433
  735. package/dist/esm/w/call/machine.js.map +1 -0
  736. package/dist/esm/w/call/order.js +301 -448
  737. package/dist/esm/w/call/order.js.map +1 -0
  738. package/dist/esm/w/call/passport.js +204 -240
  739. package/dist/esm/w/call/passport.js.map +1 -0
  740. package/dist/esm/w/call/payment.js +177 -215
  741. package/dist/esm/w/call/payment.js.map +1 -0
  742. package/dist/esm/w/call/permission.js +1172 -1320
  743. package/dist/esm/w/call/permission.js.map +1 -0
  744. package/dist/esm/w/call/personal.js +121 -156
  745. package/dist/esm/w/call/personal.js.map +1 -0
  746. package/dist/esm/w/call/progress.js +625 -797
  747. package/dist/esm/w/call/progress.js.map +1 -0
  748. package/dist/esm/w/call/proof.js +61 -103
  749. package/dist/esm/w/call/proof.js.map +1 -0
  750. package/dist/esm/w/call/repository.js +1017 -1251
  751. package/dist/esm/w/call/repository.js.map +1 -0
  752. package/dist/esm/w/call/resource.js +108 -124
  753. package/dist/esm/w/call/resource.js.map +1 -0
  754. package/dist/esm/w/call/reward.js +660 -847
  755. package/dist/esm/w/call/reward.js.map +1 -0
  756. package/dist/esm/w/call/service.js +1849 -2400
  757. package/dist/esm/w/call/service.js.map +1 -0
  758. package/dist/esm/w/call/treasury.js +815 -1125
  759. package/dist/esm/w/call/treasury.js.map +1 -0
  760. package/dist/esm/w/call/util.js +553 -576
  761. package/dist/esm/w/call/util.js.map +1 -0
  762. package/dist/esm/w/common.d.ts +1 -1
  763. package/dist/esm/w/common.js +579 -580
  764. package/dist/esm/w/common.js.map +1 -0
  765. package/dist/esm/w/exception.js +570 -573
  766. package/dist/esm/w/exception.js.map +1 -0
  767. package/dist/esm/w/index.js +4 -0
  768. package/dist/esm/w/index.js.map +1 -0
  769. package/dist/esm/w/local/account.js +652 -709
  770. package/dist/esm/w/local/account.js.map +1 -0
  771. package/dist/esm/w/local/cache.js +176 -147
  772. package/dist/esm/w/local/cache.js.map +1 -0
  773. package/dist/esm/w/local/config.js +46 -60
  774. package/dist/esm/w/local/config.js.map +1 -0
  775. package/dist/esm/w/local/index.js +196 -273
  776. package/dist/esm/w/local/index.js.map +1 -0
  777. package/dist/esm/w/local/local.d.ts +2 -2
  778. package/dist/esm/w/local/local.js +631 -626
  779. package/dist/esm/w/local/local.js.map +1 -0
  780. package/dist/esm/w/local/storage.js +168 -136
  781. package/dist/esm/w/local/storage.js.map +1 -0
  782. package/dist/esm/w/local/token.js +149 -151
  783. package/dist/esm/w/local/token.js.map +1 -0
  784. package/dist/esm/w/local/util.js +45 -22
  785. package/dist/esm/w/local/util.js.map +1 -0
  786. package/dist/esm/w/local/wip.js +1038 -781
  787. package/dist/esm/w/local/wip.js.map +1 -0
  788. package/dist/esm/w/messenger/crypto.js +491 -387
  789. package/dist/esm/w/messenger/crypto.js.map +1 -0
  790. package/dist/esm/w/messenger/index.js +27 -24
  791. package/dist/esm/w/messenger/index.js.map +1 -0
  792. package/dist/esm/w/messenger/messenger-api.js +1111 -1017
  793. package/dist/esm/w/messenger/messenger-api.js.map +1 -0
  794. package/dist/esm/w/messenger/messenger-manager.js +944 -1052
  795. package/dist/esm/w/messenger/messenger-manager.js.map +1 -0
  796. package/dist/esm/w/messenger/messenger.d.ts +1 -1
  797. package/dist/esm/w/messenger/messenger.js +1258 -1421
  798. package/dist/esm/w/messenger/messenger.js.map +1 -0
  799. package/dist/esm/w/messenger/server.js +388 -499
  800. package/dist/esm/w/messenger/server.js.map +1 -0
  801. package/dist/esm/w/messenger/session.js +394 -399
  802. package/dist/esm/w/messenger/session.js.map +1 -0
  803. package/dist/esm/w/messenger/storage.js +840 -751
  804. package/dist/esm/w/messenger/storage.js.map +1 -0
  805. package/dist/esm/w/messenger/types.d.ts +2 -2
  806. package/dist/esm/w/messenger/types.js +80 -85
  807. package/dist/esm/w/messenger/types.js.map +1 -0
  808. package/dist/esm/w/messenger/utils.js +28 -16
  809. package/dist/esm/w/messenger/utils.js.map +1 -0
  810. package/dist/esm/w/query/bult-in.js +95 -100
  811. package/dist/esm/w/query/bult-in.js.map +1 -0
  812. package/dist/esm/w/query/event.js +128 -125
  813. package/dist/esm/w/query/event.js.map +1 -0
  814. package/dist/esm/w/query/index.js +3 -0
  815. package/dist/esm/w/query/index.js.map +1 -0
  816. package/dist/esm/w/query/object.js +1560 -1574
  817. package/dist/esm/w/query/object.js.map +1 -0
  818. package/dist/esm/w/query/received.js +57 -63
  819. package/dist/esm/w/query/received.js.map +1 -0
  820. package/dist/esm/w/query/util.js +48 -56
  821. package/dist/esm/w/query/util.js.map +1 -0
  822. package/dist/esm/w/util.js +578 -673
  823. package/dist/esm/w/util.js.map +1 -0
  824. package/package.json +13 -7
  825. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-arm64.node +0 -0
  826. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-x64.node +0 -0
  827. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm.node +0 -0
  828. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm64.node +0 -0
  829. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-x64.node +0 -0
  830. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-arm64.node +0 -0
  831. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-x64.node +0 -0
  832. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-arm64.node +0 -0
  833. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-x64.node +0 -0
  834. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm.node +0 -0
  835. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm64.node +0 -0
  836. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-x64.node +0 -0
  837. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-arm64.node +0 -0
  838. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-x64.node +0 -0
  839. package/scripts/download-prebuilds.js +234 -0
  840. package/scripts/install-better-sqlite3.js +377 -0
  841. package/dist/cjs/graphql/client.js +0 -98
  842. package/dist/cjs/graphql/core.js +0 -506
  843. package/dist/cjs/graphql/generated/2024.1/tada-env.js +0 -13141
  844. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +0 -11
  845. package/dist/cjs/graphql/generated/2024.4/tada-env.js +0 -13287
  846. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +0 -11
  847. package/dist/cjs/graphql/generated/latest/tada-env.js +0 -12925
  848. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +0 -11
  849. package/dist/cjs/graphql/generated/queries.js +0 -807
  850. package/dist/cjs/graphql/index.js +0 -25
  851. package/dist/cjs/graphql/schemas/2024.1/index.js +0 -28
  852. package/dist/cjs/graphql/schemas/2024.4/index.js +0 -28
  853. package/dist/cjs/graphql/schemas/latest/index.js +0 -28
  854. package/dist/cjs/graphql/types.js +0 -16
  855. package/dist/cjs/package.json +0 -5
  856. package/dist/cjs/w/local/.eslintrc.js +0 -15
  857. package/dist/cjs/w/messenger/.eslintrc.js +0 -15
  858. package/dist/cjs/zklogin/address.js +0 -93
  859. package/dist/cjs/zklogin/bcs.js +0 -41
  860. package/dist/cjs/zklogin/index.js +0 -45
  861. package/dist/cjs/zklogin/jwt-decode.js +0 -88
  862. package/dist/cjs/zklogin/jwt-utils.js +0 -128
  863. package/dist/cjs/zklogin/nonce.js +0 -60
  864. package/dist/cjs/zklogin/poseidon.js +0 -64
  865. package/dist/cjs/zklogin/publickey.js +0 -281
  866. package/dist/cjs/zklogin/signature.js +0 -57
  867. package/dist/cjs/zklogin/utils.js +0 -98
  868. package/dist/esm/graphql/client.js +0 -79
  869. package/dist/esm/graphql/core.js +0 -505
  870. package/dist/esm/graphql/generated/2024.1/tada-env.js +0 -13121
  871. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +0 -16
  872. package/dist/esm/graphql/generated/2024.4/tada-env.js +0 -13267
  873. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +0 -16
  874. package/dist/esm/graphql/generated/latest/tada-env.js +0 -12905
  875. package/dist/esm/graphql/generated/latest/tsconfig.tada.js +0 -16
  876. package/dist/esm/graphql/generated/queries.js +0 -788
  877. package/dist/esm/graphql/index.js +0 -8
  878. package/dist/esm/graphql/schemas/2024.1/index.js +0 -8
  879. package/dist/esm/graphql/schemas/2024.4/index.js +0 -8
  880. package/dist/esm/graphql/schemas/latest/index.js +0 -8
  881. package/dist/esm/graphql/types.js +0 -0
  882. package/dist/esm/package.json +0 -5
  883. package/dist/esm/w/local/.eslintrc.js +0 -23
  884. package/dist/esm/w/messenger/.eslintrc.js +0 -23
  885. package/dist/esm/zklogin/address.js +0 -78
  886. package/dist/esm/zklogin/bcs.js +0 -21
  887. package/dist/esm/zklogin/index.js +0 -38
  888. package/dist/esm/zklogin/jwt-decode.js +0 -68
  889. package/dist/esm/zklogin/jwt-utils.js +0 -108
  890. package/dist/esm/zklogin/nonce.js +0 -40
  891. package/dist/esm/zklogin/poseidon.js +0 -61
  892. package/dist/esm/zklogin/publickey.js +0 -265
  893. package/dist/esm/zklogin/signature.js +0 -37
  894. package/dist/esm/zklogin/utils.js +0 -78
  895. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  896. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,20 +1,6 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import {
5
- toTxObject,
6
- toTxString,
7
- isValidDescription,
8
- MAX_DESCRIPTION_LENGTH,
9
- isValidU64,
10
- PackageAddress,
11
- IsValidArgType,
12
- GetObjectExisted,
13
- GetObject,
14
- GetObjectDescription,
15
- isValidU8,
16
- treasuryFn
17
- } from "../common.js";
1
+ // Copyright (c) Wowok.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { toTxObject, toTxString, isValidDescription, MAX_DESCRIPTION_LENGTH, isValidU64, PackageAddress, IsValidArgType, GetObjectExisted, GetObject, GetObjectDescription, isValidU8, treasuryFn, } from "../common.js";
18
4
  import { W_ERROR, WErrors } from "../exception.js";
19
5
  import { ObjectType } from "../query/object.js";
20
6
  import { owner_receive, parseObjectType, validObjects } from "../util.js";
@@ -25,1162 +11,866 @@ import { LocalMark } from "../local/local.js";
25
11
  import { create as permissionCreate } from "./permission.js";
26
12
  import { paymentInfo } from "./payment.js";
27
13
  import { query_received } from "../query/received.js";
28
- class CallTreasury extends CallBase {
29
- constructor(data) {
30
- super();
31
- __publicField(this, "data");
32
- __publicField(this, "object_address");
33
- __publicField(this, "permission_address");
34
- __publicField(this, "new_permission_description");
35
- __publicField(this, "parameter_type");
36
- this.data = data;
37
- }
38
- async prepare(env) {
39
- await super.prepare(env);
40
- if (!this.object_address) {
41
- this.object_address = await GetObjectExisted(this.data?.object);
14
+ export class CallTreasury extends CallBase {
15
+ data;
16
+ object_address = undefined;
17
+ permission_address = undefined;
18
+ new_permission_description = undefined;
19
+ parameter_type = undefined;
20
+ constructor(data) {
21
+ super();
22
+ this.data = data;
42
23
  }
43
- if (this.object_address) {
44
- await this.update_content(
45
- env,
46
- ObjectType.Treasury,
47
- this.object_address
48
- );
49
- if (!this.content)
50
- W_ERROR(
51
- WErrors.InvalidParam,
52
- "CallTreasury_Data.data.object:" + this.object_address
53
- );
54
- this.permission_address = this.content.permission;
55
- this.parameter_type = parseObjectType(
56
- this.content.type_raw,
57
- "treasury::Treasury"
58
- );
59
- if (!this.permission_address) {
60
- W_ERROR(
61
- WErrors.InvalidParam,
62
- "CallTreasury_Data.data.object.permission is empty"
63
- );
64
- }
65
- if (!IsValidArgType(this.parameter_type)) {
66
- W_ERROR(
67
- WErrors.IsValidArgType,
68
- "CallTreasury_Data.data.object.type_parameter is empty"
69
- );
70
- }
71
- } else {
72
- const n = GetObject(
73
- this.data.object
74
- );
75
- this.permission_address = await GetObjectExisted(n?.permission);
76
- this.new_permission_description = GetObjectDescription(
77
- n?.permission
78
- );
79
- this.parameter_type = n?.type_parameter;
80
- if (!IsValidArgType(this.parameter_type)) {
81
- W_ERROR(
82
- WErrors.IsValidArgType,
83
- "CallTreasury_Data.data.object.type_parameter invalid"
84
- );
85
- }
86
- }
87
- }
88
- async call(env) {
89
- await this.prepare(env);
90
- const guards = [];
91
- const perms = [];
92
- const add_guard = (guard) => {
93
- if (!guards.includes(guard)) {
94
- guards.push(guard);
95
- }
96
- };
97
- const add_perm = (index) => {
98
- if (this.permission_address && !perms.includes(index)) {
99
- perms.push(index);
100
- }
101
- };
102
- if (this.permission_address && !this.object_address) {
103
- add_perm(BuiltinPermissionIndex.TREASURY_NEW);
104
- }
105
- if (this.permission_address && this.data?.description != null && this.object_address) {
106
- add_perm(BuiltinPermissionIndex.TREASURY_DESCRIPTION);
107
- }
108
- if (this.permission_address && this.data?.receive != null) {
109
- add_perm(BuiltinPermissionIndex.TREASURY_RECEIVE);
24
+ async prepare(env) {
25
+ await super.prepare(env);
26
+ if (!this.object_address) {
27
+ this.object_address = await GetObjectExisted(this.data?.object);
28
+ }
29
+ if (this.object_address) {
30
+ await this.update_content(env, ObjectType.Treasury, this.object_address);
31
+ if (!this.content)
32
+ W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.object:" + this.object_address);
33
+ this.permission_address = this.content.permission;
34
+ this.parameter_type = parseObjectType(this.content.type_raw, "treasury::Treasury");
35
+ if (!this.permission_address) {
36
+ W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.object.permission is empty");
37
+ }
38
+ if (!IsValidArgType(this.parameter_type)) {
39
+ W_ERROR(WErrors.IsValidArgType, "CallTreasury_Data.data.object.type_parameter is empty");
40
+ }
41
+ }
42
+ else {
43
+ const n = GetObject(this.data.object);
44
+ this.permission_address = await GetObjectExisted(n?.permission);
45
+ this.new_permission_description = GetObjectDescription(n?.permission);
46
+ this.parameter_type = n?.type_parameter;
47
+ if (!IsValidArgType(this.parameter_type)) {
48
+ W_ERROR(WErrors.IsValidArgType, "CallTreasury_Data.data.object.type_parameter invalid");
49
+ }
50
+ }
110
51
  }
111
- if (this.data?.deposit != null) {
112
- if (this.data.deposit.by_external_deposit_guard) {
113
- const guard = await LocalMark.Instance().get_address(
114
- this.data.deposit.by_external_deposit_guard
115
- );
116
- if (guard) {
117
- add_guard(guard);
118
- this.data.deposit.by_external_deposit_guard = guard;
119
- } else {
120
- W_ERROR(
121
- WErrors.InvalidParam,
122
- `external_deposit_guard ${this.data.deposit.by_external_deposit_guard} not found`
123
- );
52
+ async call(env) {
53
+ await this.prepare(env); // prepare first.
54
+ const guards = [];
55
+ const perms = [];
56
+ const add_guard = (guard) => {
57
+ if (!guards.includes(guard)) {
58
+ guards.push(guard);
59
+ }
60
+ };
61
+ const add_perm = (index) => {
62
+ if (this.permission_address && !perms.includes(index)) {
63
+ perms.push(index);
64
+ }
65
+ };
66
+ if (this.permission_address && !this.object_address) {
67
+ add_perm(BuiltinPermissionIndex.TREASURY_NEW);
68
+ }
69
+ if (this.permission_address &&
70
+ this.data?.description != null &&
71
+ this.object_address) {
72
+ add_perm(BuiltinPermissionIndex.TREASURY_DESCRIPTION);
73
+ }
74
+ if (this.permission_address && this.data?.receive != null) {
75
+ add_perm(BuiltinPermissionIndex.TREASURY_RECEIVE);
76
+ }
77
+ if (this.data?.deposit != null) {
78
+ if (this.data.deposit.by_external_deposit_guard) {
79
+ const guard = await LocalMark.Instance().get_address(this.data.deposit.by_external_deposit_guard);
80
+ if (guard) {
81
+ add_guard(guard);
82
+ this.data.deposit.by_external_deposit_guard = guard;
83
+ }
84
+ else {
85
+ W_ERROR(WErrors.InvalidParam, `external_deposit_guard ${this.data.deposit.by_external_deposit_guard} not found`);
86
+ }
87
+ }
88
+ else {
89
+ if (this.permission_address) {
90
+ add_perm(BuiltinPermissionIndex.TREASURY_DEPOSIT);
91
+ }
92
+ }
93
+ }
94
+ if (this.data?.withdraw != null) {
95
+ const withdraw = this.data.withdraw;
96
+ if (withdraw && withdraw.amount) {
97
+ if ("fixed" in withdraw.amount) {
98
+ if (this.permission_address) {
99
+ add_perm(BuiltinPermissionIndex.TREASURY_WITHDRAW);
100
+ }
101
+ }
102
+ else if ("by_external_withdraw_guard" in withdraw.amount) {
103
+ const guard = await LocalMark.Instance().get_address(withdraw.amount.by_external_withdraw_guard);
104
+ if (guard) {
105
+ withdraw.amount.by_external_withdraw_guard = guard;
106
+ add_guard(guard);
107
+ }
108
+ else {
109
+ W_ERROR(WErrors.InvalidParam, `by_external_withdraw_guard ${withdraw.amount.by_external_withdraw_guard} not found`);
110
+ }
111
+ }
112
+ }
124
113
  }
125
- } else {
126
- if (this.permission_address) {
127
- add_perm(BuiltinPermissionIndex.TREASURY_DEPOSIT);
114
+ if (this.permission_address &&
115
+ this.data?.external_deposit_guard != null) {
116
+ add_perm(BuiltinPermissionIndex.TREASURY_EXTERNAL_DEPOSIT_GUARD);
128
117
  }
129
- }
118
+ if (this.permission_address &&
119
+ this.data?.external_withdraw_guard != null) {
120
+ add_perm(BuiltinPermissionIndex.TREASURY_EXTERNAL_WITHDRAW_GUARD);
121
+ }
122
+ if (this.permission_address && this.data?.owner_receive != null) {
123
+ add_perm(BuiltinPermissionIndex.TREASURY_OWNER_RECEIVE);
124
+ }
125
+ if (this.permission_address && this.data?.um !== undefined) {
126
+ add_perm(BuiltinPermissionIndex.TREASURY_UM);
127
+ }
128
+ if (this.permission_address || guards.length > 0) {
129
+ return await this.check_permission_and_call(env, this.permission_address, perms, guards);
130
+ }
131
+ return await this.exec(env);
130
132
  }
131
- if (this.data?.withdraw != null) {
132
- const withdraw2 = this.data.withdraw;
133
- if (withdraw2 && withdraw2.amount) {
134
- if ("fixed" in withdraw2.amount) {
135
- if (this.permission_address) {
136
- add_perm(BuiltinPermissionIndex.TREASURY_WITHDRAW);
137
- }
138
- } else if ("by_external_withdraw_guard" in withdraw2.amount) {
139
- const guard = await LocalMark.Instance().get_address(
140
- withdraw2.amount.by_external_withdraw_guard
141
- );
142
- if (guard) {
143
- withdraw2.amount.by_external_withdraw_guard = guard;
144
- add_guard(guard);
145
- } else {
146
- W_ERROR(
147
- WErrors.InvalidParam,
148
- `by_external_withdraw_guard ${withdraw2.amount.by_external_withdraw_guard} not found`
149
- );
150
- }
133
+ async operate(env, tx, passport, submission) {
134
+ let permission = this.permission_address;
135
+ let object = this.object_address;
136
+ const content = this.content;
137
+ if (!this.object_address) {
138
+ if (!permission) {
139
+ permission = newPermission(tx, this.new_permission_description ?? "");
140
+ }
141
+ if (permission && this.parameter_type) {
142
+ object = newTreasury(tx, this.parameter_type, permission, this.data?.description ?? "", passport);
143
+ }
144
+ }
145
+ if (!object || !permission) {
146
+ W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.object:" + this.object_address);
147
+ }
148
+ if (this.data.description != null && !this.object_address) {
149
+ description_set(tx, object, this.parameter_type, permission, this.data.description, passport);
150
+ }
151
+ if (this.data.receive != null && this.object_address) {
152
+ if (this.data.receive === "recently") {
153
+ const received = await query_received({
154
+ object: this.object_address,
155
+ network: env.network,
156
+ no_cache: env.no_cache,
157
+ });
158
+ // 检查received的类型,如果是ReceivedNormal[],需要转换为ReceivedBalance
159
+ if (Array.isArray(received)) {
160
+ W_ERROR(WErrors.InvalidParam, "CallAllocation_Data.data.received_coins: received is ReceivedNormal[]");
161
+ }
162
+ else {
163
+ // 如果是ReceivedBalance类型,直接赋值
164
+ this.data.receive = received;
165
+ }
166
+ }
167
+ if (typeof this.data.receive === "object" &&
168
+ "received" in this.data.receive &&
169
+ this.data.receive.received?.length > 0) {
170
+ if (this.data.receive.token_type !== this.parameter_type) {
171
+ W_ERROR(WErrors.InvalidParam, `token_type ${this.data.receive.token_type} is not equal to parameter_type ${this.parameter_type}`);
172
+ }
173
+ for (const item of this.data.receive.received) {
174
+ const [received_object, payment_object] = await Promise.all([
175
+ LocalMark.Instance().get_address(item.id),
176
+ LocalMark.Instance().get_address(item.payment),
177
+ ]);
178
+ if (received_object && payment_object) {
179
+ receive(tx, object, this.parameter_type, permission, received_object, payment_object, passport);
180
+ }
181
+ else {
182
+ W_ERROR(WErrors.IsValidArgType, `Receive object ${item.id} or payment object ${item.payment} not found`);
183
+ }
184
+ }
185
+ }
186
+ }
187
+ if (this.data.deposit != null) {
188
+ if (this.data.deposit.by_external_deposit_guard) {
189
+ if (!passport) {
190
+ W_ERROR(WErrors.InvalidParam, "Passport is required for external deposit");
191
+ }
192
+ await this.new_with_mark(env, tx, ObjectType.Payment, await external_deposit(env, tx, object, this.parameter_type, passport, this.data.deposit.by_external_deposit_guard, this.data.deposit.coin, this.data.deposit.payment_info), this.data.deposit.namedNewPayment);
193
+ }
194
+ else {
195
+ await this.new_with_mark(env, tx, ObjectType.Payment, await deposit(env, tx, object, this.parameter_type, permission, this.data.deposit.coin, this.data.deposit.payment_info, passport), this.data.deposit.namedNewPayment);
196
+ }
197
+ }
198
+ if (this.data.withdraw != null && this.data.withdraw.amount) {
199
+ if ("fixed" in this.data.withdraw.amount) {
200
+ await this.new_with_mark(env, tx, ObjectType.Payment, await withdraw(env, tx, object, this.parameter_type, permission, this.data.withdraw.amount.fixed, this.data.withdraw.recipient, this.data.withdraw.payment_info, passport), this.data.withdraw.namedNewPayment);
201
+ }
202
+ else if ("by_external_withdraw_guard" in this.data.withdraw.amount) {
203
+ if (!passport) {
204
+ W_ERROR(WErrors.InvalidParam, "Passport is required for external withdraw");
205
+ }
206
+ await this.new_with_mark(env, tx, ObjectType.Payment, await external_withdraw(env, tx, object, this.parameter_type, passport, this.data.withdraw.amount.by_external_withdraw_guard, this.data.withdraw.recipient, this.data.withdraw.payment_info), this.data.withdraw.namedNewPayment);
207
+ }
208
+ }
209
+ if (this.data.external_deposit_guard != null) {
210
+ switch (this.data.external_deposit_guard.op) {
211
+ case "add":
212
+ case "set": {
213
+ if (this.data.external_deposit_guard.op === "set") {
214
+ external_deposit_guard_clear(tx, object, this.parameter_type, permission, passport);
215
+ }
216
+ await external_deposit_guard_add(tx, object, this.parameter_type, permission, this.data.external_deposit_guard.guards, MAX_EXTERNAL_DEPOSIT_GUARD_COUNT -
217
+ (content?.external_deposit_guard?.length ?? 0), passport);
218
+ break;
219
+ }
220
+ case "remove": {
221
+ await external_deposit_guard_remove(tx, object, this.parameter_type, permission, this.data.external_deposit_guard.guards, content?.external_deposit_guard?.length ?? 0, passport);
222
+ break;
223
+ }
224
+ case "clear": {
225
+ external_deposit_guard_clear(tx, object, this.parameter_type, permission, passport);
226
+ break;
227
+ }
228
+ }
229
+ }
230
+ if (this.data.external_withdraw_guard != null) {
231
+ switch (this.data.external_withdraw_guard.op) {
232
+ case "add":
233
+ case "set": {
234
+ if (this.data.external_withdraw_guard.op === "set") {
235
+ external_withdraw_guard_clear(tx, object, this.parameter_type, permission, passport);
236
+ }
237
+ await external_withdraw_guard_add(tx, object, this.parameter_type, permission, this.data.external_withdraw_guard.guards, MAX_EXTERNAL_WITHDRAW_GUARD_COUNT -
238
+ (content?.external_withdraw_guard?.length ?? 0), passport);
239
+ break;
240
+ }
241
+ case "remove": {
242
+ await external_withdraw_guard_remove(tx, object, this.parameter_type, permission, this.data.external_withdraw_guard.guards, content?.external_withdraw_guard?.length ?? 0, passport);
243
+ break;
244
+ }
245
+ case "clear": {
246
+ external_withdraw_guard_clear(tx, object, this.parameter_type, permission, passport);
247
+ break;
248
+ }
249
+ }
250
+ }
251
+ if (this.data.owner_receive != null && this.object_address) {
252
+ if (this.data.owner_receive === "recently") {
253
+ this.data.owner_receive = await query_received({
254
+ object: this.object_address,
255
+ all_type: true,
256
+ network: env.network,
257
+ no_cache: env.no_cache,
258
+ });
259
+ }
260
+ // owner_receive 中完成地址查询
261
+ await owner_receive(tx, object, permission, this.data.owner_receive, this.parameter_type, (name) => `${PackageAddress}::treasury::${name}`, passport);
262
+ }
263
+ // 处理 um
264
+ if (this.data.um !== undefined) {
265
+ let um_address = null;
266
+ if (this.data.um) {
267
+ um_address =
268
+ (await LocalMark.Instance().get_address(this.data.um)) ||
269
+ null;
270
+ if (!um_address) {
271
+ W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.um:" + this.data.um);
272
+ }
273
+ }
274
+ um_set(tx, object, this.parameter_type, permission, um_address, passport);
275
+ }
276
+ if (!this.permission_address) {
277
+ const p = GetObject(this.data?.object);
278
+ await this.new_with_mark(env, tx, ObjectType.Permission, permissionCreate(tx, permission), GetObject(p.permission));
279
+ }
280
+ if (!this.object_address) {
281
+ await this.new_with_mark(env, tx, ObjectType.Treasury, create(tx, object, this.parameter_type), GetObject(this.data?.object));
151
282
  }
152
- }
153
283
  }
154
- if (this.permission_address && this.data?.external_deposit_guard != null) {
155
- add_perm(BuiltinPermissionIndex.TREASURY_EXTERNAL_DEPOSIT_GUARD);
284
+ }
285
+ // ================================================
286
+ // 常量定义
287
+ export const MAX_EXTERNAL_DEPOSIT_GUARD_COUNT = 100;
288
+ export const MAX_EXTERNAL_WITHDRAW_GUARD_COUNT = 200;
289
+ // ================================================
290
+ // 构造函数和设置函数
291
+ export function newTreasury(tx, treasury_type, permission, description, passport) {
292
+ validObjects([permission, passport]);
293
+ if (typeof description === "string" && !isValidDescription(description)) {
294
+ W_ERROR(WErrors.IsValidDescription, `Description exceeds maximum length ${MAX_DESCRIPTION_LENGTH}`);
156
295
  }
157
- if (this.permission_address && this.data?.external_withdraw_guard != null) {
158
- add_perm(BuiltinPermissionIndex.TREASURY_EXTERNAL_WITHDRAW_GUARD);
296
+ if (!IsValidArgType(treasury_type)) {
297
+ W_ERROR(WErrors.InvalidParam, `New treasury type ${treasury_type} is not valid`);
159
298
  }
160
- if (this.permission_address && this.data?.owner_receive != null) {
161
- add_perm(BuiltinPermissionIndex.TREASURY_OWNER_RECEIVE);
299
+ if (passport) {
300
+ return tx.moveCall({
301
+ target: treasuryFn("new_with_passport"),
302
+ arguments: [
303
+ toTxObject(tx, permission),
304
+ toTxObject(tx, passport),
305
+ toTxString(tx, description),
306
+ tx.object.mutRegistrar(),
307
+ tx.object.clock(),
308
+ ],
309
+ typeArguments: [treasury_type],
310
+ });
162
311
  }
163
- if (this.permission_address && this.data?.um !== void 0) {
164
- add_perm(BuiltinPermissionIndex.TREASURY_UM);
312
+ else {
313
+ return tx.moveCall({
314
+ target: treasuryFn("new"),
315
+ arguments: [
316
+ toTxObject(tx, permission),
317
+ toTxString(tx, description),
318
+ tx.object.mutRegistrar(),
319
+ tx.object.clock(),
320
+ ],
321
+ typeArguments: [treasury_type],
322
+ });
165
323
  }
166
- if (this.permission_address || guards.length > 0) {
167
- return await this.check_permission_and_call(
168
- env,
169
- this.permission_address,
170
- perms,
171
- guards
172
- );
324
+ }
325
+ export function description_set(tx, treasury, treasury_type, permission, description, passport) {
326
+ validObjects([treasury, permission, passport]);
327
+ if (typeof description === "string" && !isValidDescription(description)) {
328
+ W_ERROR(WErrors.IsValidDescription, `Description exceeds maximum length ${MAX_DESCRIPTION_LENGTH}`);
173
329
  }
174
- return await this.exec(env);
175
- }
176
- async operate(env, tx, passport, submission) {
177
- let permission = this.permission_address;
178
- let object = this.object_address;
179
- const content = this.content;
180
- if (!this.object_address) {
181
- if (!permission) {
182
- permission = newPermission(
183
- tx,
184
- this.new_permission_description ?? ""
185
- );
186
- }
187
- if (permission && this.parameter_type) {
188
- object = newTreasury(
189
- tx,
190
- this.parameter_type,
191
- permission,
192
- this.data?.description ?? "",
193
- passport
194
- );
195
- }
330
+ if (!IsValidArgType(treasury_type)) {
331
+ W_ERROR(WErrors.InvalidParam, `Description set treasury type ${treasury_type} is not valid`);
196
332
  }
197
- if (!object || !permission) {
198
- W_ERROR(
199
- WErrors.InvalidParam,
200
- "CallTreasury_Data.data.object:" + this.object_address
201
- );
333
+ if (passport) {
334
+ tx.moveCall({
335
+ target: treasuryFn("description_set_with_passport"),
336
+ arguments: [
337
+ toTxObject(tx, treasury),
338
+ toTxObject(tx, permission),
339
+ toTxObject(tx, passport),
340
+ toTxString(tx, description),
341
+ ],
342
+ typeArguments: [treasury_type],
343
+ });
202
344
  }
203
- if (this.data.description != null && !this.object_address) {
204
- description_set(
205
- tx,
206
- object,
207
- this.parameter_type,
208
- permission,
209
- this.data.description,
210
- passport
211
- );
345
+ else {
346
+ tx.moveCall({
347
+ target: treasuryFn("description_set"),
348
+ arguments: [
349
+ toTxObject(tx, treasury),
350
+ toTxObject(tx, permission),
351
+ toTxString(tx, description),
352
+ ],
353
+ typeArguments: [treasury_type],
354
+ });
355
+ }
356
+ }
357
+ export async function deposit(env, tx, treasury, treasury_type, permission, coin, payment_info, passport) {
358
+ validObjects([treasury, permission, passport]);
359
+ if (!IsValidArgType(treasury_type)) {
360
+ W_ERROR(WErrors.InvalidParam, `Deposit treasury type ${treasury_type} is not valid`);
212
361
  }
213
- if (this.data.receive != null && this.object_address) {
214
- if (this.data.receive === "recently") {
215
- const received = await query_received({
216
- object: this.object_address,
217
- network: env.network,
218
- no_cache: env.no_cache
362
+ const c = await getCoinParam(env, tx, coin, treasury_type);
363
+ const p = await paymentInfo(env, tx, payment_info);
364
+ if (passport) {
365
+ return tx.moveCall({
366
+ target: treasuryFn("deposit_with_passport"),
367
+ arguments: [
368
+ toTxObject(tx, treasury),
369
+ toTxObject(tx, permission),
370
+ toTxObject(tx, passport),
371
+ c,
372
+ p,
373
+ tx.object.mutRegistrar(),
374
+ tx.object.clock(),
375
+ ],
376
+ typeArguments: [treasury_type],
219
377
  });
220
- if (Array.isArray(received)) {
221
- W_ERROR(
222
- WErrors.InvalidParam,
223
- "CallAllocation_Data.data.received_coins: received is ReceivedNormal[]"
224
- );
225
- } else {
226
- this.data.receive = received;
227
- }
228
- }
229
- if (typeof this.data.receive === "object" && "received" in this.data.receive && this.data.receive.received?.length > 0) {
230
- if (this.data.receive.token_type !== this.parameter_type) {
231
- W_ERROR(
232
- WErrors.InvalidParam,
233
- `token_type ${this.data.receive.token_type} is not equal to parameter_type ${this.parameter_type}`
234
- );
378
+ }
379
+ else {
380
+ return tx.moveCall({
381
+ target: treasuryFn("deposit"),
382
+ arguments: [
383
+ toTxObject(tx, treasury),
384
+ toTxObject(tx, permission),
385
+ c,
386
+ p,
387
+ tx.object.mutRegistrar(),
388
+ tx.object.clock(),
389
+ ],
390
+ typeArguments: [treasury_type],
391
+ });
392
+ }
393
+ }
394
+ export async function withdraw(env, tx, treasury, treasury_type, permission, amount, recipient, payment_info, passport) {
395
+ validObjects([treasury, permission, passport]);
396
+ if (!IsValidArgType(treasury_type)) {
397
+ W_ERROR(WErrors.InvalidParam, `Withdraw treasury type ${treasury_type} is not valid`);
398
+ }
399
+ if (!isValidU64(amount)) {
400
+ W_ERROR(WErrors.IsValidU64, `Amount ${amount} is not valid`);
401
+ }
402
+ const r = await GetAccountOrMark_Address(recipient);
403
+ if (!r) {
404
+ W_ERROR(WErrors.InvalidParam, `Recipient ${recipient} is not valid`);
405
+ }
406
+ const p = await paymentInfo(env, tx, payment_info);
407
+ if (passport) {
408
+ return tx.moveCall({
409
+ target: treasuryFn("withdraw_with_passport"),
410
+ arguments: [
411
+ toTxObject(tx, treasury),
412
+ toTxObject(tx, permission),
413
+ toTxObject(tx, passport),
414
+ tx.pure.u64(amount),
415
+ tx.pure.address(r),
416
+ p,
417
+ tx.object.mutRegistrar(),
418
+ tx.object.clock(),
419
+ ],
420
+ typeArguments: [treasury_type],
421
+ });
422
+ }
423
+ else {
424
+ return tx.moveCall({
425
+ target: treasuryFn("withdraw"),
426
+ arguments: [
427
+ toTxObject(tx, treasury),
428
+ toTxObject(tx, permission),
429
+ tx.pure.u64(amount),
430
+ tx.pure.address(r),
431
+ p,
432
+ tx.object.mutRegistrar(),
433
+ tx.object.clock(),
434
+ ],
435
+ typeArguments: [treasury_type],
436
+ });
437
+ }
438
+ }
439
+ export async function external_deposit_guard_add(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
440
+ if (guards.length === 0) {
441
+ return;
442
+ }
443
+ if (guards.length > counts) {
444
+ W_ERROR(WErrors.InvalidParam, `External deposit guard add guards count ${guards.length} exceeds maximum ${counts}`);
445
+ }
446
+ validObjects([treasury, permission, passport]);
447
+ if (!IsValidArgType(treasury_type)) {
448
+ W_ERROR(WErrors.InvalidParam, `External deposit guard add treasury type ${treasury_type} is not valid`);
449
+ }
450
+ const g = await Promise.all(guards.map(async (item) => {
451
+ const guard = await LocalMark.Instance().get_address(item.guard);
452
+ if (!guard) {
453
+ W_ERROR(WErrors.InvalidParam, `External deposit guard add guard ${item.guard} is not valid`);
235
454
  }
236
- for (const item of this.data.receive.received) {
237
- const [received_object, payment_object] = await Promise.all(
238
- [
239
- LocalMark.Instance().get_address(item.id),
240
- LocalMark.Instance().get_address(item.payment)
241
- ]
242
- );
243
- if (received_object && payment_object) {
244
- receive(
245
- tx,
246
- object,
247
- this.parameter_type,
248
- permission,
249
- received_object,
250
- payment_object,
251
- passport
252
- );
253
- } else {
254
- W_ERROR(
255
- WErrors.IsValidArgType,
256
- `Receive object ${item.id} or payment object ${item.payment} not found`
257
- );
258
- }
455
+ if (item.identifier && !isValidU8(item.identifier)) {
456
+ W_ERROR(WErrors.IsValidU8, `External deposit guard add identifier ${item.identifier} is not optional u8`);
259
457
  }
260
- }
458
+ return {
459
+ guard: item.guard,
460
+ identifier: item.identifier,
461
+ guard_addr: guard,
462
+ };
463
+ }));
464
+ // Check if any guard_addr is empty
465
+ const invalidGuards = g.filter((item) => !item.guard_addr);
466
+ if (invalidGuards.length > 0) {
467
+ W_ERROR(WErrors.InvalidParam, `External deposit guard add has invalid guards with empty guard_addr: ${JSON.stringify(invalidGuards)}`);
261
468
  }
262
- if (this.data.deposit != null) {
263
- if (this.data.deposit.by_external_deposit_guard) {
264
- if (!passport) {
265
- W_ERROR(
266
- WErrors.InvalidParam,
267
- "Passport is required for external deposit"
268
- );
469
+ // Convert to AmountFromDepositGuard if all guard_addr are valid
470
+ g.filter((item) => item.guard_addr !== undefined)
471
+ .map((item) => ({
472
+ guard: item.guard_addr,
473
+ identifier: item.identifier !== undefined ? item.identifier : null,
474
+ }))
475
+ .forEach((item) => {
476
+ if (passport) {
477
+ tx.moveCall({
478
+ target: treasuryFn("external_deposit_guard_add_with_passport"),
479
+ arguments: [
480
+ toTxObject(tx, treasury),
481
+ toTxObject(tx, permission),
482
+ toTxObject(tx, passport),
483
+ toTxObject(tx, item.guard),
484
+ tx.pure.option("u8", item.identifier),
485
+ tx.object.mutRegistrar(),
486
+ tx.object.clock(),
487
+ ],
488
+ typeArguments: [treasury_type],
489
+ });
269
490
  }
270
- await this.new_with_mark(
271
- env,
272
- tx,
273
- ObjectType.Payment,
274
- await external_deposit(
275
- env,
276
- tx,
277
- object,
278
- this.parameter_type,
279
- passport,
280
- this.data.deposit.by_external_deposit_guard,
281
- this.data.deposit.coin,
282
- this.data.deposit.payment_info
283
- ),
284
- this.data.deposit.namedNewPayment
285
- );
286
- } else {
287
- await this.new_with_mark(
288
- env,
289
- tx,
290
- ObjectType.Payment,
291
- await deposit(
292
- env,
293
- tx,
294
- object,
295
- this.parameter_type,
296
- permission,
297
- this.data.deposit.coin,
298
- this.data.deposit.payment_info,
299
- passport
300
- ),
301
- this.data.deposit.namedNewPayment
302
- );
303
- }
304
- }
305
- if (this.data.withdraw != null && this.data.withdraw.amount) {
306
- if ("fixed" in this.data.withdraw.amount) {
307
- await this.new_with_mark(
308
- env,
309
- tx,
310
- ObjectType.Payment,
311
- await withdraw(
312
- env,
313
- tx,
314
- object,
315
- this.parameter_type,
316
- permission,
317
- this.data.withdraw.amount.fixed,
318
- this.data.withdraw.recipient,
319
- this.data.withdraw.payment_info,
320
- passport
321
- ),
322
- this.data.withdraw.namedNewPayment
323
- );
324
- } else if ("by_external_withdraw_guard" in this.data.withdraw.amount) {
325
- if (!passport) {
326
- W_ERROR(
327
- WErrors.InvalidParam,
328
- "Passport is required for external withdraw"
329
- );
491
+ else {
492
+ tx.moveCall({
493
+ target: treasuryFn("external_deposit_guard_add"),
494
+ arguments: [
495
+ toTxObject(tx, treasury),
496
+ toTxObject(tx, permission),
497
+ toTxObject(tx, item.guard),
498
+ tx.pure.option("u8", item.identifier),
499
+ tx.object.mutRegistrar(),
500
+ tx.object.clock(),
501
+ ],
502
+ typeArguments: [treasury_type],
503
+ });
330
504
  }
331
- await this.new_with_mark(
332
- env,
333
- tx,
334
- ObjectType.Payment,
335
- await external_withdraw(
336
- env,
337
- tx,
338
- object,
339
- this.parameter_type,
340
- passport,
341
- this.data.withdraw.amount.by_external_withdraw_guard,
342
- this.data.withdraw.recipient,
343
- this.data.withdraw.payment_info
344
- ),
345
- this.data.withdraw.namedNewPayment
346
- );
347
- }
505
+ });
506
+ }
507
+ export async function external_deposit_guard_remove(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
508
+ guards = await LocalMark.Instance().get_many_address_availables(guards);
509
+ if (guards.length === 0) {
510
+ return;
348
511
  }
349
- if (this.data.external_deposit_guard != null) {
350
- switch (this.data.external_deposit_guard.op) {
351
- case "add":
352
- case "set": {
353
- if (this.data.external_deposit_guard.op === "set") {
354
- external_deposit_guard_clear(
355
- tx,
356
- object,
357
- this.parameter_type,
358
- permission,
359
- passport
360
- );
361
- }
362
- await external_deposit_guard_add(
363
- tx,
364
- object,
365
- this.parameter_type,
366
- permission,
367
- this.data.external_deposit_guard.guards,
368
- MAX_EXTERNAL_DEPOSIT_GUARD_COUNT - (content?.external_deposit_guard?.length ?? 0),
369
- passport
370
- );
371
- break;
372
- }
373
- case "remove": {
374
- await external_deposit_guard_remove(
375
- tx,
376
- object,
377
- this.parameter_type,
378
- permission,
379
- this.data.external_deposit_guard.guards,
380
- content?.external_deposit_guard?.length ?? 0,
381
- passport
382
- );
383
- break;
512
+ if (guards.length > counts) {
513
+ W_ERROR(WErrors.InvalidParam, `External deposit guard remove guards count ${guards.length} exceeds maximum ${counts}`);
514
+ }
515
+ validObjects([treasury, permission, passport, ...guards]);
516
+ if (!IsValidArgType(treasury_type)) {
517
+ W_ERROR(WErrors.InvalidParam, `External deposit guard remove treasury type ${treasury_type} is not valid`);
518
+ }
519
+ if (passport) {
520
+ tx.moveCall({
521
+ target: treasuryFn("external_deposit_guard_remove_with_passport"),
522
+ arguments: [
523
+ toTxObject(tx, treasury),
524
+ toTxObject(tx, permission),
525
+ toTxObject(tx, passport),
526
+ tx.pure.vector("address", guards),
527
+ tx.object.mutRegistrar(),
528
+ ],
529
+ typeArguments: [treasury_type],
530
+ });
531
+ }
532
+ else {
533
+ tx.moveCall({
534
+ target: treasuryFn("external_deposit_guard_remove"),
535
+ arguments: [
536
+ toTxObject(tx, treasury),
537
+ toTxObject(tx, permission),
538
+ tx.pure.vector("address", guards),
539
+ tx.object.mutRegistrar(),
540
+ ],
541
+ typeArguments: [treasury_type],
542
+ });
543
+ }
544
+ }
545
+ export function external_deposit_guard_clear(tx, treasury, treasury_type, permission, passport) {
546
+ validObjects([treasury, permission, passport]);
547
+ if (!IsValidArgType(treasury_type)) {
548
+ W_ERROR(WErrors.InvalidParam, `External deposit guard clear treasury type ${treasury_type} is not valid`);
549
+ }
550
+ if (passport) {
551
+ tx.moveCall({
552
+ target: treasuryFn("external_deposit_guard_clear_with_passport"),
553
+ arguments: [
554
+ toTxObject(tx, treasury),
555
+ toTxObject(tx, permission),
556
+ toTxObject(tx, passport),
557
+ tx.object.mutRegistrar(),
558
+ ],
559
+ typeArguments: [treasury_type],
560
+ });
561
+ }
562
+ else {
563
+ tx.moveCall({
564
+ target: treasuryFn("external_deposit_guard_clear"),
565
+ arguments: [
566
+ toTxObject(tx, treasury),
567
+ toTxObject(tx, permission),
568
+ tx.object.mutRegistrar(),
569
+ ],
570
+ typeArguments: [treasury_type],
571
+ });
572
+ }
573
+ }
574
+ export async function external_withdraw_guard_add(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
575
+ if (guards.length === 0) {
576
+ return;
577
+ }
578
+ if (guards.length > counts) {
579
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard add guards count ${guards.length} exceeds maximum ${counts}`);
580
+ }
581
+ validObjects([treasury, permission, passport]);
582
+ if (!IsValidArgType(treasury_type)) {
583
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard add treasury type ${treasury_type} is not valid`);
584
+ }
585
+ const g = await Promise.all(guards.map(async (item) => {
586
+ const guard = await LocalMark.Instance().get_address(item.guard);
587
+ if (!guard) {
588
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard add guard ${item.guard} is not valid`);
384
589
  }
385
- case "clear": {
386
- external_deposit_guard_clear(
387
- tx,
388
- object,
389
- this.parameter_type,
390
- permission,
391
- passport
392
- );
393
- break;
590
+ if (!isValidU8(item.identifier)) {
591
+ W_ERROR(WErrors.IsValidU8, `External withdraw guard add identifier ${item.identifier} is not optional u8`);
394
592
  }
395
- }
593
+ return {
594
+ guard: item.guard,
595
+ identifier: item.identifier,
596
+ guard_addr: guard,
597
+ };
598
+ }));
599
+ // Check if any guard_addr is empty
600
+ const invalidGuards = g.filter((item) => !item.guard_addr);
601
+ if (invalidGuards.length > 0) {
602
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard add has invalid guards with empty guard_addr: ${JSON.stringify(invalidGuards)}`);
396
603
  }
397
- if (this.data.external_withdraw_guard != null) {
398
- switch (this.data.external_withdraw_guard.op) {
399
- case "add":
400
- case "set": {
401
- if (this.data.external_withdraw_guard.op === "set") {
402
- external_withdraw_guard_clear(
403
- tx,
404
- object,
405
- this.parameter_type,
406
- permission,
407
- passport
408
- );
409
- }
410
- await external_withdraw_guard_add(
411
- tx,
412
- object,
413
- this.parameter_type,
414
- permission,
415
- this.data.external_withdraw_guard.guards,
416
- MAX_EXTERNAL_WITHDRAW_GUARD_COUNT - (content?.external_withdraw_guard?.length ?? 0),
417
- passport
418
- );
419
- break;
420
- }
421
- case "remove": {
422
- await external_withdraw_guard_remove(
423
- tx,
424
- object,
425
- this.parameter_type,
426
- permission,
427
- this.data.external_withdraw_guard.guards,
428
- content?.external_withdraw_guard?.length ?? 0,
429
- passport
430
- );
431
- break;
604
+ // Convert to AmountFromWithdrawGuard if all guard_addr are valid
605
+ g.filter((item) => item.guard_addr !== undefined)
606
+ .map((item) => ({
607
+ guard: item.guard_addr,
608
+ identifier: item.identifier,
609
+ }))
610
+ .forEach((item) => {
611
+ if (passport) {
612
+ tx.moveCall({
613
+ target: treasuryFn("external_withdraw_guard_add_with_passport"),
614
+ arguments: [
615
+ toTxObject(tx, treasury),
616
+ toTxObject(tx, permission),
617
+ toTxObject(tx, passport),
618
+ toTxObject(tx, item.guard),
619
+ tx.pure.u8(item.identifier),
620
+ tx.object.mutRegistrar(),
621
+ tx.object.clock(),
622
+ ],
623
+ typeArguments: [treasury_type],
624
+ });
432
625
  }
433
- case "clear": {
434
- external_withdraw_guard_clear(
435
- tx,
436
- object,
437
- this.parameter_type,
438
- permission,
439
- passport
440
- );
441
- break;
626
+ else {
627
+ /*console.log(
628
+ `External withdraw guard add guard ${item.guard} identifier ${item.identifier}`,
629
+ );*/
630
+ tx.moveCall({
631
+ target: treasuryFn("external_withdraw_guard_add"),
632
+ arguments: [
633
+ toTxObject(tx, treasury),
634
+ toTxObject(tx, permission),
635
+ toTxObject(tx, item.guard),
636
+ tx.pure.u8(item.identifier),
637
+ tx.object.mutRegistrar(),
638
+ tx.object.clock(),
639
+ ],
640
+ typeArguments: [treasury_type],
641
+ });
442
642
  }
443
- }
643
+ });
644
+ }
645
+ export async function external_withdraw_guard_remove(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
646
+ guards = await LocalMark.Instance().get_many_address_availables(guards);
647
+ if (guards.length === 0) {
648
+ return;
649
+ }
650
+ if (guards.length > counts) {
651
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard remove guards count ${guards.length} exceeds maximum ${counts}`);
652
+ }
653
+ validObjects([treasury, permission, passport]);
654
+ if (!IsValidArgType(treasury_type)) {
655
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard remove treasury type ${treasury_type} is not valid`);
444
656
  }
445
- if (this.data.owner_receive != null && this.object_address) {
446
- if (this.data.owner_receive === "recently") {
447
- this.data.owner_receive = await query_received({
448
- object: this.object_address,
449
- all_type: true,
450
- network: env.network,
451
- no_cache: env.no_cache
657
+ if (passport) {
658
+ tx.moveCall({
659
+ target: treasuryFn("external_withdraw_guard_remove_with_passport"),
660
+ arguments: [
661
+ toTxObject(tx, treasury),
662
+ toTxObject(tx, permission),
663
+ toTxObject(tx, passport),
664
+ tx.pure.vector("address", guards),
665
+ tx.object.mutRegistrar(),
666
+ ],
667
+ typeArguments: [treasury_type],
452
668
  });
453
- }
454
- await owner_receive(
455
- tx,
456
- object,
457
- permission,
458
- this.data.owner_receive,
459
- this.parameter_type,
460
- (name) => `${PackageAddress}::treasury::${name}`,
461
- passport
462
- );
463
669
  }
464
- if (this.data.um !== void 0) {
465
- let um_address = null;
466
- if (this.data.um) {
467
- um_address = await LocalMark.Instance().get_address(this.data.um) || null;
468
- if (!um_address) {
469
- W_ERROR(
470
- WErrors.InvalidParam,
471
- "CallTreasury_Data.data.um:" + this.data.um
472
- );
473
- }
474
- }
475
- um_set(
476
- tx,
477
- object,
478
- this.parameter_type,
479
- permission,
480
- um_address,
481
- passport
482
- );
670
+ else {
671
+ tx.moveCall({
672
+ target: treasuryFn("external_withdraw_guard_remove"),
673
+ arguments: [
674
+ toTxObject(tx, treasury),
675
+ toTxObject(tx, permission),
676
+ tx.pure.vector("address", guards),
677
+ tx.object.mutRegistrar(),
678
+ ],
679
+ typeArguments: [treasury_type],
680
+ });
681
+ }
682
+ }
683
+ export function external_withdraw_guard_clear(tx, treasury, treasury_type, permission, passport) {
684
+ validObjects([treasury, permission, passport]);
685
+ if (!IsValidArgType(treasury_type)) {
686
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard clear treasury type ${treasury_type} is not valid`);
483
687
  }
484
- if (!this.permission_address) {
485
- const p = GetObject(
486
- this.data?.object
487
- );
488
- await this.new_with_mark(
489
- env,
490
- tx,
491
- ObjectType.Permission,
492
- permissionCreate(tx, permission),
493
- GetObject(p.permission)
494
- );
688
+ if (passport) {
689
+ tx.moveCall({
690
+ target: treasuryFn("external_withdraw_guard_clear_with_passport"),
691
+ arguments: [
692
+ toTxObject(tx, treasury),
693
+ toTxObject(tx, permission),
694
+ toTxObject(tx, passport),
695
+ tx.object.mutRegistrar(),
696
+ ],
697
+ typeArguments: [treasury_type],
698
+ });
495
699
  }
496
- if (!this.object_address) {
497
- await this.new_with_mark(
498
- env,
499
- tx,
500
- ObjectType.Treasury,
501
- create(tx, object, this.parameter_type),
502
- GetObject(this.data?.object)
503
- );
700
+ else {
701
+ tx.moveCall({
702
+ target: treasuryFn("external_withdraw_guard_clear"),
703
+ arguments: [
704
+ toTxObject(tx, treasury),
705
+ toTxObject(tx, permission),
706
+ tx.object.mutRegistrar(),
707
+ ],
708
+ typeArguments: [treasury_type],
709
+ });
504
710
  }
505
- }
506
711
  }
507
- const MAX_EXTERNAL_DEPOSIT_GUARD_COUNT = 100;
508
- const MAX_EXTERNAL_WITHDRAW_GUARD_COUNT = 200;
509
- function newTreasury(tx, treasury_type, permission, description, passport) {
510
- validObjects([permission, passport]);
511
- if (typeof description === "string" && !isValidDescription(description)) {
512
- W_ERROR(
513
- WErrors.IsValidDescription,
514
- `Description exceeds maximum length ${MAX_DESCRIPTION_LENGTH}`
515
- );
516
- }
517
- if (!IsValidArgType(treasury_type)) {
518
- W_ERROR(
519
- WErrors.InvalidParam,
520
- `New treasury type ${treasury_type} is not valid`
521
- );
522
- }
523
- if (passport) {
524
- return tx.moveCall({
525
- target: treasuryFn("new_with_passport"),
526
- arguments: [
527
- toTxObject(tx, permission),
528
- toTxObject(tx, passport),
529
- toTxString(tx, description),
530
- tx.object.mutRegistrar(),
531
- tx.object.clock()
532
- ],
533
- typeArguments: [treasury_type]
534
- });
535
- } else {
712
+ export function create(tx, treasury, treasury_type) {
713
+ validObjects([treasury]);
714
+ if (!IsValidArgType(treasury_type)) {
715
+ W_ERROR(WErrors.InvalidParam, `Create treasury type ${treasury_type} is not valid`);
716
+ }
536
717
  return tx.moveCall({
537
- target: treasuryFn("new"),
538
- arguments: [
539
- toTxObject(tx, permission),
540
- toTxString(tx, description),
541
- tx.object.mutRegistrar(),
542
- tx.object.clock()
543
- ],
544
- typeArguments: [treasury_type]
545
- });
546
- }
547
- }
548
- function description_set(tx, treasury, treasury_type, permission, description, passport) {
549
- validObjects([treasury, permission, passport]);
550
- if (typeof description === "string" && !isValidDescription(description)) {
551
- W_ERROR(
552
- WErrors.IsValidDescription,
553
- `Description exceeds maximum length ${MAX_DESCRIPTION_LENGTH}`
554
- );
555
- }
556
- if (!IsValidArgType(treasury_type)) {
557
- W_ERROR(
558
- WErrors.InvalidParam,
559
- `Description set treasury type ${treasury_type} is not valid`
560
- );
561
- }
562
- if (passport) {
563
- tx.moveCall({
564
- target: treasuryFn("description_set_with_passport"),
565
- arguments: [
566
- toTxObject(tx, treasury),
567
- toTxObject(tx, permission),
568
- toTxObject(tx, passport),
569
- toTxString(tx, description)
570
- ],
571
- typeArguments: [treasury_type]
572
- });
573
- } else {
574
- tx.moveCall({
575
- target: treasuryFn("description_set"),
576
- arguments: [
577
- toTxObject(tx, treasury),
578
- toTxObject(tx, permission),
579
- toTxString(tx, description)
580
- ],
581
- typeArguments: [treasury_type]
718
+ target: treasuryFn("create"),
719
+ arguments: [toTxObject(tx, treasury)],
720
+ typeArguments: [treasury_type],
582
721
  });
583
- }
584
722
  }
585
- async function deposit(env, tx, treasury, treasury_type, permission, coin, payment_info, passport) {
586
- validObjects([treasury, permission, passport]);
587
- if (!IsValidArgType(treasury_type)) {
588
- W_ERROR(
589
- WErrors.InvalidParam,
590
- `Deposit treasury type ${treasury_type} is not valid`
591
- );
592
- }
593
- const c = await getCoinParam(env, tx, coin, treasury_type);
594
- const p = await paymentInfo(env, tx, payment_info);
595
- if (passport) {
596
- return tx.moveCall({
597
- target: treasuryFn("deposit_with_passport"),
598
- arguments: [
599
- toTxObject(tx, treasury),
600
- toTxObject(tx, permission),
601
- toTxObject(tx, passport),
602
- c,
603
- p,
604
- tx.object.mutRegistrar(),
605
- tx.object.clock()
606
- ],
607
- typeArguments: [treasury_type]
608
- });
609
- } else {
723
+ export async function external_deposit(env, tx, treasury, treasury_type, passport, external_deposit_guard, coin, payment_info) {
724
+ validObjects([treasury, passport]);
725
+ if (!IsValidArgType(treasury_type)) {
726
+ W_ERROR(WErrors.InvalidParam, `External deposit treasury type ${treasury_type} is not valid`);
727
+ }
728
+ const [c, p, guard] = await Promise.all([
729
+ getCoinParam(env, tx, coin, treasury_type),
730
+ paymentInfo(env, tx, payment_info),
731
+ LocalMark.Instance().get_address(external_deposit_guard),
732
+ ]);
733
+ if (!guard) {
734
+ W_ERROR(WErrors.InvalidParam, `External deposit guard ${external_deposit_guard} is not valid`);
735
+ }
610
736
  return tx.moveCall({
611
- target: treasuryFn("deposit"),
612
- arguments: [
613
- toTxObject(tx, treasury),
614
- toTxObject(tx, permission),
615
- c,
616
- p,
617
- tx.object.mutRegistrar(),
618
- tx.object.clock()
619
- ],
620
- typeArguments: [treasury_type]
737
+ target: treasuryFn("external_deposit"),
738
+ arguments: [
739
+ toTxObject(tx, treasury),
740
+ toTxObject(tx, passport),
741
+ toTxObject(tx, guard),
742
+ c,
743
+ p,
744
+ tx.object.mutRegistrar(),
745
+ tx.object.clock(),
746
+ ],
747
+ typeArguments: [treasury_type],
621
748
  });
622
- }
623
749
  }
624
- async function withdraw(env, tx, treasury, treasury_type, permission, amount, recipient, payment_info, passport) {
625
- validObjects([treasury, permission, passport]);
626
- if (!IsValidArgType(treasury_type)) {
627
- W_ERROR(
628
- WErrors.InvalidParam,
629
- `Withdraw treasury type ${treasury_type} is not valid`
630
- );
631
- }
632
- if (!isValidU64(amount)) {
633
- W_ERROR(WErrors.IsValidU64, `Amount ${amount} is not valid`);
634
- }
635
- const r = await GetAccountOrMark_Address(recipient);
636
- if (!r) {
637
- W_ERROR(WErrors.InvalidParam, `Recipient ${recipient} is not valid`);
638
- }
639
- const p = await paymentInfo(env, tx, payment_info);
640
- if (passport) {
641
- return tx.moveCall({
642
- target: treasuryFn("withdraw_with_passport"),
643
- arguments: [
644
- toTxObject(tx, treasury),
645
- toTxObject(tx, permission),
646
- toTxObject(tx, passport),
647
- tx.pure.u64(amount),
648
- tx.pure.address(r),
649
- p,
650
- tx.object.mutRegistrar(),
651
- tx.object.clock()
652
- ],
653
- typeArguments: [treasury_type]
654
- });
655
- } else {
750
+ export async function external_withdraw(env, tx, treasury, treasury_type, passport, external_withdraw_guard, recipient, payment_info) {
751
+ validObjects([treasury, passport]);
752
+ if (!IsValidArgType(treasury_type)) {
753
+ W_ERROR(WErrors.InvalidParam, `External withdraw treasury type ${treasury_type} is not valid`);
754
+ }
755
+ const [p, guard, recipient_addr] = await Promise.all([
756
+ paymentInfo(env, tx, payment_info),
757
+ LocalMark.Instance().get_address(external_withdraw_guard),
758
+ GetAccountOrMark_Address(recipient),
759
+ ]);
760
+ if (!guard) {
761
+ W_ERROR(WErrors.InvalidParam, `External withdraw guard ${external_withdraw_guard} is not valid`);
762
+ }
763
+ if (!recipient_addr) {
764
+ W_ERROR(WErrors.InvalidParam, `External withdraw recipient ${recipient} is not valid`);
765
+ }
656
766
  return tx.moveCall({
657
- target: treasuryFn("withdraw"),
658
- arguments: [
659
- toTxObject(tx, treasury),
660
- toTxObject(tx, permission),
661
- tx.pure.u64(amount),
662
- tx.pure.address(r),
663
- p,
664
- tx.object.mutRegistrar(),
665
- tx.object.clock()
666
- ],
667
- typeArguments: [treasury_type]
668
- });
669
- }
670
- }
671
- async function external_deposit_guard_add(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
672
- if (guards.length === 0) {
673
- return;
674
- }
675
- if (guards.length > counts) {
676
- W_ERROR(
677
- WErrors.InvalidParam,
678
- `External deposit guard add guards count ${guards.length} exceeds maximum ${counts}`
679
- );
680
- }
681
- validObjects([treasury, permission, passport]);
682
- if (!IsValidArgType(treasury_type)) {
683
- W_ERROR(
684
- WErrors.InvalidParam,
685
- `External deposit guard add treasury type ${treasury_type} is not valid`
686
- );
687
- }
688
- const g = await Promise.all(
689
- guards.map(async (item) => {
690
- const guard = await LocalMark.Instance().get_address(item.guard);
691
- if (!guard) {
692
- W_ERROR(
693
- WErrors.InvalidParam,
694
- `External deposit guard add guard ${item.guard} is not valid`
695
- );
696
- }
697
- if (item.identifier && !isValidU8(item.identifier)) {
698
- W_ERROR(
699
- WErrors.IsValidU8,
700
- `External deposit guard add identifier ${item.identifier} is not optional u8`
701
- );
702
- }
703
- return {
704
- guard: item.guard,
705
- identifier: item.identifier,
706
- guard_addr: guard
707
- };
708
- })
709
- );
710
- const invalidGuards = g.filter((item) => !item.guard_addr);
711
- if (invalidGuards.length > 0) {
712
- W_ERROR(
713
- WErrors.InvalidParam,
714
- `External deposit guard add has invalid guards with empty guard_addr: ${JSON.stringify(invalidGuards)}`
715
- );
716
- }
717
- g.filter((item) => item.guard_addr !== void 0).map((item) => ({
718
- guard: item.guard_addr,
719
- identifier: item.identifier !== void 0 ? item.identifier : null
720
- })).forEach((item) => {
721
- if (passport) {
722
- tx.moveCall({
723
- target: treasuryFn(
724
- "external_deposit_guard_add_with_passport"
725
- ),
767
+ target: treasuryFn("external_withdraw"),
726
768
  arguments: [
727
- toTxObject(tx, treasury),
728
- toTxObject(tx, permission),
729
- toTxObject(tx, passport),
730
- toTxObject(tx, item.guard),
731
- tx.pure.option("u8", item.identifier),
732
- tx.object.mutRegistrar(),
733
- tx.object.clock()
769
+ toTxObject(tx, treasury),
770
+ toTxObject(tx, passport),
771
+ toTxObject(tx, guard),
772
+ tx.pure.address(recipient_addr),
773
+ p,
774
+ tx.object.mutRegistrar(),
775
+ tx.object.clock(),
734
776
  ],
735
- typeArguments: [treasury_type]
736
- });
737
- } else {
738
- tx.moveCall({
739
- target: treasuryFn("external_deposit_guard_add"),
740
- arguments: [
741
- toTxObject(tx, treasury),
742
- toTxObject(tx, permission),
743
- toTxObject(tx, item.guard),
744
- tx.pure.option("u8", item.identifier),
745
- tx.object.mutRegistrar(),
746
- tx.object.clock()
747
- ],
748
- typeArguments: [treasury_type]
749
- });
750
- }
751
- });
752
- }
753
- async function external_deposit_guard_remove(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
754
- guards = await LocalMark.Instance().get_many_address_availables(guards);
755
- if (guards.length === 0) {
756
- return;
757
- }
758
- if (guards.length > counts) {
759
- W_ERROR(
760
- WErrors.InvalidParam,
761
- `External deposit guard remove guards count ${guards.length} exceeds maximum ${counts}`
762
- );
763
- }
764
- validObjects([treasury, permission, passport, ...guards]);
765
- if (!IsValidArgType(treasury_type)) {
766
- W_ERROR(
767
- WErrors.InvalidParam,
768
- `External deposit guard remove treasury type ${treasury_type} is not valid`
769
- );
770
- }
771
- if (passport) {
772
- tx.moveCall({
773
- target: treasuryFn("external_deposit_guard_remove_with_passport"),
774
- arguments: [
775
- toTxObject(tx, treasury),
776
- toTxObject(tx, permission),
777
- toTxObject(tx, passport),
778
- tx.pure.vector("address", guards),
779
- tx.object.mutRegistrar()
780
- ],
781
- typeArguments: [treasury_type]
782
- });
783
- } else {
784
- tx.moveCall({
785
- target: treasuryFn("external_deposit_guard_remove"),
786
- arguments: [
787
- toTxObject(tx, treasury),
788
- toTxObject(tx, permission),
789
- tx.pure.vector("address", guards),
790
- tx.object.mutRegistrar()
791
- ],
792
- typeArguments: [treasury_type]
777
+ typeArguments: [treasury_type],
793
778
  });
794
- }
795
779
  }
796
- function external_deposit_guard_clear(tx, treasury, treasury_type, permission, passport) {
797
- validObjects([treasury, permission, passport]);
798
- if (!IsValidArgType(treasury_type)) {
799
- W_ERROR(
800
- WErrors.InvalidParam,
801
- `External deposit guard clear treasury type ${treasury_type} is not valid`
802
- );
803
- }
804
- if (passport) {
805
- tx.moveCall({
806
- target: treasuryFn("external_deposit_guard_clear_with_passport"),
807
- arguments: [
808
- toTxObject(tx, treasury),
809
- toTxObject(tx, permission),
810
- toTxObject(tx, passport),
811
- tx.object.mutRegistrar()
812
- ],
813
- typeArguments: [treasury_type]
814
- });
815
- } else {
816
- tx.moveCall({
817
- target: treasuryFn("external_deposit_guard_clear"),
818
- arguments: [
819
- toTxObject(tx, treasury),
820
- toTxObject(tx, permission),
821
- tx.object.mutRegistrar()
822
- ],
823
- typeArguments: [treasury_type]
824
- });
825
- }
826
- }
827
- async function external_withdraw_guard_add(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
828
- if (guards.length === 0) {
829
- return;
830
- }
831
- if (guards.length > counts) {
832
- W_ERROR(
833
- WErrors.InvalidParam,
834
- `External withdraw guard add guards count ${guards.length} exceeds maximum ${counts}`
835
- );
836
- }
837
- validObjects([treasury, permission, passport]);
838
- if (!IsValidArgType(treasury_type)) {
839
- W_ERROR(
840
- WErrors.InvalidParam,
841
- `External withdraw guard add treasury type ${treasury_type} is not valid`
842
- );
843
- }
844
- const g = await Promise.all(
845
- guards.map(async (item) => {
846
- const guard = await LocalMark.Instance().get_address(item.guard);
847
- if (!guard) {
848
- W_ERROR(
849
- WErrors.InvalidParam,
850
- `External withdraw guard add guard ${item.guard} is not valid`
851
- );
852
- }
853
- if (!isValidU8(item.identifier)) {
854
- W_ERROR(
855
- WErrors.IsValidU8,
856
- `External withdraw guard add identifier ${item.identifier} is not optional u8`
857
- );
858
- }
859
- return {
860
- guard: item.guard,
861
- identifier: item.identifier,
862
- guard_addr: guard
863
- };
864
- })
865
- );
866
- const invalidGuards = g.filter((item) => !item.guard_addr);
867
- if (invalidGuards.length > 0) {
868
- W_ERROR(
869
- WErrors.InvalidParam,
870
- `External withdraw guard add has invalid guards with empty guard_addr: ${JSON.stringify(invalidGuards)}`
871
- );
872
- }
873
- g.filter((item) => item.guard_addr !== void 0).map((item) => ({
874
- guard: item.guard_addr,
875
- identifier: item.identifier
876
- })).forEach((item) => {
780
+ export function receive(tx, treasury, treasury_type, permission, received, payment, passport) {
781
+ if (!payment) {
782
+ W_ERROR(WErrors.InvalidParam, `Treasury receive payment is required`);
783
+ }
784
+ validObjects([treasury, permission, received, payment, passport]);
785
+ if (!IsValidArgType(treasury_type)) {
786
+ W_ERROR(WErrors.InvalidParam, `Treasury receive treasury type ${treasury_type} is not valid`);
787
+ }
877
788
  if (passport) {
878
- tx.moveCall({
879
- target: treasuryFn(
880
- "external_withdraw_guard_add_with_passport"
881
- ),
882
- arguments: [
883
- toTxObject(tx, treasury),
884
- toTxObject(tx, permission),
885
- toTxObject(tx, passport),
886
- toTxObject(tx, item.guard),
887
- tx.pure.u8(item.identifier),
888
- tx.object.mutRegistrar(),
889
- tx.object.clock()
890
- ],
891
- typeArguments: [treasury_type]
892
- });
893
- } else {
894
- tx.moveCall({
895
- target: treasuryFn("external_withdraw_guard_add"),
896
- arguments: [
897
- toTxObject(tx, treasury),
898
- toTxObject(tx, permission),
899
- toTxObject(tx, item.guard),
900
- tx.pure.u8(item.identifier),
901
- tx.object.mutRegistrar(),
902
- tx.object.clock()
903
- ],
904
- typeArguments: [treasury_type]
905
- });
789
+ tx.moveCall({
790
+ target: treasuryFn("receive_with_passport"),
791
+ arguments: [
792
+ toTxObject(tx, treasury),
793
+ toTxObject(tx, permission),
794
+ toTxObject(tx, passport),
795
+ toTxObject(tx, received),
796
+ toTxObject(tx, payment),
797
+ tx.object.clock(),
798
+ ],
799
+ typeArguments: [treasury_type],
800
+ });
801
+ }
802
+ else {
803
+ tx.moveCall({
804
+ target: treasuryFn("receive"),
805
+ arguments: [
806
+ toTxObject(tx, treasury),
807
+ toTxObject(tx, permission),
808
+ toTxObject(tx, received),
809
+ toTxObject(tx, payment),
810
+ tx.object.clock(),
811
+ ],
812
+ typeArguments: [treasury_type],
813
+ });
906
814
  }
907
- });
908
- }
909
- async function external_withdraw_guard_remove(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
910
- guards = await LocalMark.Instance().get_many_address_availables(guards);
911
- if (guards.length === 0) {
912
- return;
913
- }
914
- if (guards.length > counts) {
915
- W_ERROR(
916
- WErrors.InvalidParam,
917
- `External withdraw guard remove guards count ${guards.length} exceeds maximum ${counts}`
918
- );
919
- }
920
- validObjects([treasury, permission, passport]);
921
- if (!IsValidArgType(treasury_type)) {
922
- W_ERROR(
923
- WErrors.InvalidParam,
924
- `External withdraw guard remove treasury type ${treasury_type} is not valid`
925
- );
926
- }
927
- if (passport) {
928
- tx.moveCall({
929
- target: treasuryFn("external_withdraw_guard_remove_with_passport"),
930
- arguments: [
931
- toTxObject(tx, treasury),
932
- toTxObject(tx, permission),
933
- toTxObject(tx, passport),
934
- tx.pure.vector("address", guards),
935
- tx.object.mutRegistrar()
936
- ],
937
- typeArguments: [treasury_type]
938
- });
939
- } else {
940
- tx.moveCall({
941
- target: treasuryFn("external_withdraw_guard_remove"),
942
- arguments: [
943
- toTxObject(tx, treasury),
944
- toTxObject(tx, permission),
945
- tx.pure.vector("address", guards),
946
- tx.object.mutRegistrar()
947
- ],
948
- typeArguments: [treasury_type]
949
- });
950
- }
951
- }
952
- function external_withdraw_guard_clear(tx, treasury, treasury_type, permission, passport) {
953
- validObjects([treasury, permission, passport]);
954
- if (!IsValidArgType(treasury_type)) {
955
- W_ERROR(
956
- WErrors.InvalidParam,
957
- `External withdraw guard clear treasury type ${treasury_type} is not valid`
958
- );
959
- }
960
- if (passport) {
961
- tx.moveCall({
962
- target: treasuryFn("external_withdraw_guard_clear_with_passport"),
963
- arguments: [
964
- toTxObject(tx, treasury),
965
- toTxObject(tx, permission),
966
- toTxObject(tx, passport),
967
- tx.object.mutRegistrar()
968
- ],
969
- typeArguments: [treasury_type]
970
- });
971
- } else {
972
- tx.moveCall({
973
- target: treasuryFn("external_withdraw_guard_clear"),
974
- arguments: [
975
- toTxObject(tx, treasury),
976
- toTxObject(tx, permission),
977
- tx.object.mutRegistrar()
978
- ],
979
- typeArguments: [treasury_type]
980
- });
981
- }
982
- }
983
- function create(tx, treasury, treasury_type) {
984
- validObjects([treasury]);
985
- if (!IsValidArgType(treasury_type)) {
986
- W_ERROR(
987
- WErrors.InvalidParam,
988
- `Create treasury type ${treasury_type} is not valid`
989
- );
990
- }
991
- return tx.moveCall({
992
- target: treasuryFn("create"),
993
- arguments: [toTxObject(tx, treasury)],
994
- typeArguments: [treasury_type]
995
- });
996
- }
997
- async function external_deposit(env, tx, treasury, treasury_type, passport, external_deposit_guard, coin, payment_info) {
998
- validObjects([treasury, passport]);
999
- if (!IsValidArgType(treasury_type)) {
1000
- W_ERROR(
1001
- WErrors.InvalidParam,
1002
- `External deposit treasury type ${treasury_type} is not valid`
1003
- );
1004
- }
1005
- const [c, p, guard] = await Promise.all([
1006
- getCoinParam(env, tx, coin, treasury_type),
1007
- paymentInfo(env, tx, payment_info),
1008
- LocalMark.Instance().get_address(external_deposit_guard)
1009
- ]);
1010
- if (!guard) {
1011
- W_ERROR(
1012
- WErrors.InvalidParam,
1013
- `External deposit guard ${external_deposit_guard} is not valid`
1014
- );
1015
- }
1016
- return tx.moveCall({
1017
- target: treasuryFn("external_deposit"),
1018
- arguments: [
1019
- toTxObject(tx, treasury),
1020
- toTxObject(tx, passport),
1021
- toTxObject(tx, guard),
1022
- c,
1023
- p,
1024
- tx.object.mutRegistrar(),
1025
- tx.object.clock()
1026
- ],
1027
- typeArguments: [treasury_type]
1028
- });
1029
- }
1030
- async function external_withdraw(env, tx, treasury, treasury_type, passport, external_withdraw_guard, recipient, payment_info) {
1031
- validObjects([treasury, passport]);
1032
- if (!IsValidArgType(treasury_type)) {
1033
- W_ERROR(
1034
- WErrors.InvalidParam,
1035
- `External withdraw treasury type ${treasury_type} is not valid`
1036
- );
1037
- }
1038
- const [p, guard, recipient_addr] = await Promise.all([
1039
- paymentInfo(env, tx, payment_info),
1040
- LocalMark.Instance().get_address(external_withdraw_guard),
1041
- GetAccountOrMark_Address(recipient)
1042
- ]);
1043
- if (!guard) {
1044
- W_ERROR(
1045
- WErrors.InvalidParam,
1046
- `External withdraw guard ${external_withdraw_guard} is not valid`
1047
- );
1048
- }
1049
- if (!recipient_addr) {
1050
- W_ERROR(
1051
- WErrors.InvalidParam,
1052
- `External withdraw recipient ${recipient} is not valid`
1053
- );
1054
- }
1055
- return tx.moveCall({
1056
- target: treasuryFn("external_withdraw"),
1057
- arguments: [
1058
- toTxObject(tx, treasury),
1059
- toTxObject(tx, passport),
1060
- toTxObject(tx, guard),
1061
- tx.pure.address(recipient_addr),
1062
- p,
1063
- tx.object.mutRegistrar(),
1064
- tx.object.clock()
1065
- ],
1066
- typeArguments: [treasury_type]
1067
- });
1068
- }
1069
- function receive(tx, treasury, treasury_type, permission, received, payment, passport) {
1070
- if (!payment) {
1071
- W_ERROR(WErrors.InvalidParam, `Treasury receive payment is required`);
1072
- }
1073
- validObjects([treasury, permission, received, payment, passport]);
1074
- if (!IsValidArgType(treasury_type)) {
1075
- W_ERROR(
1076
- WErrors.InvalidParam,
1077
- `Treasury receive treasury type ${treasury_type} is not valid`
1078
- );
1079
- }
1080
- if (passport) {
1081
- tx.moveCall({
1082
- target: treasuryFn("receive_with_passport"),
1083
- arguments: [
1084
- toTxObject(tx, treasury),
1085
- toTxObject(tx, permission),
1086
- toTxObject(tx, passport),
1087
- toTxObject(tx, received),
1088
- toTxObject(tx, payment),
1089
- tx.object.clock()
1090
- ],
1091
- typeArguments: [treasury_type]
1092
- });
1093
- } else {
1094
- tx.moveCall({
1095
- target: treasuryFn("receive"),
1096
- arguments: [
1097
- toTxObject(tx, treasury),
1098
- toTxObject(tx, permission),
1099
- toTxObject(tx, received),
1100
- toTxObject(tx, payment),
1101
- tx.object.clock()
1102
- ],
1103
- typeArguments: [treasury_type]
1104
- });
1105
- }
1106
815
  }
1107
- function um_set(tx, treasury, treasury_type, permission, um, passport) {
1108
- validObjects([treasury, permission]);
1109
- if (!IsValidArgType(treasury_type)) {
1110
- W_ERROR(
1111
- WErrors.InvalidParam,
1112
- `Treasury type ${treasury_type} is not valid`
1113
- );
1114
- }
1115
- if (um) {
1116
- if (passport) {
1117
- tx.moveCall({
1118
- target: treasuryFn(`um_set_with_passport`),
1119
- arguments: [
1120
- toTxObject(tx, treasury),
1121
- toTxObject(tx, permission),
1122
- passport,
1123
- toTxObject(tx, um),
1124
- tx.object.mutRegistrar(),
1125
- tx.object.clock()
1126
- ],
1127
- typeArguments: [treasury_type]
1128
- });
1129
- } else {
1130
- tx.moveCall({
1131
- target: treasuryFn(`um_set`),
1132
- arguments: [
1133
- toTxObject(tx, treasury),
1134
- toTxObject(tx, permission),
1135
- toTxObject(tx, um),
1136
- tx.object.mutRegistrar(),
1137
- tx.object.clock()
1138
- ],
1139
- typeArguments: [treasury_type]
1140
- });
816
+ export function um_set(tx, treasury, treasury_type, permission, um, passport) {
817
+ validObjects([treasury, permission]);
818
+ if (!IsValidArgType(treasury_type)) {
819
+ W_ERROR(WErrors.InvalidParam, `Treasury type ${treasury_type} is not valid`);
1141
820
  }
1142
- } else {
1143
- if (passport) {
1144
- tx.moveCall({
1145
- target: treasuryFn(`um_none_with_passport`),
1146
- arguments: [
1147
- toTxObject(tx, treasury),
1148
- toTxObject(tx, permission),
1149
- passport,
1150
- tx.object.mutRegistrar()
1151
- ],
1152
- typeArguments: [treasury_type]
1153
- });
1154
- } else {
1155
- tx.moveCall({
1156
- target: treasuryFn(`um_none`),
1157
- arguments: [
1158
- toTxObject(tx, treasury),
1159
- toTxObject(tx, permission),
1160
- tx.object.mutRegistrar()
1161
- ],
1162
- typeArguments: [treasury_type]
1163
- });
821
+ if (um) {
822
+ if (passport) {
823
+ tx.moveCall({
824
+ target: treasuryFn(`um_set_with_passport`),
825
+ arguments: [
826
+ toTxObject(tx, treasury),
827
+ toTxObject(tx, permission),
828
+ passport,
829
+ toTxObject(tx, um),
830
+ tx.object.mutRegistrar(),
831
+ tx.object.clock(),
832
+ ],
833
+ typeArguments: [treasury_type],
834
+ });
835
+ }
836
+ else {
837
+ tx.moveCall({
838
+ target: treasuryFn(`um_set`),
839
+ arguments: [
840
+ toTxObject(tx, treasury),
841
+ toTxObject(tx, permission),
842
+ toTxObject(tx, um),
843
+ tx.object.mutRegistrar(),
844
+ tx.object.clock(),
845
+ ],
846
+ typeArguments: [treasury_type],
847
+ });
848
+ }
849
+ }
850
+ else {
851
+ if (passport) {
852
+ tx.moveCall({
853
+ target: treasuryFn(`um_none_with_passport`),
854
+ arguments: [
855
+ toTxObject(tx, treasury),
856
+ toTxObject(tx, permission),
857
+ passport,
858
+ tx.object.mutRegistrar(),
859
+ ],
860
+ typeArguments: [treasury_type],
861
+ });
862
+ }
863
+ else {
864
+ tx.moveCall({
865
+ target: treasuryFn(`um_none`),
866
+ arguments: [
867
+ toTxObject(tx, treasury),
868
+ toTxObject(tx, permission),
869
+ tx.object.mutRegistrar(),
870
+ ],
871
+ typeArguments: [treasury_type],
872
+ });
873
+ }
1164
874
  }
1165
- }
1166
875
  }
1167
- export {
1168
- CallTreasury,
1169
- MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,
1170
- MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,
1171
- create,
1172
- deposit,
1173
- description_set,
1174
- external_deposit,
1175
- external_deposit_guard_add,
1176
- external_deposit_guard_clear,
1177
- external_deposit_guard_remove,
1178
- external_withdraw,
1179
- external_withdraw_guard_add,
1180
- external_withdraw_guard_clear,
1181
- external_withdraw_guard_remove,
1182
- newTreasury,
1183
- receive,
1184
- um_set,
1185
- withdraw
1186
- };
876
+ //# sourceMappingURL=treasury.js.map