wowok 2.1.40 → 2.2.0

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 (399) hide show
  1. package/dist/cjs/bcs/bcs.js +1 -253
  2. package/dist/cjs/bcs/effects.js +1 -199
  3. package/dist/cjs/bcs/index.js +1 -51
  4. package/dist/cjs/bcs/pure.js +1 -36
  5. package/dist/cjs/bcs/type-tag-serializer.js +1 -104
  6. package/dist/cjs/bcs/types.js +1 -3
  7. package/dist/cjs/client/index.js +1 -4
  8. package/dist/cjs/client/network.js +1 -15
  9. package/dist/cjs/cryptography/index.js +1 -6
  10. package/dist/cjs/cryptography/intent.js +1 -14
  11. package/dist/cjs/cryptography/keypair.js +1 -74
  12. package/dist/cjs/cryptography/mnemonics.js +1 -20
  13. package/dist/cjs/cryptography/publickey.js +1 -80
  14. package/dist/cjs/cryptography/signature-scheme.js +1 -22
  15. package/dist/cjs/cryptography/signature.js +1 -41
  16. package/dist/cjs/experimental/cache.js +1 -58
  17. package/dist/cjs/experimental/client.js +1 -19
  18. package/dist/cjs/experimental/core.js +1 -80
  19. package/dist/cjs/experimental/errors.js +1 -24
  20. package/dist/cjs/experimental/index.js +1 -5
  21. package/dist/cjs/experimental/persistent-storage.js +1 -220
  22. package/dist/cjs/experimental/persistent-storage.test.js +1 -144
  23. package/dist/cjs/experimental/transports/utils.js +1 -96
  24. package/dist/cjs/experimental/types.js +1 -1
  25. package/dist/cjs/faucet/faucet.js +1 -99
  26. package/dist/cjs/faucet/index.js +1 -1
  27. package/dist/cjs/grpc/client.js +1 -42
  28. package/dist/cjs/grpc/core.js +1 -587
  29. package/dist/cjs/grpc/index.js +1 -2
  30. package/dist/cjs/grpc/proto/google/protobuf/any.js +1 -106
  31. package/dist/cjs/grpc/proto/google/protobuf/duration.js +1 -58
  32. package/dist/cjs/grpc/proto/google/protobuf/empty.js +1 -7
  33. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +1 -47
  34. package/dist/cjs/grpc/proto/google/protobuf/struct.js +1 -191
  35. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +1 -91
  36. package/dist/cjs/grpc/proto/google/rpc/error_details.js +1 -265
  37. package/dist/cjs/grpc/proto/google/rpc/status.js +1 -23
  38. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +1 -46
  39. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +1 -29
  40. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +1 -22
  41. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +1 -54
  42. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -60
  43. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -144
  44. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +1 -271
  45. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +1 -64
  46. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +1 -6
  47. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +1 -62
  48. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -64
  49. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +1 -481
  50. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +1 -40
  51. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +1 -61
  52. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +1 -57
  53. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +1 -39
  54. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +1 -329
  55. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +1 -447
  56. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +1 -27
  57. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +1 -206
  58. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +1 -19
  59. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +1 -109
  60. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +1 -90
  61. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +1 -30
  62. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +1 -39
  63. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +1 -30
  64. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +1 -501
  65. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -10
  66. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +1 -15
  67. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -62
  68. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +1 -31
  69. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +1 -504
  70. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +1 -15
  71. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +1 -37
  72. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +1 -709
  73. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1 -950
  74. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +1 -19
  75. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -144
  76. package/dist/cjs/index.js +1 -22
  77. package/dist/cjs/jsonRpc/client.js +1 -516
  78. package/dist/cjs/jsonRpc/core.js +1 -587
  79. package/dist/cjs/jsonRpc/errors.js +1 -38
  80. package/dist/cjs/jsonRpc/http-transport.js +1 -70
  81. package/dist/cjs/jsonRpc/index.js +1 -3
  82. package/dist/cjs/jsonRpc/json-rpc-resolver.js +1 -296
  83. package/dist/cjs/jsonRpc/rpc-websocket-client.js +1 -155
  84. package/dist/cjs/jsonRpc/types/chain.js +1 -1
  85. package/dist/cjs/jsonRpc/types/changes.js +1 -1
  86. package/dist/cjs/jsonRpc/types/coins.js +1 -1
  87. package/dist/cjs/jsonRpc/types/common.js +1 -1
  88. package/dist/cjs/jsonRpc/types/generated.js +1 -1
  89. package/dist/cjs/jsonRpc/types/index.js +1 -1
  90. package/dist/cjs/jsonRpc/types/params.js +1 -1
  91. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +1 -58
  92. package/dist/cjs/keypairs/ed25519/index.js +1 -2
  93. package/dist/cjs/keypairs/ed25519/keypair.js +1 -90
  94. package/dist/cjs/keypairs/ed25519/publickey.js +1 -50
  95. package/dist/cjs/keypairs/index.js +1 -4
  96. package/dist/cjs/keypairs/passkey/index.js +1 -2
  97. package/dist/cjs/keypairs/passkey/keypair.js +1 -155
  98. package/dist/cjs/keypairs/passkey/publickey.js +1 -117
  99. package/dist/cjs/keypairs/passkey/types.js +1 -1
  100. package/dist/cjs/keypairs/secp256k1/index.js +1 -2
  101. package/dist/cjs/keypairs/secp256k1/keypair.js +1 -82
  102. package/dist/cjs/keypairs/secp256k1/publickey.js +1 -51
  103. package/dist/cjs/keypairs/secp256r1/index.js +1 -2
  104. package/dist/cjs/keypairs/secp256r1/keypair.js +1 -78
  105. package/dist/cjs/keypairs/secp256r1/publickey.js +1 -52
  106. package/dist/cjs/multisig/index.js +1 -2
  107. package/dist/cjs/multisig/publickey.js +1 -201
  108. package/dist/cjs/multisig/signer.js +1 -58
  109. package/dist/cjs/transactions/Arguments.js +1 -9
  110. package/dist/cjs/transactions/Commands.js +1 -102
  111. package/dist/cjs/transactions/Inputs.js +1 -52
  112. package/dist/cjs/transactions/ObjectCache.js +1 -205
  113. package/dist/cjs/transactions/Transaction.js +1 -574
  114. package/dist/cjs/transactions/TransactionData.js +1 -409
  115. package/dist/cjs/transactions/__tests__/Transaction.test.js +1 -160
  116. package/dist/cjs/transactions/__tests__/bcs.test.js +1 -182
  117. package/dist/cjs/transactions/data/internal.js +1 -169
  118. package/dist/cjs/transactions/data/v1.js +1 -469
  119. package/dist/cjs/transactions/data/v2.js +1 -97
  120. package/dist/cjs/transactions/executor/caching.js +1 -65
  121. package/dist/cjs/transactions/executor/parallel.js +1 -347
  122. package/dist/cjs/transactions/executor/queue.js +1 -59
  123. package/dist/cjs/transactions/executor/serial.js +1 -99
  124. package/dist/cjs/transactions/hash.js +1 -8
  125. package/dist/cjs/transactions/index.js +1 -12
  126. package/dist/cjs/transactions/intents/CoinWithBalance.js +1 -145
  127. package/dist/cjs/transactions/object.js +1 -87
  128. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +1 -11
  129. package/dist/cjs/transactions/pure.js +1 -36
  130. package/dist/cjs/transactions/resolve.js +1 -69
  131. package/dist/cjs/transactions/serializer.js +1 -167
  132. package/dist/cjs/transactions/utils.js +1 -121
  133. package/dist/cjs/utils/constants.js +1 -18
  134. package/dist/cjs/utils/derived-objects.js +1 -8
  135. package/dist/cjs/utils/dynamic-fields.js +1 -17
  136. package/dist/cjs/utils/format.js +1 -11
  137. package/dist/cjs/utils/index.js +1 -8
  138. package/dist/cjs/utils/move-registry.js +1 -24
  139. package/dist/cjs/utils/sui-types.js +1 -66
  140. package/dist/cjs/utils/suins.js +1 -33
  141. package/dist/cjs/verify/index.js +1 -1
  142. package/dist/cjs/verify/verify.js +1 -87
  143. package/dist/cjs/version.js +1 -2
  144. package/dist/cjs/w/call/allocation.js +1 -345
  145. package/dist/cjs/w/call/arb.js +1 -103
  146. package/dist/cjs/w/call/arbitration.js +1 -1192
  147. package/dist/cjs/w/call/base.js +1 -293
  148. package/dist/cjs/w/call/contact.js +1 -345
  149. package/dist/cjs/w/call/demand.js +1 -681
  150. package/dist/cjs/w/call/entity.js +1 -173
  151. package/dist/cjs/w/call/guard-ins.js +1 -4449
  152. package/dist/cjs/w/call/guard.d.ts +113 -0
  153. package/dist/cjs/w/call/guard.js +1 -1048
  154. package/dist/cjs/w/call/index.js +1 -22
  155. package/dist/cjs/w/call/machine.js +1 -1127
  156. package/dist/cjs/w/call/order.js +1 -337
  157. package/dist/cjs/w/call/passport.js +1 -220
  158. package/dist/cjs/w/call/payment.js +1 -178
  159. package/dist/cjs/w/call/permission.js +1 -1162
  160. package/dist/cjs/w/call/personal.js +1 -139
  161. package/dist/cjs/w/call/progress.js +1 -678
  162. package/dist/cjs/w/call/proof.js +1 -66
  163. package/dist/cjs/w/call/repository.js +1 -1024
  164. package/dist/cjs/w/call/resource.js +1 -108
  165. package/dist/cjs/w/call/reward.js +1 -675
  166. package/dist/cjs/w/call/service.js +1 -1960
  167. package/dist/cjs/w/call/treasury.js +1 -873
  168. package/dist/cjs/w/call/util.d.ts +1 -0
  169. package/dist/cjs/w/call/util.js +1 -566
  170. package/dist/cjs/w/common.js +1 -571
  171. package/dist/cjs/w/exception.js +1 -618
  172. package/dist/cjs/w/index.js +1 -8
  173. package/dist/cjs/w/local/account.js +1 -656
  174. package/dist/cjs/w/local/cache.js +1 -161
  175. package/dist/cjs/w/local/config.js +1 -43
  176. package/dist/cjs/w/local/index.js +1 -228
  177. package/dist/cjs/w/local/local.js +1 -574
  178. package/dist/cjs/w/local/storage.js +1 -185
  179. package/dist/cjs/w/local/token.js +1 -131
  180. package/dist/cjs/w/local/util.js +1 -26
  181. package/dist/cjs/w/local/wip.js +1 -864
  182. package/dist/cjs/w/messenger/crypto.js +1 -380
  183. package/dist/cjs/w/messenger/index.js +1 -4
  184. package/dist/cjs/w/messenger/messenger-api.js +1 -1154
  185. package/dist/cjs/w/messenger/messenger-manager.js +1 -1003
  186. package/dist/cjs/w/messenger/messenger.js +1 -1093
  187. package/dist/cjs/w/messenger/server.js +1 -343
  188. package/dist/cjs/w/messenger/session.js +1 -628
  189. package/dist/cjs/w/messenger/storage.js +1 -1023
  190. package/dist/cjs/w/messenger/templates/wts-html-template.js +1 -371
  191. package/dist/cjs/w/messenger/types.js +1 -76
  192. package/dist/cjs/w/messenger/utils.js +1 -12
  193. package/dist/cjs/w/query/bult-in.js +1 -95
  194. package/dist/cjs/w/query/event.js +1 -137
  195. package/dist/cjs/w/query/index.js +1 -5
  196. package/dist/cjs/w/query/object.js +1 -1550
  197. package/dist/cjs/w/query/received.js +1 -62
  198. package/dist/cjs/w/query/util.js +1 -49
  199. package/dist/cjs/w/util.js +1 -587
  200. package/dist/esm/bcs/bcs.js +1 -253
  201. package/dist/esm/bcs/effects.js +1 -199
  202. package/dist/esm/bcs/index.js +1 -51
  203. package/dist/esm/bcs/pure.js +1 -36
  204. package/dist/esm/bcs/type-tag-serializer.js +1 -104
  205. package/dist/esm/bcs/types.js +1 -3
  206. package/dist/esm/client/index.js +1 -4
  207. package/dist/esm/client/network.js +1 -15
  208. package/dist/esm/cryptography/index.js +1 -6
  209. package/dist/esm/cryptography/intent.js +1 -14
  210. package/dist/esm/cryptography/keypair.js +1 -74
  211. package/dist/esm/cryptography/mnemonics.js +1 -20
  212. package/dist/esm/cryptography/publickey.js +1 -80
  213. package/dist/esm/cryptography/signature-scheme.js +1 -22
  214. package/dist/esm/cryptography/signature.js +1 -41
  215. package/dist/esm/experimental/cache.js +1 -58
  216. package/dist/esm/experimental/client.js +1 -19
  217. package/dist/esm/experimental/core.js +1 -80
  218. package/dist/esm/experimental/errors.js +1 -24
  219. package/dist/esm/experimental/index.js +1 -5
  220. package/dist/esm/experimental/persistent-storage.js +1 -220
  221. package/dist/esm/experimental/persistent-storage.test.js +1 -144
  222. package/dist/esm/experimental/transports/utils.js +1 -96
  223. package/dist/esm/experimental/types.js +1 -1
  224. package/dist/esm/faucet/faucet.js +1 -99
  225. package/dist/esm/faucet/index.js +1 -1
  226. package/dist/esm/grpc/client.js +1 -42
  227. package/dist/esm/grpc/core.js +1 -587
  228. package/dist/esm/grpc/index.js +1 -2
  229. package/dist/esm/grpc/proto/google/protobuf/any.js +1 -106
  230. package/dist/esm/grpc/proto/google/protobuf/duration.js +1 -58
  231. package/dist/esm/grpc/proto/google/protobuf/empty.js +1 -7
  232. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +1 -47
  233. package/dist/esm/grpc/proto/google/protobuf/struct.js +1 -191
  234. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +1 -91
  235. package/dist/esm/grpc/proto/google/rpc/error_details.js +1 -265
  236. package/dist/esm/grpc/proto/google/rpc/status.js +1 -23
  237. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +1 -46
  238. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +1 -29
  239. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +1 -22
  240. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +1 -54
  241. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +1 -60
  242. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +1 -144
  243. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +1 -271
  244. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +1 -64
  245. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +1 -6
  246. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +1 -62
  247. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +1 -64
  248. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +1 -481
  249. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +1 -40
  250. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +1 -61
  251. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +1 -57
  252. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +1 -39
  253. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +1 -329
  254. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +1 -447
  255. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +1 -27
  256. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +1 -206
  257. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +1 -19
  258. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +1 -109
  259. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +1 -90
  260. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +1 -30
  261. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +1 -39
  262. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +1 -30
  263. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +1 -501
  264. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +1 -10
  265. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +1 -15
  266. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +1 -62
  267. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +1 -31
  268. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +1 -504
  269. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +1 -15
  270. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +1 -37
  271. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +1 -709
  272. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1 -950
  273. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +1 -19
  274. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +1 -144
  275. package/dist/esm/index.js +1 -22
  276. package/dist/esm/jsonRpc/client.js +1 -516
  277. package/dist/esm/jsonRpc/core.js +1 -587
  278. package/dist/esm/jsonRpc/errors.js +1 -38
  279. package/dist/esm/jsonRpc/http-transport.js +1 -70
  280. package/dist/esm/jsonRpc/index.js +1 -3
  281. package/dist/esm/jsonRpc/json-rpc-resolver.js +1 -296
  282. package/dist/esm/jsonRpc/rpc-websocket-client.js +1 -155
  283. package/dist/esm/jsonRpc/types/chain.js +1 -1
  284. package/dist/esm/jsonRpc/types/changes.js +1 -1
  285. package/dist/esm/jsonRpc/types/coins.js +1 -1
  286. package/dist/esm/jsonRpc/types/common.js +1 -1
  287. package/dist/esm/jsonRpc/types/generated.js +1 -1
  288. package/dist/esm/jsonRpc/types/index.js +1 -1
  289. package/dist/esm/jsonRpc/types/params.js +1 -1
  290. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +1 -58
  291. package/dist/esm/keypairs/ed25519/index.js +1 -2
  292. package/dist/esm/keypairs/ed25519/keypair.js +1 -90
  293. package/dist/esm/keypairs/ed25519/publickey.js +1 -50
  294. package/dist/esm/keypairs/index.js +1 -4
  295. package/dist/esm/keypairs/passkey/index.js +1 -2
  296. package/dist/esm/keypairs/passkey/keypair.js +1 -155
  297. package/dist/esm/keypairs/passkey/publickey.js +1 -117
  298. package/dist/esm/keypairs/passkey/types.js +1 -1
  299. package/dist/esm/keypairs/secp256k1/index.js +1 -2
  300. package/dist/esm/keypairs/secp256k1/keypair.js +1 -82
  301. package/dist/esm/keypairs/secp256k1/publickey.js +1 -51
  302. package/dist/esm/keypairs/secp256r1/index.js +1 -2
  303. package/dist/esm/keypairs/secp256r1/keypair.js +1 -78
  304. package/dist/esm/keypairs/secp256r1/publickey.js +1 -52
  305. package/dist/esm/multisig/index.js +1 -2
  306. package/dist/esm/multisig/publickey.js +1 -201
  307. package/dist/esm/multisig/signer.js +1 -58
  308. package/dist/esm/transactions/Arguments.js +1 -9
  309. package/dist/esm/transactions/Commands.js +1 -102
  310. package/dist/esm/transactions/Inputs.js +1 -52
  311. package/dist/esm/transactions/ObjectCache.js +1 -205
  312. package/dist/esm/transactions/Transaction.js +1 -574
  313. package/dist/esm/transactions/TransactionData.js +1 -409
  314. package/dist/esm/transactions/__tests__/Transaction.test.js +1 -160
  315. package/dist/esm/transactions/__tests__/bcs.test.js +1 -182
  316. package/dist/esm/transactions/data/internal.js +1 -169
  317. package/dist/esm/transactions/data/v1.js +1 -469
  318. package/dist/esm/transactions/data/v2.js +1 -97
  319. package/dist/esm/transactions/executor/caching.js +1 -65
  320. package/dist/esm/transactions/executor/parallel.js +1 -347
  321. package/dist/esm/transactions/executor/queue.js +1 -59
  322. package/dist/esm/transactions/executor/serial.js +1 -99
  323. package/dist/esm/transactions/hash.js +1 -8
  324. package/dist/esm/transactions/index.js +1 -12
  325. package/dist/esm/transactions/intents/CoinWithBalance.js +1 -145
  326. package/dist/esm/transactions/object.js +1 -87
  327. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +1 -11
  328. package/dist/esm/transactions/pure.js +1 -36
  329. package/dist/esm/transactions/resolve.js +1 -69
  330. package/dist/esm/transactions/serializer.js +1 -167
  331. package/dist/esm/transactions/utils.js +1 -121
  332. package/dist/esm/utils/constants.js +1 -18
  333. package/dist/esm/utils/derived-objects.js +1 -8
  334. package/dist/esm/utils/dynamic-fields.js +1 -17
  335. package/dist/esm/utils/format.js +1 -11
  336. package/dist/esm/utils/index.js +1 -8
  337. package/dist/esm/utils/move-registry.js +1 -24
  338. package/dist/esm/utils/sui-types.js +1 -66
  339. package/dist/esm/utils/suins.js +1 -33
  340. package/dist/esm/verify/index.js +1 -1
  341. package/dist/esm/verify/verify.js +1 -87
  342. package/dist/esm/version.js +1 -2
  343. package/dist/esm/w/call/allocation.js +1 -345
  344. package/dist/esm/w/call/arb.js +1 -103
  345. package/dist/esm/w/call/arbitration.js +1 -1192
  346. package/dist/esm/w/call/base.js +1 -293
  347. package/dist/esm/w/call/contact.js +1 -345
  348. package/dist/esm/w/call/demand.js +1 -681
  349. package/dist/esm/w/call/entity.js +1 -173
  350. package/dist/esm/w/call/guard-ins.js +1 -4449
  351. package/dist/esm/w/call/guard.d.ts +113 -0
  352. package/dist/esm/w/call/guard.js +1 -1048
  353. package/dist/esm/w/call/index.js +1 -22
  354. package/dist/esm/w/call/machine.js +1 -1127
  355. package/dist/esm/w/call/order.js +1 -337
  356. package/dist/esm/w/call/passport.js +1 -220
  357. package/dist/esm/w/call/payment.js +1 -178
  358. package/dist/esm/w/call/permission.js +1 -1162
  359. package/dist/esm/w/call/personal.js +1 -139
  360. package/dist/esm/w/call/progress.js +1 -678
  361. package/dist/esm/w/call/proof.js +1 -66
  362. package/dist/esm/w/call/repository.js +1 -1024
  363. package/dist/esm/w/call/resource.js +1 -108
  364. package/dist/esm/w/call/reward.js +1 -675
  365. package/dist/esm/w/call/service.js +1 -1960
  366. package/dist/esm/w/call/treasury.js +1 -873
  367. package/dist/esm/w/call/util.d.ts +1 -0
  368. package/dist/esm/w/call/util.js +1 -566
  369. package/dist/esm/w/common.js +1 -571
  370. package/dist/esm/w/exception.js +1 -618
  371. package/dist/esm/w/index.js +1 -8
  372. package/dist/esm/w/local/account.js +1 -656
  373. package/dist/esm/w/local/cache.js +1 -161
  374. package/dist/esm/w/local/config.js +1 -43
  375. package/dist/esm/w/local/index.js +1 -228
  376. package/dist/esm/w/local/local.js +1 -574
  377. package/dist/esm/w/local/storage.js +1 -185
  378. package/dist/esm/w/local/token.js +1 -131
  379. package/dist/esm/w/local/util.js +1 -26
  380. package/dist/esm/w/local/wip.js +1 -864
  381. package/dist/esm/w/messenger/crypto.js +1 -380
  382. package/dist/esm/w/messenger/index.js +1 -4
  383. package/dist/esm/w/messenger/messenger-api.js +1 -1154
  384. package/dist/esm/w/messenger/messenger-manager.js +1 -1003
  385. package/dist/esm/w/messenger/messenger.js +1 -1093
  386. package/dist/esm/w/messenger/server.js +1 -343
  387. package/dist/esm/w/messenger/session.js +1 -628
  388. package/dist/esm/w/messenger/storage.js +1 -1023
  389. package/dist/esm/w/messenger/templates/wts-html-template.js +1 -371
  390. package/dist/esm/w/messenger/types.js +1 -76
  391. package/dist/esm/w/messenger/utils.js +1 -12
  392. package/dist/esm/w/query/bult-in.js +1 -95
  393. package/dist/esm/w/query/event.js +1 -137
  394. package/dist/esm/w/query/index.js +1 -5
  395. package/dist/esm/w/query/object.js +1 -1550
  396. package/dist/esm/w/query/received.js +1 -62
  397. package/dist/esm/w/query/util.js +1 -49
  398. package/dist/esm/w/util.js +1 -587
  399. package/package.json +5 -2
@@ -1,873 +1 @@
1
- import { toTxObject, toTxString, isValidDescription, MAX_DESCRIPTION_LENGTH, isValidU64, PackageAddress, IsValidArgType, GetObjectExisted, GetObject, GetObjectDescription, isValidU8, treasuryFn, } from "../common.js";
2
- import { W_ERROR, WErrors } from "../exception.js";
3
- import { ObjectType } from "../query/object.js";
4
- import { owner_receive, parseObjectType, validObjects } from "../util.js";
5
- import { CallBase, getCoinParam } from "./base.js";
6
- import { BuiltinPermissionIndex, newPermission } from "./permission.js";
7
- import { GetAccountOrMark_Address } from "../local/index.js";
8
- import { LocalMark } from "../local/local.js";
9
- import { create as permissionCreate } from "./permission.js";
10
- import { paymentInfo } from "./payment.js";
11
- import { query_received } from "../query/received.js";
12
- export class CallTreasury extends CallBase {
13
- data;
14
- object_address = undefined;
15
- permission_address = undefined;
16
- new_permission_description = undefined;
17
- parameter_type = undefined;
18
- constructor(data) {
19
- super();
20
- this.data = data;
21
- }
22
- async prepare(env) {
23
- await super.prepare(env);
24
- if (!this.object_address) {
25
- this.object_address = await GetObjectExisted(this.data?.object);
26
- }
27
- if (this.object_address) {
28
- this.content = undefined;
29
- await this.update_content(env, ObjectType.Treasury, this.object_address);
30
- if (!this.content)
31
- W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.object:" + this.object_address);
32
- this.permission_address = this.content.permission;
33
- this.parameter_type = parseObjectType(this.content.type_raw, "treasury::Treasury");
34
- if (!this.permission_address) {
35
- W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.object.permission is empty");
36
- }
37
- if (!IsValidArgType(this.parameter_type)) {
38
- W_ERROR(WErrors.IsValidArgType, "CallTreasury_Data.data.object.type_parameter is empty");
39
- }
40
- }
41
- else {
42
- const n = GetObject(this.data.object);
43
- this.permission_address = await GetObjectExisted(n?.permission);
44
- this.new_permission_description = GetObjectDescription(n?.permission);
45
- this.parameter_type = n?.type_parameter;
46
- if (!IsValidArgType(this.parameter_type)) {
47
- W_ERROR(WErrors.IsValidArgType, "CallTreasury_Data.data.object.type_parameter invalid");
48
- }
49
- }
50
- }
51
- async call(env) {
52
- await this.prepare(env);
53
- const guards = [];
54
- const perms = [];
55
- const add_guard = (guard) => {
56
- if (!guards.includes(guard)) {
57
- guards.push(guard);
58
- }
59
- };
60
- const add_perm = (index) => {
61
- if (this.permission_address && !perms.includes(index)) {
62
- perms.push(index);
63
- }
64
- };
65
- if (this.permission_address && !this.object_address) {
66
- add_perm(BuiltinPermissionIndex.TREASURY_NEW);
67
- }
68
- if (this.permission_address &&
69
- this.data?.description != null &&
70
- this.object_address) {
71
- add_perm(BuiltinPermissionIndex.TREASURY_DESCRIPTION);
72
- }
73
- if (this.permission_address && this.data?.receive != null) {
74
- add_perm(BuiltinPermissionIndex.TREASURY_RECEIVE);
75
- }
76
- if (this.data?.deposit != null) {
77
- if (this.data.deposit.by_external_deposit_guard) {
78
- const guard = await LocalMark.Instance().get_address(this.data.deposit.by_external_deposit_guard);
79
- if (guard) {
80
- add_guard(guard);
81
- this.data.deposit.by_external_deposit_guard = guard;
82
- }
83
- else {
84
- W_ERROR(WErrors.InvalidParam, `external_deposit_guard ${this.data.deposit.by_external_deposit_guard} not found`);
85
- }
86
- }
87
- else {
88
- if (this.permission_address) {
89
- add_perm(BuiltinPermissionIndex.TREASURY_DEPOSIT);
90
- }
91
- }
92
- }
93
- if (this.data?.withdraw != null) {
94
- const withdraw = this.data.withdraw;
95
- if (withdraw && withdraw.amount) {
96
- if ("fixed" in withdraw.amount) {
97
- if (this.permission_address) {
98
- add_perm(BuiltinPermissionIndex.TREASURY_WITHDRAW);
99
- }
100
- }
101
- else if ("by_external_withdraw_guard" in withdraw.amount) {
102
- const guard = await LocalMark.Instance().get_address(withdraw.amount.by_external_withdraw_guard);
103
- if (guard) {
104
- withdraw.amount.by_external_withdraw_guard = guard;
105
- add_guard(guard);
106
- }
107
- else {
108
- W_ERROR(WErrors.InvalidParam, `by_external_withdraw_guard ${withdraw.amount.by_external_withdraw_guard} not found`);
109
- }
110
- }
111
- }
112
- }
113
- if (this.permission_address &&
114
- this.data?.external_deposit_guard != null) {
115
- add_perm(BuiltinPermissionIndex.TREASURY_EXTERNAL_DEPOSIT_GUARD);
116
- }
117
- if (this.permission_address &&
118
- this.data?.external_withdraw_guard != null) {
119
- add_perm(BuiltinPermissionIndex.TREASURY_EXTERNAL_WITHDRAW_GUARD);
120
- }
121
- if (this.permission_address && this.data?.owner_receive != null) {
122
- add_perm(BuiltinPermissionIndex.TREASURY_OWNER_RECEIVE);
123
- }
124
- if (this.permission_address && this.data?.um !== undefined) {
125
- add_perm(BuiltinPermissionIndex.TREASURY_UM);
126
- }
127
- if (this.permission_address || guards.length > 0) {
128
- return await this.check_permission_and_call(env, this.permission_address, perms, guards);
129
- }
130
- return await this.exec(env);
131
- }
132
- async operate(env, tx, passport, submission) {
133
- let permission = this.permission_address;
134
- let object = this.object_address;
135
- const content = this.content;
136
- if (!this.object_address) {
137
- if (!permission) {
138
- permission = newPermission(tx, this.new_permission_description ?? "");
139
- }
140
- if (permission && this.parameter_type) {
141
- object = newTreasury(tx, this.parameter_type, permission, this.data?.description ?? "", passport);
142
- }
143
- }
144
- if (!object || !permission) {
145
- W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.object:" + this.object_address);
146
- }
147
- if (this.data.description != null && !this.object_address) {
148
- description_set(tx, object, this.parameter_type, permission, this.data.description, passport);
149
- }
150
- if (this.data.receive != null && this.object_address) {
151
- if (this.data.receive === "recently") {
152
- const received = await query_received({
153
- object: this.object_address,
154
- network: env.network,
155
- no_cache: env.no_cache,
156
- });
157
- if (Array.isArray(received)) {
158
- W_ERROR(WErrors.InvalidParam, "CallAllocation_Data.data.received_coins: received is ReceivedNormal[]");
159
- }
160
- else {
161
- this.data.receive = received;
162
- }
163
- }
164
- if (typeof this.data.receive === "object" &&
165
- "received" in this.data.receive &&
166
- this.data.receive.received?.length > 0) {
167
- if (this.data.receive.token_type !== this.parameter_type) {
168
- W_ERROR(WErrors.InvalidParam, `token_type ${this.data.receive.token_type} is not equal to parameter_type ${this.parameter_type}`);
169
- }
170
- for (const item of this.data.receive.received) {
171
- const [received_object, payment_object] = await Promise.all([
172
- LocalMark.Instance().get_address(item.id),
173
- LocalMark.Instance().get_address(item.payment),
174
- ]);
175
- if (received_object && payment_object) {
176
- receive(tx, object, this.parameter_type, permission, received_object, payment_object, passport);
177
- }
178
- else {
179
- W_ERROR(WErrors.IsValidArgType, `Receive object ${item.id} or payment object ${item.payment} not found`);
180
- }
181
- }
182
- }
183
- }
184
- if (this.data.deposit != null) {
185
- if (this.data.deposit.by_external_deposit_guard) {
186
- if (!passport) {
187
- W_ERROR(WErrors.InvalidParam, "Passport is required for external deposit");
188
- }
189
- 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);
190
- }
191
- else {
192
- 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);
193
- }
194
- }
195
- if (this.data.withdraw != null && this.data.withdraw.amount) {
196
- if ("fixed" in this.data.withdraw.amount) {
197
- 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);
198
- }
199
- else if ("by_external_withdraw_guard" in this.data.withdraw.amount) {
200
- if (!passport) {
201
- W_ERROR(WErrors.InvalidParam, "Passport is required for external withdraw");
202
- }
203
- 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);
204
- }
205
- }
206
- if (this.data.external_deposit_guard != null) {
207
- switch (this.data.external_deposit_guard.op) {
208
- case "add":
209
- case "set": {
210
- if (this.data.external_deposit_guard.op === "set") {
211
- external_deposit_guard_clear(tx, object, this.parameter_type, permission, passport);
212
- }
213
- await external_deposit_guard_add(tx, object, this.parameter_type, permission, this.data.external_deposit_guard.guards, MAX_EXTERNAL_DEPOSIT_GUARD_COUNT -
214
- (content?.external_deposit_guard?.length ?? 0), passport);
215
- break;
216
- }
217
- case "remove": {
218
- await external_deposit_guard_remove(tx, object, this.parameter_type, permission, this.data.external_deposit_guard.guards, MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport);
219
- break;
220
- }
221
- case "clear": {
222
- external_deposit_guard_clear(tx, object, this.parameter_type, permission, passport);
223
- break;
224
- }
225
- }
226
- }
227
- if (this.data.external_withdraw_guard != null) {
228
- switch (this.data.external_withdraw_guard.op) {
229
- case "add":
230
- case "set": {
231
- if (this.data.external_withdraw_guard.op === "set") {
232
- external_withdraw_guard_clear(tx, object, this.parameter_type, permission, passport);
233
- }
234
- await external_withdraw_guard_add(tx, object, this.parameter_type, permission, this.data.external_withdraw_guard.guards, MAX_EXTERNAL_WITHDRAW_GUARD_COUNT -
235
- (content?.external_withdraw_guard?.length ?? 0), passport);
236
- break;
237
- }
238
- case "remove": {
239
- await external_withdraw_guard_remove(tx, object, this.parameter_type, permission, this.data.external_withdraw_guard.guards, MAX_EXTERNAL_WITHDRAW_GUARD_COUNT, passport);
240
- break;
241
- }
242
- case "clear": {
243
- external_withdraw_guard_clear(tx, object, this.parameter_type, permission, passport);
244
- break;
245
- }
246
- }
247
- }
248
- if (this.data.owner_receive != null && this.object_address) {
249
- if (this.data.owner_receive === "recently") {
250
- this.data.owner_receive = await query_received({
251
- object: this.object_address,
252
- all_type: true,
253
- network: env.network,
254
- no_cache: env.no_cache,
255
- });
256
- }
257
- await owner_receive(tx, object, permission, this.data.owner_receive, this.parameter_type, (name) => `${PackageAddress}::treasury::${name}`, passport);
258
- }
259
- if (this.data.um !== undefined) {
260
- let um_address = null;
261
- if (this.data.um) {
262
- um_address =
263
- (await LocalMark.Instance().get_address(this.data.um)) ||
264
- null;
265
- if (!um_address) {
266
- W_ERROR(WErrors.InvalidParam, "CallTreasury_Data.data.um:" + this.data.um);
267
- }
268
- }
269
- um_set(tx, object, this.parameter_type, permission, um_address, passport);
270
- }
271
- if (!this.permission_address) {
272
- const p = GetObject(this.data?.object);
273
- await this.new_with_mark(env, tx, ObjectType.Permission, permissionCreate(tx, permission), GetObject(p.permission));
274
- }
275
- if (!this.object_address) {
276
- await this.new_with_mark(env, tx, ObjectType.Treasury, create(tx, object, this.parameter_type), GetObject(this.data?.object));
277
- }
278
- }
279
- }
280
- export const MAX_EXTERNAL_DEPOSIT_GUARD_COUNT = 100;
281
- export const MAX_EXTERNAL_WITHDRAW_GUARD_COUNT = 200;
282
- export function newTreasury(tx, treasury_type, permission, description, passport) {
283
- validObjects([permission, passport]);
284
- if (typeof description === "string" && !isValidDescription(description)) {
285
- W_ERROR(WErrors.IsValidDescription, `Description exceeds maximum length ${MAX_DESCRIPTION_LENGTH}`);
286
- }
287
- if (!IsValidArgType(treasury_type)) {
288
- W_ERROR(WErrors.InvalidParam, `New treasury type ${treasury_type} is not valid`);
289
- }
290
- if (passport) {
291
- return tx.moveCall({
292
- target: treasuryFn("new_with_passport"),
293
- arguments: [
294
- toTxObject(tx, permission),
295
- toTxObject(tx, passport),
296
- toTxString(tx, description),
297
- tx.object.mutRegistrar(),
298
- tx.object.clock(),
299
- ],
300
- typeArguments: [treasury_type],
301
- });
302
- }
303
- else {
304
- return tx.moveCall({
305
- target: treasuryFn("new"),
306
- arguments: [
307
- toTxObject(tx, permission),
308
- toTxString(tx, description),
309
- tx.object.mutRegistrar(),
310
- tx.object.clock(),
311
- ],
312
- typeArguments: [treasury_type],
313
- });
314
- }
315
- }
316
- export function description_set(tx, treasury, treasury_type, permission, description, passport) {
317
- validObjects([treasury, permission, passport]);
318
- if (typeof description === "string" && !isValidDescription(description)) {
319
- W_ERROR(WErrors.IsValidDescription, `Description exceeds maximum length ${MAX_DESCRIPTION_LENGTH}`);
320
- }
321
- if (!IsValidArgType(treasury_type)) {
322
- W_ERROR(WErrors.InvalidParam, `Description set treasury type ${treasury_type} is not valid`);
323
- }
324
- if (passport) {
325
- tx.moveCall({
326
- target: treasuryFn("description_set_with_passport"),
327
- arguments: [
328
- toTxObject(tx, treasury),
329
- toTxObject(tx, permission),
330
- toTxObject(tx, passport),
331
- toTxString(tx, description),
332
- ],
333
- typeArguments: [treasury_type],
334
- });
335
- }
336
- else {
337
- tx.moveCall({
338
- target: treasuryFn("description_set"),
339
- arguments: [
340
- toTxObject(tx, treasury),
341
- toTxObject(tx, permission),
342
- toTxString(tx, description),
343
- ],
344
- typeArguments: [treasury_type],
345
- });
346
- }
347
- }
348
- export async function deposit(env, tx, treasury, treasury_type, permission, coin, payment_info, passport) {
349
- validObjects([treasury, permission, passport]);
350
- if (!IsValidArgType(treasury_type)) {
351
- W_ERROR(WErrors.InvalidParam, `Deposit treasury type ${treasury_type} is not valid`);
352
- }
353
- const c = await getCoinParam(env, tx, coin, treasury_type);
354
- const p = await paymentInfo(env, tx, payment_info);
355
- if (passport) {
356
- return tx.moveCall({
357
- target: treasuryFn("deposit_with_passport"),
358
- arguments: [
359
- toTxObject(tx, treasury),
360
- toTxObject(tx, permission),
361
- toTxObject(tx, passport),
362
- c,
363
- p,
364
- tx.object.mutRegistrar(),
365
- tx.object.clock(),
366
- ],
367
- typeArguments: [treasury_type],
368
- });
369
- }
370
- else {
371
- return tx.moveCall({
372
- target: treasuryFn("deposit"),
373
- arguments: [
374
- toTxObject(tx, treasury),
375
- toTxObject(tx, permission),
376
- c,
377
- p,
378
- tx.object.mutRegistrar(),
379
- tx.object.clock(),
380
- ],
381
- typeArguments: [treasury_type],
382
- });
383
- }
384
- }
385
- export async function withdraw(env, tx, treasury, treasury_type, permission, amount, recipient, payment_info, passport) {
386
- validObjects([treasury, permission, passport]);
387
- if (!IsValidArgType(treasury_type)) {
388
- W_ERROR(WErrors.InvalidParam, `Withdraw treasury type ${treasury_type} is not valid`);
389
- }
390
- if (!isValidU64(amount)) {
391
- W_ERROR(WErrors.IsValidU64, `Amount ${amount} is not valid`);
392
- }
393
- const r = await GetAccountOrMark_Address(recipient);
394
- if (!r) {
395
- W_ERROR(WErrors.InvalidParam, `Recipient ${recipient} is not valid`);
396
- }
397
- const p = await paymentInfo(env, tx, payment_info);
398
- if (passport) {
399
- return tx.moveCall({
400
- target: treasuryFn("withdraw_with_passport"),
401
- arguments: [
402
- toTxObject(tx, treasury),
403
- toTxObject(tx, permission),
404
- toTxObject(tx, passport),
405
- tx.pure.u64(amount),
406
- tx.pure.address(r),
407
- p,
408
- tx.object.mutRegistrar(),
409
- tx.object.clock(),
410
- ],
411
- typeArguments: [treasury_type],
412
- });
413
- }
414
- else {
415
- return tx.moveCall({
416
- target: treasuryFn("withdraw"),
417
- arguments: [
418
- toTxObject(tx, treasury),
419
- toTxObject(tx, permission),
420
- tx.pure.u64(amount),
421
- tx.pure.address(r),
422
- p,
423
- tx.object.mutRegistrar(),
424
- tx.object.clock(),
425
- ],
426
- typeArguments: [treasury_type],
427
- });
428
- }
429
- }
430
- export async function external_deposit_guard_add(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
431
- if (guards.length === 0) {
432
- return;
433
- }
434
- if (guards.length > counts) {
435
- W_ERROR(WErrors.InvalidParam, `External deposit guard add guards count ${guards.length} exceeds maximum ${counts}`);
436
- }
437
- validObjects([treasury, permission, passport]);
438
- if (!IsValidArgType(treasury_type)) {
439
- W_ERROR(WErrors.InvalidParam, `External deposit guard add treasury type ${treasury_type} is not valid`);
440
- }
441
- const g = await Promise.all(guards.map(async (item) => {
442
- const guard = await LocalMark.Instance().get_address(item.guard);
443
- if (!guard) {
444
- W_ERROR(WErrors.InvalidParam, `External deposit guard add guard ${item.guard} is not valid`);
445
- }
446
- if (item.identifier && !isValidU8(item.identifier)) {
447
- W_ERROR(WErrors.IsValidU8, `External deposit guard add identifier ${item.identifier} is not optional u8`);
448
- }
449
- if (item.store_from_id && !isValidU8(item.store_from_id)) {
450
- W_ERROR(WErrors.IsValidU8, `External deposit guard add store_from_id ${item.store_from_id} is not optional u8`);
451
- }
452
- return {
453
- guard: item.guard,
454
- identifier: item.identifier,
455
- store_from_id: item.store_from_id,
456
- guard_addr: guard,
457
- };
458
- }));
459
- const invalidGuards = g.filter((item) => !item.guard_addr);
460
- if (invalidGuards.length > 0) {
461
- W_ERROR(WErrors.InvalidParam, `External deposit guard add has invalid guards with empty guard_addr: ${JSON.stringify(invalidGuards)}`);
462
- }
463
- g.filter((item) => item.guard_addr !== undefined)
464
- .map((item) => ({
465
- guard: item.guard_addr,
466
- identifier: item.identifier !== undefined ? item.identifier : null,
467
- store_from_id: item.store_from_id !== undefined ? item.store_from_id : null,
468
- }))
469
- .forEach((item) => {
470
- if (passport) {
471
- tx.moveCall({
472
- target: treasuryFn("external_deposit_guard_add_with_passport"),
473
- arguments: [
474
- toTxObject(tx, treasury),
475
- toTxObject(tx, permission),
476
- toTxObject(tx, passport),
477
- toTxObject(tx, item.guard),
478
- tx.pure.option("u8", item.identifier),
479
- tx.pure.option("u8", item.store_from_id),
480
- tx.object.mutRegistrar(),
481
- tx.object.clock(),
482
- ],
483
- typeArguments: [treasury_type],
484
- });
485
- }
486
- else {
487
- tx.moveCall({
488
- target: treasuryFn("external_deposit_guard_add"),
489
- arguments: [
490
- toTxObject(tx, treasury),
491
- toTxObject(tx, permission),
492
- toTxObject(tx, item.guard),
493
- tx.pure.option("u8", item.identifier),
494
- tx.pure.option("u8", item.store_from_id),
495
- tx.object.mutRegistrar(),
496
- tx.object.clock(),
497
- ],
498
- typeArguments: [treasury_type],
499
- });
500
- }
501
- });
502
- }
503
- export async function external_deposit_guard_remove(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
504
- guards = await LocalMark.Instance().get_many_address_availables(guards);
505
- if (guards.length === 0) {
506
- return;
507
- }
508
- if (guards.length > counts) {
509
- W_ERROR(WErrors.InvalidParam, `External deposit guard remove guards count ${guards.length} exceeds maximum ${counts}`);
510
- }
511
- validObjects([treasury, permission, passport, ...guards]);
512
- if (!IsValidArgType(treasury_type)) {
513
- W_ERROR(WErrors.InvalidParam, `External deposit guard remove treasury type ${treasury_type} is not valid`);
514
- }
515
- if (passport) {
516
- tx.moveCall({
517
- target: treasuryFn("external_deposit_guard_remove_with_passport"),
518
- arguments: [
519
- toTxObject(tx, treasury),
520
- toTxObject(tx, permission),
521
- toTxObject(tx, passport),
522
- tx.pure.vector("address", guards),
523
- tx.object.mutRegistrar(),
524
- ],
525
- typeArguments: [treasury_type],
526
- });
527
- }
528
- else {
529
- tx.moveCall({
530
- target: treasuryFn("external_deposit_guard_remove"),
531
- arguments: [
532
- toTxObject(tx, treasury),
533
- toTxObject(tx, permission),
534
- tx.pure.vector("address", guards),
535
- tx.object.mutRegistrar(),
536
- ],
537
- typeArguments: [treasury_type],
538
- });
539
- }
540
- }
541
- export function external_deposit_guard_clear(tx, treasury, treasury_type, permission, passport) {
542
- validObjects([treasury, permission, passport]);
543
- if (!IsValidArgType(treasury_type)) {
544
- W_ERROR(WErrors.InvalidParam, `External deposit guard clear treasury type ${treasury_type} is not valid`);
545
- }
546
- if (passport) {
547
- tx.moveCall({
548
- target: treasuryFn("external_deposit_guard_clear_with_passport"),
549
- arguments: [
550
- toTxObject(tx, treasury),
551
- toTxObject(tx, permission),
552
- toTxObject(tx, passport),
553
- tx.object.mutRegistrar(),
554
- ],
555
- typeArguments: [treasury_type],
556
- });
557
- }
558
- else {
559
- tx.moveCall({
560
- target: treasuryFn("external_deposit_guard_clear"),
561
- arguments: [
562
- toTxObject(tx, treasury),
563
- toTxObject(tx, permission),
564
- tx.object.mutRegistrar(),
565
- ],
566
- typeArguments: [treasury_type],
567
- });
568
- }
569
- }
570
- export async function external_withdraw_guard_add(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
571
- if (guards.length === 0) {
572
- return;
573
- }
574
- if (guards.length > counts) {
575
- W_ERROR(WErrors.InvalidParam, `External withdraw guard add guards count ${guards.length} exceeds maximum ${counts}`);
576
- }
577
- validObjects([treasury, permission, passport]);
578
- if (!IsValidArgType(treasury_type)) {
579
- W_ERROR(WErrors.InvalidParam, `External withdraw guard add treasury type ${treasury_type} is not valid`);
580
- }
581
- const g = await Promise.all(guards.map(async (item) => {
582
- const guard = await LocalMark.Instance().get_address(item.guard);
583
- if (!guard) {
584
- W_ERROR(WErrors.InvalidParam, `External withdraw guard add guard ${item.guard} is not valid`);
585
- }
586
- if (!isValidU8(item.identifier)) {
587
- W_ERROR(WErrors.IsValidU8, `External withdraw guard add identifier ${item.identifier} is not optional u8`);
588
- }
589
- if (item.store_from_id && !isValidU8(item.store_from_id)) {
590
- W_ERROR(WErrors.IsValidU8, `External withdraw guard add store_from_id ${item.store_from_id} is not optional u8`);
591
- }
592
- return {
593
- guard: item.guard,
594
- identifier: item.identifier,
595
- store_from_id: item.store_from_id,
596
- guard_addr: guard,
597
- };
598
- }));
599
- const invalidGuards = g.filter((item) => !item.guard_addr);
600
- if (invalidGuards.length > 0) {
601
- W_ERROR(WErrors.InvalidParam, `External withdraw guard add has invalid guards with empty guard_addr: ${JSON.stringify(invalidGuards)}`);
602
- }
603
- g.filter((item) => item.guard_addr !== undefined)
604
- .map((item) => ({
605
- guard: item.guard_addr,
606
- identifier: item.identifier,
607
- store_from_id: item.store_from_id !== undefined ? item.store_from_id : null,
608
- }))
609
- .forEach((item) => {
610
- if (passport) {
611
- tx.moveCall({
612
- target: treasuryFn("external_withdraw_guard_add_with_passport"),
613
- arguments: [
614
- toTxObject(tx, treasury),
615
- toTxObject(tx, permission),
616
- toTxObject(tx, passport),
617
- toTxObject(tx, item.guard),
618
- tx.pure.u8(item.identifier),
619
- tx.pure.option("u8", item.store_from_id),
620
- tx.object.mutRegistrar(),
621
- tx.object.clock(),
622
- ],
623
- typeArguments: [treasury_type],
624
- });
625
- }
626
- else {
627
- tx.moveCall({
628
- target: treasuryFn("external_withdraw_guard_add"),
629
- arguments: [
630
- toTxObject(tx, treasury),
631
- toTxObject(tx, permission),
632
- toTxObject(tx, item.guard),
633
- tx.pure.u8(item.identifier),
634
- tx.pure.option("u8", item.store_from_id),
635
- tx.object.mutRegistrar(),
636
- tx.object.clock(),
637
- ],
638
- typeArguments: [treasury_type],
639
- });
640
- }
641
- });
642
- }
643
- export async function external_withdraw_guard_remove(tx, treasury, treasury_type, permission, guards, counts = MAX_EXTERNAL_DEPOSIT_GUARD_COUNT, passport) {
644
- guards = await LocalMark.Instance().get_many_address_availables(guards);
645
- if (guards.length === 0) {
646
- return;
647
- }
648
- if (guards.length > counts) {
649
- W_ERROR(WErrors.InvalidParam, `External withdraw guard remove guards count ${guards.length} exceeds maximum ${counts}`);
650
- }
651
- validObjects([treasury, permission, passport]);
652
- if (!IsValidArgType(treasury_type)) {
653
- W_ERROR(WErrors.InvalidParam, `External withdraw guard remove treasury type ${treasury_type} is not valid`);
654
- }
655
- if (passport) {
656
- tx.moveCall({
657
- target: treasuryFn("external_withdraw_guard_remove_with_passport"),
658
- arguments: [
659
- toTxObject(tx, treasury),
660
- toTxObject(tx, permission),
661
- toTxObject(tx, passport),
662
- tx.pure.vector("address", guards),
663
- tx.object.mutRegistrar(),
664
- ],
665
- typeArguments: [treasury_type],
666
- });
667
- }
668
- else {
669
- tx.moveCall({
670
- target: treasuryFn("external_withdraw_guard_remove"),
671
- arguments: [
672
- toTxObject(tx, treasury),
673
- toTxObject(tx, permission),
674
- tx.pure.vector("address", guards),
675
- tx.object.mutRegistrar(),
676
- ],
677
- typeArguments: [treasury_type],
678
- });
679
- }
680
- }
681
- export function external_withdraw_guard_clear(tx, treasury, treasury_type, permission, passport) {
682
- validObjects([treasury, permission, passport]);
683
- if (!IsValidArgType(treasury_type)) {
684
- W_ERROR(WErrors.InvalidParam, `External withdraw guard clear treasury type ${treasury_type} is not valid`);
685
- }
686
- if (passport) {
687
- tx.moveCall({
688
- target: treasuryFn("external_withdraw_guard_clear_with_passport"),
689
- arguments: [
690
- toTxObject(tx, treasury),
691
- toTxObject(tx, permission),
692
- toTxObject(tx, passport),
693
- tx.object.mutRegistrar(),
694
- ],
695
- typeArguments: [treasury_type],
696
- });
697
- }
698
- else {
699
- tx.moveCall({
700
- target: treasuryFn("external_withdraw_guard_clear"),
701
- arguments: [
702
- toTxObject(tx, treasury),
703
- toTxObject(tx, permission),
704
- tx.object.mutRegistrar(),
705
- ],
706
- typeArguments: [treasury_type],
707
- });
708
- }
709
- }
710
- export function create(tx, treasury, treasury_type) {
711
- validObjects([treasury]);
712
- if (!IsValidArgType(treasury_type)) {
713
- W_ERROR(WErrors.InvalidParam, `Create treasury type ${treasury_type} is not valid`);
714
- }
715
- return tx.moveCall({
716
- target: treasuryFn("create"),
717
- arguments: [toTxObject(tx, treasury)],
718
- typeArguments: [treasury_type],
719
- });
720
- }
721
- export async function external_deposit(env, tx, treasury, treasury_type, passport, external_deposit_guard, coin, payment_info) {
722
- validObjects([treasury, passport]);
723
- if (!IsValidArgType(treasury_type)) {
724
- W_ERROR(WErrors.InvalidParam, `External deposit treasury type ${treasury_type} is not valid`);
725
- }
726
- const [c, p, guard] = await Promise.all([
727
- getCoinParam(env, tx, coin, treasury_type),
728
- paymentInfo(env, tx, payment_info),
729
- LocalMark.Instance().get_address(external_deposit_guard),
730
- ]);
731
- if (!guard) {
732
- W_ERROR(WErrors.InvalidParam, `External deposit guard ${external_deposit_guard} is not valid`);
733
- }
734
- return tx.moveCall({
735
- target: treasuryFn("external_deposit"),
736
- arguments: [
737
- toTxObject(tx, treasury),
738
- toTxObject(tx, passport),
739
- toTxObject(tx, guard),
740
- c,
741
- p,
742
- tx.object.mutRegistrar(),
743
- tx.object.clock(),
744
- ],
745
- typeArguments: [treasury_type],
746
- });
747
- }
748
- export async function external_withdraw(env, tx, treasury, treasury_type, passport, external_withdraw_guard, recipient, payment_info) {
749
- validObjects([treasury, passport]);
750
- if (!IsValidArgType(treasury_type)) {
751
- W_ERROR(WErrors.InvalidParam, `External withdraw treasury type ${treasury_type} is not valid`);
752
- }
753
- const [p, guard, recipient_addr] = await Promise.all([
754
- paymentInfo(env, tx, payment_info),
755
- LocalMark.Instance().get_address(external_withdraw_guard),
756
- GetAccountOrMark_Address(recipient),
757
- ]);
758
- if (!guard) {
759
- W_ERROR(WErrors.InvalidParam, `External withdraw guard ${external_withdraw_guard} is not valid`);
760
- }
761
- if (!recipient_addr) {
762
- W_ERROR(WErrors.InvalidParam, `External withdraw recipient ${recipient} is not valid`);
763
- }
764
- return tx.moveCall({
765
- target: treasuryFn("external_withdraw"),
766
- arguments: [
767
- toTxObject(tx, treasury),
768
- toTxObject(tx, passport),
769
- toTxObject(tx, guard),
770
- tx.pure.address(recipient_addr),
771
- p,
772
- tx.object.mutRegistrar(),
773
- tx.object.clock(),
774
- ],
775
- typeArguments: [treasury_type],
776
- });
777
- }
778
- export function receive(tx, treasury, treasury_type, permission, received, payment, passport) {
779
- if (!payment) {
780
- W_ERROR(WErrors.InvalidParam, `Treasury receive payment is required`);
781
- }
782
- validObjects([treasury, permission, received, payment, passport]);
783
- if (!IsValidArgType(treasury_type)) {
784
- W_ERROR(WErrors.InvalidParam, `Treasury receive treasury type ${treasury_type} is not valid`);
785
- }
786
- if (passport) {
787
- tx.moveCall({
788
- target: treasuryFn("receive_with_passport"),
789
- arguments: [
790
- toTxObject(tx, treasury),
791
- toTxObject(tx, permission),
792
- toTxObject(tx, passport),
793
- toTxObject(tx, received),
794
- toTxObject(tx, payment),
795
- tx.object.clock(),
796
- ],
797
- typeArguments: [treasury_type],
798
- });
799
- }
800
- else {
801
- tx.moveCall({
802
- target: treasuryFn("receive"),
803
- arguments: [
804
- toTxObject(tx, treasury),
805
- toTxObject(tx, permission),
806
- toTxObject(tx, received),
807
- toTxObject(tx, payment),
808
- tx.object.clock(),
809
- ],
810
- typeArguments: [treasury_type],
811
- });
812
- }
813
- }
814
- export function um_set(tx, treasury, treasury_type, permission, um, passport) {
815
- validObjects([treasury, permission]);
816
- if (!IsValidArgType(treasury_type)) {
817
- W_ERROR(WErrors.InvalidParam, `Treasury type ${treasury_type} is not valid`);
818
- }
819
- if (um) {
820
- if (passport) {
821
- tx.moveCall({
822
- target: treasuryFn(`um_set_with_passport`),
823
- arguments: [
824
- toTxObject(tx, treasury),
825
- toTxObject(tx, permission),
826
- passport,
827
- toTxObject(tx, um),
828
- tx.object.mutRegistrar(),
829
- tx.object.clock(),
830
- ],
831
- typeArguments: [treasury_type],
832
- });
833
- }
834
- else {
835
- tx.moveCall({
836
- target: treasuryFn(`um_set`),
837
- arguments: [
838
- toTxObject(tx, treasury),
839
- toTxObject(tx, permission),
840
- toTxObject(tx, um),
841
- tx.object.mutRegistrar(),
842
- tx.object.clock(),
843
- ],
844
- typeArguments: [treasury_type],
845
- });
846
- }
847
- }
848
- else {
849
- if (passport) {
850
- tx.moveCall({
851
- target: treasuryFn(`um_none_with_passport`),
852
- arguments: [
853
- toTxObject(tx, treasury),
854
- toTxObject(tx, permission),
855
- passport,
856
- tx.object.mutRegistrar(),
857
- ],
858
- typeArguments: [treasury_type],
859
- });
860
- }
861
- else {
862
- tx.moveCall({
863
- target: treasuryFn(`um_none`),
864
- arguments: [
865
- toTxObject(tx, treasury),
866
- toTxObject(tx, permission),
867
- tx.object.mutRegistrar(),
868
- ],
869
- typeArguments: [treasury_type],
870
- });
871
- }
872
- }
873
- }
1
+ import{toTxObject,toTxString,isValidDescription,MAX_DESCRIPTION_LENGTH,isValidU64,PackageAddress,IsValidArgType,GetObjectExisted,GetObject,GetObjectDescription,isValidU8,treasuryFn}from'../common.js';import{W_ERROR,WErrors}from'../exception.js';import{ObjectType}from'../query/object.js';import{owner_receive,parseObjectType,validObjects}from'../util.js';import{CallBase,getCoinParam}from'./base.js';import{BuiltinPermissionIndex,newPermission}from'./permission.js';import{GetAccountOrMark_Address}from'../local/index.js';import{LocalMark}from'../local/local.js';import{create as a165a}from'./permission.js';import{paymentInfo}from'./payment.js';import{query_received}from'../query/received.js';export class CallTreasury extends CallBase{['data'];['object_address']=undefined;['permission_address']=undefined;['new_permission_description']=undefined;['parameter_type']=undefined;constructor(a){super(),this['data']=a;}async['prepare'](a){await super['prepare'](a);!this['object_address']&&(this['object_address']=await GetObjectExisted(this['data']?.['object']));if(this['object_address']){this['content']=undefined,await this['update_content'](a,ObjectType['Treasury'],this['object_address']);if(!this['content'])W_ERROR(WErrors['InvalidParam'],'CallTreasury_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'],this['parameter_type']=parseObjectType(this['content']['type_raw'],'treasury::Treasury'),!this['permission_address']&&W_ERROR(WErrors['InvalidParam'],'CallTreasury_Data.data.object.permission\x20is\x20empty'),!IsValidArgType(this['parameter_type'])&&W_ERROR(WErrors['IsValidArgType'],'CallTreasury_Data.data.object.type_parameter\x20is\x20empty');}else{const b=GetObject(this['data']['object']);this['permission_address']=await GetObjectExisted(b?.['permission']),this['new_permission_description']=GetObjectDescription(b?.['permission']),this['parameter_type']=b?.['type_parameter'],!IsValidArgType(this['parameter_type'])&&W_ERROR(WErrors['IsValidArgType'],'CallTreasury_Data.data.object.type_parameter\x20invalid');}}async['call'](a){await this['prepare'](a);const b=[],c=[],d=f=>{!b['includes'](f)&&b['push'](f);},e=f=>{this['permission_address']&&!c['includes'](f)&&c['push'](f);};this['permission_address']&&!this['object_address']&&e(BuiltinPermissionIndex['TREASURY_NEW']);this['permission_address']&&this['data']?.['description']!=null&&this['object_address']&&e(BuiltinPermissionIndex['TREASURY_DESCRIPTION']);this['permission_address']&&this['data']?.['receive']!=null&&e(BuiltinPermissionIndex['TREASURY_RECEIVE']);if(this['data']?.['deposit']!=null){if(this['data']['deposit']['by_external_deposit_guard']){const f=await LocalMark['Instance']()['get_address'](this['data']['deposit']['by_external_deposit_guard']);f?(d(f),this['data']['deposit']['by_external_deposit_guard']=f):W_ERROR(WErrors['InvalidParam'],'external_deposit_guard\x20'+this['data']['deposit']['by_external_deposit_guard']+'\x20not\x20found');}else this['permission_address']&&e(BuiltinPermissionIndex['TREASURY_DEPOSIT']);}if(this['data']?.['withdraw']!=null){const g=this['data']['withdraw'];if(g&&g['amount']){if('fixed'in g['amount'])this['permission_address']&&e(BuiltinPermissionIndex['TREASURY_WITHDRAW']);else{if('by_external_withdraw_guard'in g['amount']){const h=await LocalMark['Instance']()['get_address'](g['amount']['by_external_withdraw_guard']);h?(g['amount']['by_external_withdraw_guard']=h,d(h)):W_ERROR(WErrors['InvalidParam'],'by_external_withdraw_guard\x20'+g['amount']['by_external_withdraw_guard']+'\x20not\x20found');}}}}this['permission_address']&&this['data']?.['external_deposit_guard']!=null&&e(BuiltinPermissionIndex['TREASURY_EXTERNAL_DEPOSIT_GUARD']);this['permission_address']&&this['data']?.['external_withdraw_guard']!=null&&e(BuiltinPermissionIndex['TREASURY_EXTERNAL_WITHDRAW_GUARD']);this['permission_address']&&this['data']?.['owner_receive']!=null&&e(BuiltinPermissionIndex['TREASURY_OWNER_RECEIVE']);this['permission_address']&&this['data']?.['um']!==undefined&&e(BuiltinPermissionIndex['TREASURY_UM']);if(this['permission_address']||b['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],c,b);return await this['exec'](a);}async['operate'](a,b,c,d){let e=this['permission_address'],f=this['object_address'];const g=this['content'];!this['object_address']&&(!e&&(e=newPermission(b,this['new_permission_description']??'')),e&&this['parameter_type']&&(f=newTreasury(b,this['parameter_type'],e,this['data']?.['description']??'',c)));(!f||!e)&&W_ERROR(WErrors['InvalidParam'],'CallTreasury_Data.data.object:'+this['object_address']);this['data']['description']!=null&&!this['object_address']&&description_set(b,f,this['parameter_type'],e,this['data']['description'],c);if(this['data']['receive']!=null&&this['object_address']){if(this['data']['receive']==='recently'){const h=await query_received({'object':this['object_address'],'network':a['network'],'no_cache':a['no_cache']});Array['isArray'](h)?W_ERROR(WErrors['InvalidParam'],'CallAllocation_Data.data.received_coins:\x20received\x20is\x20ReceivedNormal[]'):this['data']['receive']=h;}if(typeof this['data']['receive']==='object'&&'received'in this['data']['receive']&&this['data']['receive']['received']?.['length']>0x0){this['data']['receive']['token_type']!==this['parameter_type']&&W_ERROR(WErrors['InvalidParam'],'token_type\x20'+this['data']['receive']['token_type']+'\x20is\x20not\x20equal\x20to\x20parameter_type\x20'+this['parameter_type']);for(const i of this['data']['receive']['received']){const [j,k]=await Promise['all']([LocalMark['Instance']()['get_address'](i['id']),LocalMark['Instance']()['get_address'](i['payment'])]);j&&k?receive(b,f,this['parameter_type'],e,j,k,c):W_ERROR(WErrors['IsValidArgType'],'Receive\x20object\x20'+i['id']+'\x20or\x20payment\x20object\x20'+i['payment']+'\x20not\x20found');}}}this['data']['deposit']!=null&&(this['data']['deposit']['by_external_deposit_guard']?(!c&&W_ERROR(WErrors['InvalidParam'],'Passport\x20is\x20required\x20for\x20external\x20deposit'),await this['new_with_mark'](a,b,ObjectType['Payment'],await external_deposit(a,b,f,this['parameter_type'],c,this['data']['deposit']['by_external_deposit_guard'],this['data']['deposit']['coin'],this['data']['deposit']['payment_info']),this['data']['deposit']['namedNewPayment'])):await this['new_with_mark'](a,b,ObjectType['Payment'],await deposit(a,b,f,this['parameter_type'],e,this['data']['deposit']['coin'],this['data']['deposit']['payment_info'],c),this['data']['deposit']['namedNewPayment']));if(this['data']['withdraw']!=null&&this['data']['withdraw']['amount']){if('fixed'in this['data']['withdraw']['amount'])await this['new_with_mark'](a,b,ObjectType['Payment'],await withdraw(a,b,f,this['parameter_type'],e,this['data']['withdraw']['amount']['fixed'],this['data']['withdraw']['recipient'],this['data']['withdraw']['payment_info'],c),this['data']['withdraw']['namedNewPayment']);else'by_external_withdraw_guard'in this['data']['withdraw']['amount']&&(!c&&W_ERROR(WErrors['InvalidParam'],'Passport\x20is\x20required\x20for\x20external\x20withdraw'),await this['new_with_mark'](a,b,ObjectType['Payment'],await external_withdraw(a,b,f,this['parameter_type'],c,this['data']['withdraw']['amount']['by_external_withdraw_guard'],this['data']['withdraw']['recipient'],this['data']['withdraw']['payment_info']),this['data']['withdraw']['namedNewPayment']));}if(this['data']['external_deposit_guard']!=null)switch(this['data']['external_deposit_guard']['op']){case'add':case'set':{this['data']['external_deposit_guard']['op']==='set'&&external_deposit_guard_clear(b,f,this['parameter_type'],e,c);await external_deposit_guard_add(b,f,this['parameter_type'],e,this['data']['external_deposit_guard']['guards'],MAX_EXTERNAL_DEPOSIT_GUARD_COUNT-(g?.['external_deposit_guard']?.['length']??0x0),c);break;}case'remove':{await external_deposit_guard_remove(b,f,this['parameter_type'],e,this['data']['external_deposit_guard']['guards'],MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,c);break;}case'clear':{external_deposit_guard_clear(b,f,this['parameter_type'],e,c);break;}}if(this['data']['external_withdraw_guard']!=null)switch(this['data']['external_withdraw_guard']['op']){case'add':case'set':{this['data']['external_withdraw_guard']['op']==='set'&&external_withdraw_guard_clear(b,f,this['parameter_type'],e,c);await external_withdraw_guard_add(b,f,this['parameter_type'],e,this['data']['external_withdraw_guard']['guards'],MAX_EXTERNAL_WITHDRAW_GUARD_COUNT-(g?.['external_withdraw_guard']?.['length']??0x0),c);break;}case'remove':{await external_withdraw_guard_remove(b,f,this['parameter_type'],e,this['data']['external_withdraw_guard']['guards'],MAX_EXTERNAL_WITHDRAW_GUARD_COUNT,c);break;}case'clear':{external_withdraw_guard_clear(b,f,this['parameter_type'],e,c);break;}}this['data']['owner_receive']!=null&&this['object_address']&&(this['data']['owner_receive']==='recently'&&(this['data']['owner_receive']=await query_received({'object':this['object_address'],'all_type':!![],'network':a['network'],'no_cache':a['no_cache']})),await owner_receive(b,f,e,this['data']['owner_receive'],this['parameter_type'],l=>PackageAddress+'::treasury::'+l,c));if(this['data']['um']!==undefined){let l=null;this['data']['um']&&(l=await LocalMark['Instance']()['get_address'](this['data']['um'])||null,!l&&W_ERROR(WErrors['InvalidParam'],'CallTreasury_Data.data.um:'+this['data']['um'])),um_set(b,f,this['parameter_type'],e,l,c);}if(!this['permission_address']){const m=GetObject(this['data']?.['object']);await this['new_with_mark'](a,b,ObjectType['Permission'],a165a(b,e),GetObject(m['permission']));}!this['object_address']&&await this['new_with_mark'](a,b,ObjectType['Treasury'],create(b,f,this['parameter_type']),GetObject(this['data']?.['object']));}}export const MAX_EXTERNAL_DEPOSIT_GUARD_COUNT=0x64;export const MAX_EXTERNAL_WITHDRAW_GUARD_COUNT=0xc8;export function newTreasury(a,b,c,d,e){return validObjects([c,e]),typeof d==='string'&&!isValidDescription(d)&&W_ERROR(WErrors['IsValidDescription'],'Description\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!IsValidArgType(b)&&W_ERROR(WErrors['InvalidParam'],'New\x20treasury\x20type\x20'+b+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':treasuryFn('new_with_passport'),'arguments':[toTxObject(a,c),toTxObject(a,e),toTxString(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]}):a['moveCall']({'target':treasuryFn('new'),'arguments':[toTxObject(a,c),toTxString(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});}export function description_set(a,b,c,d,e,f){validObjects([b,d,f]),typeof e==='string'&&!isValidDescription(e)&&W_ERROR(WErrors['IsValidDescription'],'Description\x20exceeds\x20maximum\x20length\x20'+MAX_DESCRIPTION_LENGTH),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Description\x20set\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),f?a['moveCall']({'target':treasuryFn('description_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,f),toTxString(a,e)],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('description_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxString(a,e)],'typeArguments':[c]});}export async function deposit(a,b,d,e,f,g,h,i){validObjects([d,f,i]);!IsValidArgType(e)&&W_ERROR(WErrors['InvalidParam'],'Deposit\x20treasury\x20type\x20'+e+'\x20is\x20not\x20valid');const j=await getCoinParam(a,b,g,e),k=await paymentInfo(a,b,h);return i?b['moveCall']({'target':treasuryFn('deposit_with_passport'),'arguments':[toTxObject(b,d),toTxObject(b,f),toTxObject(b,i),j,k,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[e]}):b['moveCall']({'target':treasuryFn('deposit'),'arguments':[toTxObject(b,d),toTxObject(b,f),j,k,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[e]});}export async function withdraw(a,b,c,d,e,f,g,h,i){validObjects([c,e,i]);!IsValidArgType(d)&&W_ERROR(WErrors['InvalidParam'],'Withdraw\x20treasury\x20type\x20'+d+'\x20is\x20not\x20valid');!isValidU64(f)&&W_ERROR(WErrors['IsValidU64'],'Amount\x20'+f+'\x20is\x20not\x20valid');const j=await GetAccountOrMark_Address(g);!j&&W_ERROR(WErrors['InvalidParam'],'Recipient\x20'+g+'\x20is\x20not\x20valid');const k=await paymentInfo(a,b,h);return i?b['moveCall']({'target':treasuryFn('withdraw_with_passport'),'arguments':[toTxObject(b,c),toTxObject(b,e),toTxObject(b,i),b['pure']['u64'](f),b['pure']['address'](j),k,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]}):b['moveCall']({'target':treasuryFn('withdraw'),'arguments':[toTxObject(b,c),toTxObject(b,e),b['pure']['u64'](f),b['pure']['address'](j),k,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]});}export async function external_deposit_guard_add(a,b,c,d,e,f=MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,h){if(e['length']===0x0)return;e['length']>f&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20add\x20guards\x20count\x20'+e['length']+'\x20exceeds\x20maximum\x20'+f);validObjects([b,d,h]);!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20add\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid');const i=await Promise['all'](e['map'](async k=>{const l=await LocalMark['Instance']()['get_address'](k['guard']);return!l&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20add\x20guard\x20'+k['guard']+'\x20is\x20not\x20valid'),k['identifier']&&!isValidU8(k['identifier'])&&W_ERROR(WErrors['IsValidU8'],'External\x20deposit\x20guard\x20add\x20identifier\x20'+k['identifier']+'\x20is\x20not\x20optional\x20u8'),k['store_from_id']&&!isValidU8(k['store_from_id'])&&W_ERROR(WErrors['IsValidU8'],'External\x20deposit\x20guard\x20add\x20store_from_id\x20'+k['store_from_id']+'\x20is\x20not\x20optional\x20u8'),{'guard':k['guard'],'identifier':k['identifier'],'store_from_id':k['store_from_id'],'guard_addr':l};})),j=i['filter'](k=>!k['guard_addr']);j['length']>0x0&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20add\x20has\x20invalid\x20guards\x20with\x20empty\x20guard_addr:\x20'+JSON['stringify'](j)),i['filter'](k=>k['guard_addr']!==undefined)['map'](k=>({'guard':k['guard_addr'],'identifier':k['identifier']!==undefined?k['identifier']:null,'store_from_id':k['store_from_id']!==undefined?k['store_from_id']:null}))['forEach'](k=>{h?a['moveCall']({'target':treasuryFn('external_deposit_guard_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,h),toTxObject(a,k['guard']),a['pure']['option']('u8',k['identifier']),a['pure']['option']('u8',k['store_from_id']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('external_deposit_guard_add'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,k['guard']),a['pure']['option']('u8',k['identifier']),a['pure']['option']('u8',k['store_from_id']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});});}export async function external_deposit_guard_remove(a,b,c,d,e,f=MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,g){e=await LocalMark['Instance']()['get_many_address_availables'](e);if(e['length']===0x0)return;e['length']>f&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20remove\x20guards\x20count\x20'+e['length']+'\x20exceeds\x20maximum\x20'+f),validObjects([b,d,g,...e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20remove\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),g?a['moveCall']({'target':treasuryFn('external_deposit_guard_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,g),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('external_deposit_guard_remove'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function external_deposit_guard_clear(a,b,c,d,e){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20clear\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':treasuryFn('external_deposit_guard_clear_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('external_deposit_guard_clear'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}export async function external_withdraw_guard_add(a,b,c,d,e,f=MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,h){if(e['length']===0x0)return;e['length']>f&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20add\x20guards\x20count\x20'+e['length']+'\x20exceeds\x20maximum\x20'+f);validObjects([b,d,h]);!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20add\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid');const i=await Promise['all'](e['map'](async k=>{const l=await LocalMark['Instance']()['get_address'](k['guard']);return!l&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20add\x20guard\x20'+k['guard']+'\x20is\x20not\x20valid'),!isValidU8(k['identifier'])&&W_ERROR(WErrors['IsValidU8'],'External\x20withdraw\x20guard\x20add\x20identifier\x20'+k['identifier']+'\x20is\x20not\x20optional\x20u8'),k['store_from_id']&&!isValidU8(k['store_from_id'])&&W_ERROR(WErrors['IsValidU8'],'External\x20withdraw\x20guard\x20add\x20store_from_id\x20'+k['store_from_id']+'\x20is\x20not\x20optional\x20u8'),{'guard':k['guard'],'identifier':k['identifier'],'store_from_id':k['store_from_id'],'guard_addr':l};})),j=i['filter'](k=>!k['guard_addr']);j['length']>0x0&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20add\x20has\x20invalid\x20guards\x20with\x20empty\x20guard_addr:\x20'+JSON['stringify'](j)),i['filter'](k=>k['guard_addr']!==undefined)['map'](k=>({'guard':k['guard_addr'],'identifier':k['identifier'],'store_from_id':k['store_from_id']!==undefined?k['store_from_id']:null}))['forEach'](k=>{h?a['moveCall']({'target':treasuryFn('external_withdraw_guard_add_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,h),toTxObject(a,k['guard']),a['pure']['u8'](k['identifier']),a['pure']['option']('u8',k['store_from_id']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('external_withdraw_guard_add'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,k['guard']),a['pure']['u8'](k['identifier']),a['pure']['option']('u8',k['store_from_id']),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});});}export async function external_withdraw_guard_remove(a,b,c,d,e,f=MAX_EXTERNAL_DEPOSIT_GUARD_COUNT,g){e=await LocalMark['Instance']()['get_many_address_availables'](e);if(e['length']===0x0)return;e['length']>f&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20remove\x20guards\x20count\x20'+e['length']+'\x20exceeds\x20maximum\x20'+f),validObjects([b,d,g]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20remove\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),g?a['moveCall']({'target':treasuryFn('external_withdraw_guard_remove_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,g),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('external_withdraw_guard_remove'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function external_withdraw_guard_clear(a,b,c,d,e){validObjects([b,d,e]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20clear\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),e?a['moveCall']({'target':treasuryFn('external_withdraw_guard_clear_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('external_withdraw_guard_clear'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}export function create(a,b,c){return validObjects([b]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Create\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),a['moveCall']({'target':treasuryFn('create'),'arguments':[toTxObject(a,b)],'typeArguments':[c]});}export async function external_deposit(a,b,d,e,f,g,h,i){validObjects([d,f]);!IsValidArgType(e)&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20treasury\x20type\x20'+e+'\x20is\x20not\x20valid');const [j,k,l]=await Promise['all']([getCoinParam(a,b,h,e),paymentInfo(a,b,i),LocalMark['Instance']()['get_address'](g)]);return!l&&W_ERROR(WErrors['InvalidParam'],'External\x20deposit\x20guard\x20'+g+'\x20is\x20not\x20valid'),b['moveCall']({'target':treasuryFn('external_deposit'),'arguments':[toTxObject(b,d),toTxObject(b,f),toTxObject(b,l),j,k,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[e]});}export async function external_withdraw(a,b,c,d,e,f,g,h){validObjects([c,e]);!IsValidArgType(d)&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20treasury\x20type\x20'+d+'\x20is\x20not\x20valid');const [i,j,k]=await Promise['all']([paymentInfo(a,b,h),LocalMark['Instance']()['get_address'](f),GetAccountOrMark_Address(g)]);return!j&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20guard\x20'+f+'\x20is\x20not\x20valid'),!k&&W_ERROR(WErrors['InvalidParam'],'External\x20withdraw\x20recipient\x20'+g+'\x20is\x20not\x20valid'),b['moveCall']({'target':treasuryFn('external_withdraw'),'arguments':[toTxObject(b,c),toTxObject(b,e),toTxObject(b,j),b['pure']['address'](k),i,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]});}export function receive(a,b,c,d,e,f,g){!f&&W_ERROR(WErrors['InvalidParam'],'Treasury\x20receive\x20payment\x20is\x20required'),validObjects([b,d,e,f,g]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Treasury\x20receive\x20treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),g?a['moveCall']({'target':treasuryFn('receive_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,g),toTxObject(a,e),toTxObject(a,f),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('receive'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),toTxObject(a,f),a['object']['clock']()],'typeArguments':[c]});}export function um_set(a,b,c,d,e,f){validObjects([b,d]),!IsValidArgType(c)&&W_ERROR(WErrors['InvalidParam'],'Treasury\x20type\x20'+c+'\x20is\x20not\x20valid'),e?f?a['moveCall']({'target':treasuryFn('um_set_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('um_set'),'arguments':[toTxObject(a,b),toTxObject(a,d),toTxObject(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]}):f?a['moveCall']({'target':treasuryFn('um_none_with_passport'),'arguments':[toTxObject(a,b),toTxObject(a,d),f,a['object']['mutRegistrar']()],'typeArguments':[c]}):a['moveCall']({'target':treasuryFn('um_none'),'arguments':[toTxObject(a,b),toTxObject(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}