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,1203 +1,1169 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
2
+ // Copyright (c) Wowok.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
6
  };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
- var guard_exports = {};
32
- __export(guard_exports, {
33
- CallGuard: () => CallGuard,
34
- create: () => create,
35
- formatGuardParseErrors: () => formatGuardParseErrors,
36
- gen_passport: () => gen_passport,
37
- generateNodeComments: () => generateNodeComments,
38
- guard2file: () => guard2file,
39
- guardFn: () => guardFn,
40
- newGuard: () => newGuard,
41
- parseGuardFile: () => parseGuardFile,
42
- parseGuardFromMarkdown: () => parseGuardFromMarkdown,
43
- reliesAdd: () => reliesAdd,
44
- reliesClear: () => reliesClear,
45
- reliesLogic: () => reliesLogic,
46
- reliesRemove: () => reliesRemove,
47
- validateGuardNode: () => validateGuardNode
48
- });
49
- module.exports = __toCommonJS(guard_exports);
50
- var import_common = require("../common.js");
51
- var import_lodash = __toESM(require("lodash"));
52
- var import_exception = require("../exception.js");
53
- var import_base = require("./base.js");
54
- var import_local = require("../local/local.js");
55
- var import_object = require("../query/object.js");
56
- var import_bcs = require("../../bcs/index.js");
57
- var import_util = require("../util.js");
58
- var import_guard_ins = require("./guard-ins.js");
59
- var import_util2 = require("./util.js");
60
- var import_sui_types = require("../../utils/sui-types.js");
61
- var import_passport = require("./passport.js");
62
- var import_fs = require("fs");
63
- var import_path = require("path");
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.gen_passport = exports.generateNodeComments = exports.guard2file = exports.newGuard = exports.CallGuard = void 0;
9
+ exports.guardFn = guardFn;
10
+ exports.create = create;
11
+ exports.reliesAdd = reliesAdd;
12
+ exports.reliesRemove = reliesRemove;
13
+ exports.reliesClear = reliesClear;
14
+ exports.reliesLogic = reliesLogic;
15
+ exports.parseGuardFromMarkdown = parseGuardFromMarkdown;
16
+ exports.parseGuardFile = parseGuardFile;
17
+ exports.validateGuardNode = validateGuardNode;
18
+ exports.formatGuardParseErrors = formatGuardParseErrors;
19
+ const common_js_1 = require("../common.js");
20
+ const lodash_1 = __importDefault(require("lodash")); // Import lodash
21
+ const exception_js_1 = require("../exception.js");
22
+ const base_js_1 = require("./base.js");
23
+ const local_js_1 = require("../local/local.js");
24
+ const object_js_1 = require("../query/object.js");
25
+ const index_js_1 = require("../../bcs/index.js");
26
+ const util_js_1 = require("../util.js");
27
+ const guard_ins_js_1 = require("./guard-ins.js");
28
+ const util_js_2 = require("./util.js");
29
+ const sui_types_js_1 = require("../../utils/sui-types.js");
30
+ const passport_js_1 = require("./passport.js");
31
+ const fs_1 = require("fs");
32
+ const path_1 = require("path");
33
+ // ================================================
64
34
  function guardFn(name) {
65
- return `${import_common.PackageAddress}::guard::${name}`;
35
+ return `${common_js_1.PackageAddress}::guard::${name}`;
66
36
  }
67
- class CallGuard extends import_base.CallBase {
68
- constructor(data) {
69
- super();
70
- __publicField(this, "data");
71
- this.data = data;
72
- }
73
- async call(env) {
74
- await this.prepare(env);
75
- return await this.exec(env);
76
- }
77
- async operate(env, tx, _passport, _submission) {
78
- if (!this.data.table || this.data.table.length === 0) {
79
- (0, import_exception.W_ERROR)(import_exception.WErrors.InvalidParam, "table is empty");
37
+ class CallGuard extends base_js_1.CallBase {
38
+ data;
39
+ constructor(data) {
40
+ super();
41
+ this.data = data;
80
42
  }
81
- if (!this.data.root) {
82
- (0, import_exception.W_ERROR)(import_exception.WErrors.InvalidParam, "root is empty");
43
+ async call(env) {
44
+ await this.prepare(env);
45
+ return await this.exec(env);
83
46
  }
84
- const guard = await newGuard(
85
- tx,
86
- this.data?.description || "",
87
- this.data?.table,
88
- this.data?.root
89
- );
90
- if (this.data?.rely != null) {
91
- const relyGuards = await import_local.LocalMark.Instance().get_many_address(
92
- this.data.rely.guards
93
- );
94
- const undefinedIndex = relyGuards.findIndex((v) => v === void 0);
95
- if (undefinedIndex !== -1) {
96
- (0, import_exception.W_ERROR)(
97
- import_exception.WErrors.InvalidParam,
98
- `rely.guards invalid: guard at index ${undefinedIndex} not found`
99
- );
100
- }
101
- reliesAdd(
102
- tx,
103
- guard,
104
- relyGuards.filter((v) => v !== void 0)
105
- );
47
+ async operate(env, tx, _passport, _submission) {
48
+ if (!this.data.table || this.data.table.length === 0) {
49
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "table is empty");
50
+ }
51
+ if (!this.data.root) {
52
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "root is empty");
53
+ }
54
+ const guard = await (0, exports.newGuard)(tx, this.data?.description || "", this.data?.table, this.data?.root);
55
+ if (this.data?.rely != null) {
56
+ const relyGuards = await local_js_1.LocalMark.Instance().get_many_address(this.data.rely.guards);
57
+ // 查找原始数组中undefined值的索引
58
+ const undefinedIndex = relyGuards.findIndex((v) => v === undefined);
59
+ if (undefinedIndex !== -1) {
60
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `rely.guards invalid: guard at index ${undefinedIndex} not found`);
61
+ }
62
+ reliesAdd(tx, guard, relyGuards.filter((v) => v !== undefined));
63
+ }
64
+ await this.new_with_mark(env, tx, common_js_1.ObjectType.Guard, create(tx, guard), this.data?.namedNew);
106
65
  }
107
- await this.new_with_mark(
108
- env,
109
- tx,
110
- import_common.ObjectType.Guard,
111
- create(tx, guard),
112
- this.data?.namedNew
113
- );
114
- }
115
66
  }
67
+ exports.CallGuard = CallGuard;
116
68
  const newGuard = async (tx, description, table, root) => {
117
- if (!(0, import_common.isValidDescription)(description)) {
118
- (0, import_exception.W_ERROR)(
119
- import_exception.WErrors.IsValidDescription,
120
- `Description exceeds maximum length ${import_common.MAX_DESCRIPTION_LENGTH}`
121
- );
122
- }
123
- for (let i = 0; i < table.length; i++) {
124
- const v = table[i];
125
- if (!(0, import_common.isValidU8)(v.identifier))
126
- (0, import_exception.W_ERROR)(
127
- import_exception.WErrors.InvalidParam,
128
- `table.identifier ${v.identifier} invalid`
129
- );
130
- if (!v.b_submission && (v.value === void 0 || v.value === null))
131
- (0, import_exception.W_ERROR)(
132
- import_exception.WErrors.InvalidParam,
133
- `table.value ${v.value} with identifier ${v.identifier} invalid`
134
- );
135
- if (!(0, import_common.isValidName)(v.name)) (0, import_exception.W_ERROR)(import_exception.WErrors.InvalidParam, "table.name");
136
- }
137
- const grouped = import_lodash.default.groupBy(table, "identifier");
138
- const duplicates = Object.keys(grouped).filter(
139
- (key) => grouped[key].length > 1
140
- );
141
- if (duplicates.length > 0) {
142
- (0, import_exception.W_ERROR)(
143
- import_exception.WErrors.InvalidParam,
144
- `table.identifier duplicates: ${duplicates.join(", ")}`
145
- );
146
- }
147
- var output = [];
148
- await buildNode(root, import_common.ValueType.Bool, table, output);
149
- const totalLength = output.reduce((acc, arr) => acc + arr.length, 0);
150
- const input = new Uint8Array(totalLength);
151
- let offset = 0;
152
- for (const arr of output) {
153
- input.set(arr, offset);
154
- offset += arr.length;
155
- }
156
- if (input.length > import_common.MAX_INPUT_SIZE) {
157
- (0, import_exception.W_ERROR)(
158
- import_exception.WErrors.NewGuardCheckFailed,
159
- `Input size exceeds maximum limit ${import_common.MAX_INPUT_SIZE}`
160
- );
161
- }
162
- if (input.length === 0) {
163
- (0, import_exception.W_ERROR)(import_exception.WErrors.NewGuardCheckFailed, `Input cannot be empty`);
164
- }
165
- const tableItems = [];
166
- for (let i = 0; i < table.length; i++) {
167
- const item = table[i];
168
- const valueType = (0, import_common.parseValueType)(item.value_type);
169
- let bcsValue;
170
- if (item.b_submission) {
171
- bcsValue = new Uint8Array(1);
172
- bcsValue[0] = valueType;
173
- } else {
174
- if (item.value === void 0 || item.value === null) {
175
- (0, import_exception.W_ERROR)(
176
- import_exception.WErrors.NewGuardCheckFailed,
177
- `Table item value is required when b_submission is false`
178
- );
179
- }
180
- bcsValue = await (0, import_util.valueToBcsBytes)(valueType, item.value);
69
+ if (!(0, common_js_1.isValidDescription)(description)) {
70
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.IsValidDescription, `Description exceeds maximum length ${common_js_1.MAX_DESCRIPTION_LENGTH}`);
71
+ }
72
+ // check const
73
+ for (let i = 0; i < table.length; i++) {
74
+ const v = table[i];
75
+ if (!(0, common_js_1.isValidU8)(v.identifier))
76
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `table.identifier ${v.identifier} invalid`);
77
+ if (!v.b_submission && (v.value === undefined || v.value === null))
78
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `table.value ${v.value} with identifier ${v.identifier} invalid`);
79
+ if (!(0, common_js_1.isValidName)(v.name))
80
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "table.name");
81
+ }
82
+ const grouped = lodash_1.default.groupBy(table, "identifier");
83
+ const duplicates = Object.keys(grouped).filter((key) => grouped[key].length > 1);
84
+ if (duplicates.length > 0) {
85
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `table.identifier duplicates: ${duplicates.join(", ")}`);
86
+ }
87
+ // check root
88
+ var output = [];
89
+ await buildNode(root, common_js_1.ValueType.Bool, table, output);
90
+ const totalLength = output.reduce((acc, arr) => acc + arr.length, 0);
91
+ const input = new Uint8Array(totalLength);
92
+ let offset = 0;
93
+ for (const arr of output) {
94
+ input.set(arr, offset);
95
+ offset += arr.length;
96
+ }
97
+ /*console.log(
98
+ "Input (decimal):",
99
+ Array.from(input)
100
+ .map((byte) => byte.toString(10))
101
+ .join(" "),
102
+ );*/
103
+ if (input.length > common_js_1.MAX_INPUT_SIZE) {
104
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.NewGuardCheckFailed, `Input size exceeds maximum limit ${common_js_1.MAX_INPUT_SIZE}`);
105
+ }
106
+ if (input.length === 0) {
107
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.NewGuardCheckFailed, `Input cannot be empty`);
181
108
  }
182
- tableItems.push(
183
- tx.moveCall({
184
- target: guardFn("table_item"),
109
+ const tableItems = [];
110
+ for (let i = 0; i < table.length; i++) {
111
+ const item = table[i];
112
+ // 转换 value_type 为枚举值(支持字符串输入)
113
+ const valueType = (0, common_js_1.parseValueType)(item.value_type);
114
+ // 根据b_submission的值计算bcsValue
115
+ let bcsValue;
116
+ if (item.b_submission) {
117
+ bcsValue = new Uint8Array(1);
118
+ bcsValue[0] = valueType;
119
+ }
120
+ else {
121
+ if (item.value === undefined || item.value === null) {
122
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.NewGuardCheckFailed, `Table item value is required when b_submission is false`);
123
+ }
124
+ bcsValue = await (0, util_js_1.valueToBcsBytes)(valueType, item.value);
125
+ }
126
+ tableItems.push(tx.moveCall({
127
+ target: guardFn("table_item"),
128
+ arguments: [
129
+ tx.pure.u8(item.identifier),
130
+ tx.pure.bool(item.b_submission),
131
+ tx.pure.vector("u8", Array.from(bcsValue)),
132
+ (0, common_js_1.toTxString)(tx, item.name),
133
+ ],
134
+ }));
135
+ }
136
+ return tx.moveCall({
137
+ target: guardFn("new"),
185
138
  arguments: [
186
- tx.pure.u8(item.identifier),
187
- tx.pure.bool(item.b_submission),
188
- tx.pure.vector("u8", Array.from(bcsValue)),
189
- (0, import_common.toTxString)(tx, item.name)
190
- ]
191
- })
192
- );
193
- }
194
- return tx.moveCall({
195
- target: guardFn("new"),
196
- arguments: [
197
- (0, import_common.toTxString)(tx, description),
198
- tx.makeMoveVec({
199
- elements: tableItems,
200
- type: `${import_common.PackageAddress}::guard::TableItem`
201
- }),
202
- tx.pure.vector("u8", Array.from(input))
203
- ]
204
- });
139
+ (0, common_js_1.toTxString)(tx, description),
140
+ tx.makeMoveVec({
141
+ elements: tableItems,
142
+ type: `${common_js_1.PackageAddress}::guard::TableItem`,
143
+ }),
144
+ tx.pure.vector("u8", Array.from(input)),
145
+ ],
146
+ });
205
147
  };
148
+ exports.newGuard = newGuard;
206
149
  function create(tx, guard) {
207
- return tx.moveCall({
208
- target: guardFn("create"),
209
- arguments: [
210
- (0, import_common.toTxObject)(tx, guard),
211
- tx.object.mutRegistrar(),
212
- tx.object.clock()
213
- ]
214
- });
150
+ return tx.moveCall({
151
+ target: guardFn("create"),
152
+ arguments: [
153
+ (0, common_js_1.toTxObject)(tx, guard),
154
+ tx.object.mutRegistrar(),
155
+ tx.object.clock(),
156
+ ],
157
+ });
215
158
  }
216
159
  function reliesAdd(tx, guard, rely_guards) {
217
- const guards = import_lodash.default.uniq(rely_guards);
218
- if (guards.length > import_common.MAX_DEPENDED_COUNT) {
219
- (0, import_exception.W_ERROR)(
220
- import_exception.WErrors.NewGuardCheckFailed,
221
- `Relies count exceeds maximum limit ${import_common.MAX_DEPENDED_COUNT}`
222
- );
223
- }
224
- guards.forEach((g) => {
225
- if (g === guard) {
226
- (0, import_exception.W_ERROR)(import_exception.WErrors.NewGuardCheckFailed, `Guard cannot rely on itself`);
160
+ const guards = lodash_1.default.uniq(rely_guards);
161
+ if (guards.length > common_js_1.MAX_DEPENDED_COUNT) {
162
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.NewGuardCheckFailed, `Relies count exceeds maximum limit ${common_js_1.MAX_DEPENDED_COUNT}`);
227
163
  }
228
- tx.moveCall({
229
- target: guardFn("relies_add"),
230
- arguments: [
231
- (0, import_common.toTxObject)(tx, guard),
232
- (0, import_common.toTxObject)(tx, g),
233
- tx.object.mutRegistrar(),
234
- tx.object.clock()
235
- ]
164
+ guards.forEach((g) => {
165
+ if (g === guard) {
166
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.NewGuardCheckFailed, `Guard cannot rely on itself`);
167
+ }
168
+ tx.moveCall({
169
+ target: guardFn("relies_add"),
170
+ arguments: [
171
+ (0, common_js_1.toTxObject)(tx, guard),
172
+ (0, common_js_1.toTxObject)(tx, g),
173
+ tx.object.mutRegistrar(),
174
+ tx.object.clock(),
175
+ ],
176
+ });
236
177
  });
237
- });
238
178
  }
239
179
  function reliesRemove(tx, guard, rely_guards) {
240
- const guards = import_lodash.default.uniq(rely_guards);
241
- if (guards.length > import_common.MAX_DEPENDED_COUNT) {
242
- (0, import_exception.W_ERROR)(
243
- import_exception.WErrors.NewGuardCheckFailed,
244
- `Relies count exceeds maximum limit ${import_common.MAX_DEPENDED_COUNT}`
245
- );
246
- }
247
- guards.forEach((g) => {
248
- tx.moveCall({
249
- target: guardFn("relies_remove"),
250
- arguments: [
251
- (0, import_common.toTxObject)(tx, guard),
252
- (0, import_common.toTxObject)(tx, g),
253
- tx.object.mutRegistrar()
254
- ]
180
+ const guards = lodash_1.default.uniq(rely_guards);
181
+ if (guards.length > common_js_1.MAX_DEPENDED_COUNT) {
182
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.NewGuardCheckFailed, `Relies count exceeds maximum limit ${common_js_1.MAX_DEPENDED_COUNT}`);
183
+ }
184
+ guards.forEach((g) => {
185
+ tx.moveCall({
186
+ target: guardFn("relies_remove"),
187
+ arguments: [
188
+ (0, common_js_1.toTxObject)(tx, guard),
189
+ (0, common_js_1.toTxObject)(tx, g),
190
+ tx.object.mutRegistrar(),
191
+ ],
192
+ });
255
193
  });
256
- });
257
194
  }
258
195
  function reliesClear(tx, guard) {
259
- tx.moveCall({
260
- target: guardFn("relies_clear"),
261
- arguments: [(0, import_common.toTxObject)(tx, guard), tx.object.mutRegistrar()]
262
- });
196
+ tx.moveCall({
197
+ target: guardFn("relies_clear"),
198
+ arguments: [(0, common_js_1.toTxObject)(tx, guard), tx.object.mutRegistrar()],
199
+ });
263
200
  }
201
+ // set the logic(and/or) of the guard; default is and
264
202
  function reliesLogic(tx, guard, logic_and) {
265
- tx.moveCall({
266
- target: guardFn("relies_logic_and"),
267
- arguments: [(0, import_common.toTxObject)(tx, guard), tx.pure.bool(logic_and)]
268
- });
203
+ tx.moveCall({
204
+ target: guardFn("relies_logic_and"),
205
+ arguments: [(0, common_js_1.toTxObject)(tx, guard), tx.pure.bool(logic_and)],
206
+ });
269
207
  }
208
+ // ================================================
270
209
  const buildNode = async (guard_node, type_required, table, output) => {
271
- const node = guard_node;
272
- switch (node.type) {
273
- case "identifier": {
274
- const f = table.find((v) => v.identifier === node.identifier);
275
- if (f) {
276
- const fValueType = (0, import_common.parseValueType)(f.value_type);
277
- (0, import_util2.checkType)(fValueType, type_required, node);
278
- output.push(
279
- import_bcs.bcs.U8.serialize(import_common.ContextType.TypeConstant).toBytes()
280
- );
281
- output.push(import_bcs.bcs.U8.serialize(node.identifier).toBytes());
282
- } else {
283
- (0, import_exception.W_ERROR)(
284
- import_exception.WErrors.InvalidParam,
285
- "node identifier - " + JSON.stringify(node)
286
- );
287
- }
288
- break;
289
- }
290
- case "query": {
291
- const q = (0, import_guard_ins.getGuardQueryInfo)(node.query);
292
- if (!q) {
293
- (0, import_exception.W_ERROR)(import_exception.WErrors.InvalidParam, `query not found: ${node.query}`);
294
- }
295
- (0, import_util2.checkType)(q.return, type_required, node);
296
- if (q.parameters.length === node.parameters.length) {
297
- for (let i = node.parameters.length - 1; i >= 0; --i) {
298
- await buildNode(
299
- node.parameters[i],
300
- q.parameters[i],
301
- table,
302
- output
303
- );
210
+ const node = guard_node;
211
+ switch (node.type) {
212
+ case "identifier": {
213
+ const f = table.find((v) => v.identifier === node.identifier);
214
+ if (f) {
215
+ const fValueType = (0, common_js_1.parseValueType)(f.value_type);
216
+ (0, util_js_2.checkType)(fValueType, type_required, node);
217
+ output.push(index_js_1.bcs.U8.serialize(common_js_1.ContextType.TypeConstant).toBytes());
218
+ output.push(index_js_1.bcs.U8.serialize(node.identifier).toBytes());
219
+ }
220
+ else {
221
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "node identifier - " + JSON.stringify(node));
222
+ }
223
+ break;
304
224
  }
305
- } else {
306
- (0, import_exception.W_ERROR)(
307
- import_exception.WErrors.InvalidParam,
308
- "node query parameters length not match - " + JSON.stringify(node)
309
- );
310
- }
311
- const tableItem = table.find(
312
- (v) => v.identifier === node.object.identifier
313
- );
314
- if (!tableItem) {
315
- (0, import_exception.W_ERROR)(
316
- import_exception.WErrors.InvalidParam,
317
- "node object from identifier - " + JSON.stringify(node)
318
- );
319
- }
320
- const tableItemValueType = (0, import_common.parseValueType)(tableItem.value_type);
321
- if (tableItemValueType !== import_common.ValueType.Address) {
322
- (0, import_exception.W_ERROR)(
323
- import_exception.WErrors.InvalidParam,
324
- `object to query must be address in table ${tableItem}. ${node.object}`
325
- );
326
- }
327
- output.push(import_bcs.bcs.U8.serialize(import_common.OperatorType.TypeQuery).toBytes());
328
- if ((0, import_common.isWitnessType)(node.object.convert_witness)) {
329
- const target = (0, import_object.WitnessTargetType)(node.object.convert_witness);
330
- if (target !== q.objectType) {
331
- (0, import_exception.W_ERROR)(
332
- import_exception.WErrors.InvalidParam,
333
- `witness object type(${target}) not consistent with query object type(${q.objectType})`
334
- );
225
+ case "query": {
226
+ const q = (0, guard_ins_js_1.getGuardQueryInfo)(node.query);
227
+ if (!q) {
228
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `query not found: ${node.query}`);
229
+ }
230
+ (0, util_js_2.checkType)(q.return, type_required, node);
231
+ if (q.parameters.length === node.parameters.length) {
232
+ for (let i = node.parameters.length - 1; i >= 0; --i) {
233
+ await buildNode(node.parameters[i], q.parameters[i], table, output);
234
+ }
235
+ }
236
+ else {
237
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "node query parameters length not match - " +
238
+ JSON.stringify(node));
239
+ }
240
+ const tableItem = table.find((v) => v.identifier === node.object.identifier);
241
+ if (!tableItem) {
242
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "node object from identifier - " + JSON.stringify(node));
243
+ }
244
+ const tableItemValueType = (0, common_js_1.parseValueType)(tableItem.value_type);
245
+ if (tableItemValueType !== common_js_1.ValueType.Address) {
246
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `object to query must be address in table ${tableItem}. ${node.object}`);
247
+ }
248
+ output.push(index_js_1.bcs.U8.serialize(common_js_1.OperatorType.TypeQuery).toBytes());
249
+ if ((0, common_js_1.isWitnessType)(node.object.convert_witness)) {
250
+ const target = (0, object_js_1.WitnessTargetType)(node.object.convert_witness);
251
+ if (target !== q.objectType) {
252
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `witness object type(${target}) not consistent with query object type(${q.objectType})`);
253
+ }
254
+ const source = (0, object_js_1.WitnessSourceType)(node.object.convert_witness);
255
+ if (tableItem.object_type) {
256
+ if (tableItem.object_type !== source) {
257
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `witness object type(${source}) not consistent with query object type(${tableItem.object_type})`);
258
+ }
259
+ }
260
+ else {
261
+ tableItem.object_type = source;
262
+ }
263
+ output.push(index_js_1.bcs.U8.serialize(node.object.convert_witness).toBytes());
264
+ }
265
+ else {
266
+ if (tableItem?.object_type) {
267
+ if (tableItem.object_type !== q.objectType) {
268
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `witness object type(${q.objectType}) not consistent with query object type(${tableItem.object_type})`);
269
+ }
270
+ }
271
+ else {
272
+ tableItem.object_type = q.objectType;
273
+ }
274
+ output.push(index_js_1.bcs.U8.serialize(common_js_1.ContextType.TypeConstant).toBytes());
275
+ }
276
+ output.push(index_js_1.bcs.U8.serialize(node.object.identifier).toBytes());
277
+ output.push(index_js_1.bcs.U16.serialize(q.id).toBytes());
278
+ break;
335
279
  }
336
- const source = (0, import_object.WitnessSourceType)(node.object.convert_witness);
337
- if (tableItem.object_type) {
338
- if (tableItem.object_type !== source) {
339
- (0, import_exception.W_ERROR)(
340
- import_exception.WErrors.InvalidParam,
341
- `witness object type(${source}) not consistent with query object type(${tableItem.object_type})`
342
- );
343
- }
344
- } else {
345
- tableItem.object_type = source;
280
+ case "logic_as_u256_greater_or_equal":
281
+ case "logic_as_u256_lesser_or_equal":
282
+ case "logic_as_u256_equal":
283
+ case "logic_as_u256_greater":
284
+ case "logic_as_u256_lesser":
285
+ case "logic_equal":
286
+ case "logic_and":
287
+ case "logic_or":
288
+ case "logic_string_contains":
289
+ case "logic_string_nocase_contains":
290
+ case "logic_string_nocase_equal":
291
+ case "calc_number_add":
292
+ case "calc_number_subtract":
293
+ case "calc_number_multiply":
294
+ case "calc_number_divide":
295
+ case "calc_number_mod":
296
+ case "calc_string_nocase_contains":
297
+ case "calc_string_nocase_equal":
298
+ case "calc_string_contains": {
299
+ const opCodeMap = {
300
+ logic_as_u256_greater_or_equal: common_js_1.OperatorType.TypeLogicAsU256GreaterEqual,
301
+ logic_as_u256_lesser_or_equal: common_js_1.OperatorType.TypeLogicAsU256LesserEqual,
302
+ logic_as_u256_equal: common_js_1.OperatorType.TypeLogicAsU256Equal,
303
+ logic_as_u256_greater: common_js_1.OperatorType.TypeLogicAsU256Greater,
304
+ logic_as_u256_lesser: common_js_1.OperatorType.TypeLogicAsU256Lesser,
305
+ logic_equal: common_js_1.OperatorType.TypeLogicEqual,
306
+ logic_and: common_js_1.OperatorType.TypeLogicAnd,
307
+ logic_or: common_js_1.OperatorType.TypeLogicOr,
308
+ logic_string_contains: common_js_1.OperatorType.TypeStringContains,
309
+ logic_string_nocase_contains: common_js_1.OperatorType.TypeStringNocaseContains,
310
+ logic_string_nocase_equal: common_js_1.OperatorType.TypeStringNocaseEqual,
311
+ calc_number_add: common_js_1.OperatorType.TypeNumberAdd,
312
+ calc_number_subtract: common_js_1.OperatorType.TypeNumberSubtract,
313
+ calc_number_multiply: common_js_1.OperatorType.TypeNumberMultiply,
314
+ calc_number_divide: common_js_1.OperatorType.TypeNumberDivide,
315
+ calc_number_mod: common_js_1.OperatorType.TypeNumberMod,
316
+ calc_string_nocase_contains: common_js_1.OperatorType.TypeStringNocaseContains,
317
+ calc_string_nocase_equal: common_js_1.OperatorType.TypeStringNocaseEqual,
318
+ calc_string_contains: common_js_1.OperatorType.TypeStringContains,
319
+ };
320
+ const requiredTypeMap = {
321
+ logic_as_u256_greater_or_equal: "number",
322
+ logic_as_u256_lesser_or_equal: "number",
323
+ logic_as_u256_equal: "number",
324
+ logic_as_u256_greater: "number",
325
+ logic_as_u256_lesser: "number",
326
+ logic_equal: "variable",
327
+ logic_and: common_js_1.ValueType.Bool,
328
+ logic_or: common_js_1.ValueType.Bool,
329
+ logic_string_contains: common_js_1.ValueType.String,
330
+ logic_string_nocase_contains: common_js_1.ValueType.String,
331
+ logic_string_nocase_equal: common_js_1.ValueType.String,
332
+ calc_number_add: "number",
333
+ calc_number_subtract: "number",
334
+ calc_number_multiply: "number",
335
+ calc_number_divide: "number",
336
+ calc_number_mod: "number",
337
+ calc_string_nocase_contains: common_js_1.ValueType.String,
338
+ calc_string_nocase_equal: common_js_1.ValueType.String,
339
+ calc_string_contains: common_js_1.ValueType.String,
340
+ };
341
+ const returnTypeMap = {
342
+ logic_as_u256_greater_or_equal: common_js_1.ValueType.Bool,
343
+ logic_as_u256_lesser_or_equal: common_js_1.ValueType.Bool,
344
+ logic_as_u256_equal: common_js_1.ValueType.Bool,
345
+ logic_as_u256_greater: common_js_1.ValueType.Bool,
346
+ logic_as_u256_lesser: common_js_1.ValueType.Bool,
347
+ logic_equal: common_js_1.ValueType.Bool,
348
+ logic_and: common_js_1.ValueType.Bool,
349
+ logic_or: common_js_1.ValueType.Bool,
350
+ logic_string_contains: common_js_1.ValueType.Bool,
351
+ logic_string_nocase_contains: common_js_1.ValueType.Bool,
352
+ logic_string_nocase_equal: common_js_1.ValueType.Bool,
353
+ calc_number_add: common_js_1.ValueType.U256,
354
+ calc_number_subtract: common_js_1.ValueType.U256,
355
+ calc_number_multiply: common_js_1.ValueType.U256,
356
+ calc_number_divide: common_js_1.ValueType.U256,
357
+ calc_number_mod: common_js_1.ValueType.U256,
358
+ calc_string_nocase_contains: common_js_1.ValueType.Bool,
359
+ calc_string_nocase_equal: common_js_1.ValueType.Bool,
360
+ calc_string_contains: common_js_1.ValueType.Bool,
361
+ };
362
+ (0, util_js_2.checkType)(returnTypeMap[node.type], type_required, node);
363
+ await multi_operand_op(opCodeMap[node.type], node.nodes, requiredTypeMap[node.type], table, output);
364
+ break;
346
365
  }
347
- output.push(
348
- import_bcs.bcs.U8.serialize(node.object.convert_witness).toBytes()
349
- );
350
- } else {
351
- if (tableItem?.object_type) {
352
- if (tableItem.object_type !== q.objectType) {
353
- (0, import_exception.W_ERROR)(
354
- import_exception.WErrors.InvalidParam,
355
- `witness object type(${q.objectType}) not consistent with query object type(${tableItem.object_type})`
356
- );
357
- }
358
- } else {
359
- tableItem.object_type = q.objectType;
366
+ case "vec_contains_bool":
367
+ case "vec_contains_address":
368
+ case "vec_contains_string":
369
+ case "vec_contains_string_nocase":
370
+ case "vec_contains_number": {
371
+ const opCodeMap = {
372
+ vec_contains_bool: common_js_1.OperatorType.TypedValueVecContains_Bool,
373
+ vec_contains_address: common_js_1.OperatorType.TypedValueVecContains_Address,
374
+ vec_contains_string: common_js_1.OperatorType.TypedValueVecContains_String,
375
+ vec_contains_string_nocase: common_js_1.OperatorType.TypedValueVecContains_StringNoCase,
376
+ vec_contains_number: common_js_1.OperatorType.TypedValueVecContains_Number,
377
+ };
378
+ const vecTypeMap = {
379
+ vec_contains_bool: common_js_1.ValueType.VecBool,
380
+ vec_contains_address: common_js_1.ValueType.VecAddress,
381
+ vec_contains_string: common_js_1.ValueType.VecString,
382
+ vec_contains_string_nocase: common_js_1.ValueType.VecString,
383
+ vec_contains_number: "vec_number",
384
+ };
385
+ const elemTypeMap = {
386
+ vec_contains_bool: common_js_1.ValueType.Bool,
387
+ vec_contains_address: common_js_1.ValueType.Address,
388
+ vec_contains_string: common_js_1.ValueType.String,
389
+ vec_contains_string_nocase: common_js_1.ValueType.String,
390
+ vec_contains_number: "number",
391
+ };
392
+ (0, util_js_2.checkType)(common_js_1.ValueType.Bool, type_required, node);
393
+ //@ 第一个节点是vec类型,后面的节点是元素类型
394
+ for (let i = node.nodes.length - 1; i >= 0; --i) {
395
+ const nodeType = i === 0 ? vecTypeMap[node.type] : elemTypeMap[node.type];
396
+ await buildNode(node.nodes[i], nodeType, table, output);
397
+ }
398
+ output.push(index_js_1.bcs.U8.serialize(opCodeMap[node.type]).toBytes());
399
+ output.push(index_js_1.bcs.U8.serialize(node.nodes.length).toBytes());
400
+ break;
401
+ }
402
+ case "logic_not":
403
+ case "calc_string_length":
404
+ case "convert_number_address":
405
+ case "convert_address_number":
406
+ case "convert_number_string":
407
+ case "convert_string_number":
408
+ case "convert_safe_u8":
409
+ case "convert_safe_u16":
410
+ case "convert_safe_u32":
411
+ case "convert_safe_u64":
412
+ case "convert_safe_u128":
413
+ case "convert_safe_u256":
414
+ case "value_type":
415
+ case "vec_length": {
416
+ const opCodeMap = {
417
+ logic_not: common_js_1.OperatorType.TypeLogicNot,
418
+ calc_string_length: common_js_1.OperatorType.TypeStringLength,
419
+ convert_number_address: common_js_1.OperatorType.TypeNumberAddress,
420
+ convert_address_number: common_js_1.OperatorType.TypeAddressNumber,
421
+ convert_number_string: common_js_1.OperatorType.TypeNumberString,
422
+ convert_string_number: common_js_1.OperatorType.TypeStringNumber,
423
+ //convert_string_lowercase: OperatorType.TypeStringLowercase,
424
+ convert_safe_u8: common_js_1.OperatorType.TypeSafeU8,
425
+ convert_safe_u16: common_js_1.OperatorType.TypeSafeU16,
426
+ convert_safe_u32: common_js_1.OperatorType.TypeSafeU32,
427
+ convert_safe_u64: common_js_1.OperatorType.TypeSafeU64,
428
+ convert_safe_u128: common_js_1.OperatorType.TypeSafeU128,
429
+ convert_safe_u256: common_js_1.OperatorType.TypeSafeU256,
430
+ value_type: common_js_1.OperatorType.TypedValueType,
431
+ vec_length: common_js_1.OperatorType.TypedValueVecLength,
432
+ };
433
+ const requiredTypeMap = {
434
+ logic_not: common_js_1.ValueType.Bool,
435
+ calc_string_length: common_js_1.ValueType.String,
436
+ convert_number_address: "number",
437
+ convert_address_number: common_js_1.ValueType.Address,
438
+ convert_number_string: "number",
439
+ convert_string_number: common_js_1.ValueType.String,
440
+ convert_safe_u8: "number",
441
+ convert_safe_u16: "number",
442
+ convert_safe_u32: "number",
443
+ convert_safe_u64: "number",
444
+ convert_safe_u128: "number",
445
+ convert_safe_u256: "number",
446
+ value_type: "variable",
447
+ vec_length: "vec",
448
+ };
449
+ const returnTypeMap = {
450
+ logic_not: common_js_1.ValueType.Bool,
451
+ calc_string_length: common_js_1.ValueType.U64,
452
+ convert_number_address: common_js_1.ValueType.Address,
453
+ convert_address_number: common_js_1.ValueType.U256,
454
+ convert_number_string: common_js_1.ValueType.String,
455
+ convert_string_number: common_js_1.ValueType.U256,
456
+ convert_safe_u8: common_js_1.ValueType.U8,
457
+ convert_safe_u16: common_js_1.ValueType.U16,
458
+ convert_safe_u32: common_js_1.ValueType.U32,
459
+ convert_safe_u64: common_js_1.ValueType.U64,
460
+ convert_safe_u128: common_js_1.ValueType.U128,
461
+ convert_safe_u256: common_js_1.ValueType.U256,
462
+ value_type: common_js_1.ValueType.U8,
463
+ vec_length: common_js_1.ValueType.U64,
464
+ };
465
+ (0, util_js_2.checkType)(returnTypeMap[node.type], type_required, node);
466
+ await single_operand_op(opCodeMap[node.type], node.node, requiredTypeMap[node.type], table, output);
467
+ break;
468
+ }
469
+ case "calc_string_indexof":
470
+ case "calc_string_nocase_indexof": {
471
+ const opCodeMap = {
472
+ calc_string_indexof: common_js_1.OperatorType.TypeStringIndexof,
473
+ calc_string_nocase_indexof: common_js_1.OperatorType.TypeStringNocaseIndexof,
474
+ };
475
+ (0, util_js_2.checkType)(common_js_1.ValueType.U64, type_required, node);
476
+ //@ 第一个元素在栈顶
477
+ await buildNode(node.nodeRight, common_js_1.ValueType.String, table, output);
478
+ await buildNode(node.nodeLeft, common_js_1.ValueType.String, table, output);
479
+ output.push(index_js_1.bcs.U8.serialize(opCodeMap[node.type]).toBytes());
480
+ output.push(index_js_1.bcs.U8.serialize(node.order === "forward" ? 0 : 1).toBytes());
481
+ break;
482
+ }
483
+ case "vec_indexof_bool":
484
+ case "vec_indexof_address":
485
+ case "vec_indexof_string":
486
+ case "vec_indexof_string_nocase":
487
+ case "vec_indexof_number": {
488
+ const opCodeMap = {
489
+ vec_indexof_bool: common_js_1.OperatorType.TypedValueVecIndexOf_Bool,
490
+ vec_indexof_address: common_js_1.OperatorType.TypedValueVecIndexOf_Address,
491
+ vec_indexof_string: common_js_1.OperatorType.TypedValueVecIndexOf_String,
492
+ vec_indexof_string_nocase: common_js_1.OperatorType.TypedValueVecIndexOf_StringNoCase,
493
+ vec_indexof_number: common_js_1.OperatorType.TypedValueVecIndexOf_Number,
494
+ };
495
+ const rightTypeMap = {
496
+ vec_indexof_bool: common_js_1.ValueType.Bool,
497
+ vec_indexof_address: common_js_1.ValueType.Address,
498
+ vec_indexof_string: common_js_1.ValueType.String,
499
+ vec_indexof_string_nocase: common_js_1.ValueType.String,
500
+ vec_indexof_number: "number",
501
+ };
502
+ const leftTypeMap = {
503
+ vec_indexof_bool: common_js_1.ValueType.VecBool,
504
+ vec_indexof_address: common_js_1.ValueType.VecAddress,
505
+ vec_indexof_string: common_js_1.ValueType.VecString,
506
+ vec_indexof_string_nocase: common_js_1.ValueType.VecString,
507
+ vec_indexof_number: "vec_number",
508
+ };
509
+ (0, util_js_2.checkType)(common_js_1.ValueType.U64, type_required, node);
510
+ //@ 第一个元素在栈顶
511
+ await buildNode(node.nodeRight, rightTypeMap[node.type], table, output);
512
+ await buildNode(node.nodeLeft, leftTypeMap[node.type], table, output);
513
+ output.push(index_js_1.bcs.U8.serialize(opCodeMap[node.type]).toBytes());
514
+ output.push(index_js_1.bcs.U8.serialize(node.order === "forward" ? 0 : 1).toBytes());
515
+ break;
516
+ }
517
+ case "context": {
518
+ let contextValue;
519
+ switch (node.context) {
520
+ case "Signer":
521
+ contextValue = common_js_1.ContextType.TypeSigner;
522
+ break;
523
+ case "Clock":
524
+ contextValue = common_js_1.ContextType.TypeClock;
525
+ break;
526
+ case "Guard":
527
+ contextValue = common_js_1.ContextType.TypeGuard;
528
+ break;
529
+ default:
530
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "Invalid context type: " + node.context);
531
+ }
532
+ output.push(index_js_1.bcs.U8.serialize(contextValue).toBytes());
533
+ (0, util_js_2.checkType)(common_js_1.ValueType.Address, type_required, node);
534
+ break;
360
535
  }
361
- output.push(
362
- import_bcs.bcs.U8.serialize(import_common.ContextType.TypeConstant).toBytes()
363
- );
364
- }
365
- output.push(import_bcs.bcs.U8.serialize(node.object.identifier).toBytes());
366
- output.push(import_bcs.bcs.U16.serialize(q.id).toBytes());
367
- break;
368
- }
369
- case "logic_as_u256_greater_or_equal":
370
- case "logic_as_u256_lesser_or_equal":
371
- case "logic_as_u256_equal":
372
- case "logic_as_u256_greater":
373
- case "logic_as_u256_lesser":
374
- case "logic_equal":
375
- case "logic_and":
376
- case "logic_or":
377
- case "logic_string_contains":
378
- case "logic_string_nocase_contains":
379
- case "logic_string_nocase_equal":
380
- case "calc_number_add":
381
- case "calc_number_subtract":
382
- case "calc_number_multiply":
383
- case "calc_number_divide":
384
- case "calc_number_mod":
385
- case "calc_string_nocase_contains":
386
- case "calc_string_nocase_equal":
387
- case "calc_string_contains": {
388
- const opCodeMap = {
389
- logic_as_u256_greater_or_equal: import_common.OperatorType.TypeLogicAsU256GreaterEqual,
390
- logic_as_u256_lesser_or_equal: import_common.OperatorType.TypeLogicAsU256LesserEqual,
391
- logic_as_u256_equal: import_common.OperatorType.TypeLogicAsU256Equal,
392
- logic_as_u256_greater: import_common.OperatorType.TypeLogicAsU256Greater,
393
- logic_as_u256_lesser: import_common.OperatorType.TypeLogicAsU256Lesser,
394
- logic_equal: import_common.OperatorType.TypeLogicEqual,
395
- logic_and: import_common.OperatorType.TypeLogicAnd,
396
- logic_or: import_common.OperatorType.TypeLogicOr,
397
- logic_string_contains: import_common.OperatorType.TypeStringContains,
398
- logic_string_nocase_contains: import_common.OperatorType.TypeStringNocaseContains,
399
- logic_string_nocase_equal: import_common.OperatorType.TypeStringNocaseEqual,
400
- calc_number_add: import_common.OperatorType.TypeNumberAdd,
401
- calc_number_subtract: import_common.OperatorType.TypeNumberSubtract,
402
- calc_number_multiply: import_common.OperatorType.TypeNumberMultiply,
403
- calc_number_divide: import_common.OperatorType.TypeNumberDivide,
404
- calc_number_mod: import_common.OperatorType.TypeNumberMod,
405
- calc_string_nocase_contains: import_common.OperatorType.TypeStringNocaseContains,
406
- calc_string_nocase_equal: import_common.OperatorType.TypeStringNocaseEqual,
407
- calc_string_contains: import_common.OperatorType.TypeStringContains
408
- };
409
- const requiredTypeMap = {
410
- logic_as_u256_greater_or_equal: "number",
411
- logic_as_u256_lesser_or_equal: "number",
412
- logic_as_u256_equal: "number",
413
- logic_as_u256_greater: "number",
414
- logic_as_u256_lesser: "number",
415
- logic_equal: "variable",
416
- logic_and: import_common.ValueType.Bool,
417
- logic_or: import_common.ValueType.Bool,
418
- logic_string_contains: import_common.ValueType.String,
419
- logic_string_nocase_contains: import_common.ValueType.String,
420
- logic_string_nocase_equal: import_common.ValueType.String,
421
- calc_number_add: "number",
422
- calc_number_subtract: "number",
423
- calc_number_multiply: "number",
424
- calc_number_divide: "number",
425
- calc_number_mod: "number",
426
- calc_string_nocase_contains: import_common.ValueType.String,
427
- calc_string_nocase_equal: import_common.ValueType.String,
428
- calc_string_contains: import_common.ValueType.String
429
- };
430
- const returnTypeMap = {
431
- logic_as_u256_greater_or_equal: import_common.ValueType.Bool,
432
- logic_as_u256_lesser_or_equal: import_common.ValueType.Bool,
433
- logic_as_u256_equal: import_common.ValueType.Bool,
434
- logic_as_u256_greater: import_common.ValueType.Bool,
435
- logic_as_u256_lesser: import_common.ValueType.Bool,
436
- logic_equal: import_common.ValueType.Bool,
437
- logic_and: import_common.ValueType.Bool,
438
- logic_or: import_common.ValueType.Bool,
439
- logic_string_contains: import_common.ValueType.Bool,
440
- logic_string_nocase_contains: import_common.ValueType.Bool,
441
- logic_string_nocase_equal: import_common.ValueType.Bool,
442
- calc_number_add: import_common.ValueType.U256,
443
- calc_number_subtract: import_common.ValueType.U256,
444
- calc_number_multiply: import_common.ValueType.U256,
445
- calc_number_divide: import_common.ValueType.U256,
446
- calc_number_mod: import_common.ValueType.U256,
447
- calc_string_nocase_contains: import_common.ValueType.Bool,
448
- calc_string_nocase_equal: import_common.ValueType.Bool,
449
- calc_string_contains: import_common.ValueType.Bool
450
- };
451
- (0, import_util2.checkType)(returnTypeMap[node.type], type_required, node);
452
- await multi_operand_op(
453
- opCodeMap[node.type],
454
- node.nodes,
455
- requiredTypeMap[node.type],
456
- table,
457
- output
458
- );
459
- break;
460
- }
461
- case "vec_contains_bool":
462
- case "vec_contains_address":
463
- case "vec_contains_string":
464
- case "vec_contains_string_nocase":
465
- case "vec_contains_number": {
466
- const opCodeMap = {
467
- vec_contains_bool: import_common.OperatorType.TypedValueVecContains_Bool,
468
- vec_contains_address: import_common.OperatorType.TypedValueVecContains_Address,
469
- vec_contains_string: import_common.OperatorType.TypedValueVecContains_String,
470
- vec_contains_string_nocase: import_common.OperatorType.TypedValueVecContains_StringNoCase,
471
- vec_contains_number: import_common.OperatorType.TypedValueVecContains_Number
472
- };
473
- const vecTypeMap = {
474
- vec_contains_bool: import_common.ValueType.VecBool,
475
- vec_contains_address: import_common.ValueType.VecAddress,
476
- vec_contains_string: import_common.ValueType.VecString,
477
- vec_contains_string_nocase: import_common.ValueType.VecString,
478
- vec_contains_number: "vec_number"
479
- };
480
- const elemTypeMap = {
481
- vec_contains_bool: import_common.ValueType.Bool,
482
- vec_contains_address: import_common.ValueType.Address,
483
- vec_contains_string: import_common.ValueType.String,
484
- vec_contains_string_nocase: import_common.ValueType.String,
485
- vec_contains_number: "number"
486
- };
487
- (0, import_util2.checkType)(import_common.ValueType.Bool, type_required, node);
488
- for (let i = node.nodes.length - 1; i >= 0; --i) {
489
- const nodeType = i === 0 ? vecTypeMap[node.type] : elemTypeMap[node.type];
490
- await buildNode(node.nodes[i], nodeType, table, output);
491
- }
492
- output.push(import_bcs.bcs.U8.serialize(opCodeMap[node.type]).toBytes());
493
- output.push(import_bcs.bcs.U8.serialize(node.nodes.length).toBytes());
494
- break;
495
- }
496
- case "logic_not":
497
- case "calc_string_length":
498
- case "convert_number_address":
499
- case "convert_address_number":
500
- case "convert_number_string":
501
- case "convert_string_number":
502
- case "convert_safe_u8":
503
- case "convert_safe_u16":
504
- case "convert_safe_u32":
505
- case "convert_safe_u64":
506
- case "convert_safe_u128":
507
- case "convert_safe_u256":
508
- case "value_type":
509
- case "vec_length": {
510
- const opCodeMap = {
511
- logic_not: import_common.OperatorType.TypeLogicNot,
512
- calc_string_length: import_common.OperatorType.TypeStringLength,
513
- convert_number_address: import_common.OperatorType.TypeNumberAddress,
514
- convert_address_number: import_common.OperatorType.TypeAddressNumber,
515
- convert_number_string: import_common.OperatorType.TypeNumberString,
516
- convert_string_number: import_common.OperatorType.TypeStringNumber,
517
- //convert_string_lowercase: OperatorType.TypeStringLowercase,
518
- convert_safe_u8: import_common.OperatorType.TypeSafeU8,
519
- convert_safe_u16: import_common.OperatorType.TypeSafeU16,
520
- convert_safe_u32: import_common.OperatorType.TypeSafeU32,
521
- convert_safe_u64: import_common.OperatorType.TypeSafeU64,
522
- convert_safe_u128: import_common.OperatorType.TypeSafeU128,
523
- convert_safe_u256: import_common.OperatorType.TypeSafeU256,
524
- value_type: import_common.OperatorType.TypedValueType,
525
- vec_length: import_common.OperatorType.TypedValueVecLength
526
- };
527
- const requiredTypeMap = {
528
- logic_not: import_common.ValueType.Bool,
529
- calc_string_length: import_common.ValueType.String,
530
- convert_number_address: "number",
531
- convert_address_number: import_common.ValueType.Address,
532
- convert_number_string: "number",
533
- convert_string_number: import_common.ValueType.String,
534
- convert_safe_u8: "number",
535
- convert_safe_u16: "number",
536
- convert_safe_u32: "number",
537
- convert_safe_u64: "number",
538
- convert_safe_u128: "number",
539
- convert_safe_u256: "number",
540
- value_type: "variable",
541
- vec_length: "vec"
542
- };
543
- const returnTypeMap = {
544
- logic_not: import_common.ValueType.Bool,
545
- calc_string_length: import_common.ValueType.U64,
546
- convert_number_address: import_common.ValueType.Address,
547
- convert_address_number: import_common.ValueType.U256,
548
- convert_number_string: import_common.ValueType.String,
549
- convert_string_number: import_common.ValueType.U256,
550
- convert_safe_u8: import_common.ValueType.U8,
551
- convert_safe_u16: import_common.ValueType.U16,
552
- convert_safe_u32: import_common.ValueType.U32,
553
- convert_safe_u64: import_common.ValueType.U64,
554
- convert_safe_u128: import_common.ValueType.U128,
555
- convert_safe_u256: import_common.ValueType.U256,
556
- value_type: import_common.ValueType.U8,
557
- vec_length: import_common.ValueType.U64
558
- };
559
- (0, import_util2.checkType)(returnTypeMap[node.type], type_required, node);
560
- await single_operand_op(
561
- opCodeMap[node.type],
562
- node.node,
563
- requiredTypeMap[node.type],
564
- table,
565
- output
566
- );
567
- break;
568
- }
569
- case "calc_string_indexof":
570
- case "calc_string_nocase_indexof": {
571
- const opCodeMap = {
572
- calc_string_indexof: import_common.OperatorType.TypeStringIndexof,
573
- calc_string_nocase_indexof: import_common.OperatorType.TypeStringNocaseIndexof
574
- };
575
- (0, import_util2.checkType)(import_common.ValueType.U64, type_required, node);
576
- await buildNode(node.nodeRight, import_common.ValueType.String, table, output);
577
- await buildNode(node.nodeLeft, import_common.ValueType.String, table, output);
578
- output.push(import_bcs.bcs.U8.serialize(opCodeMap[node.type]).toBytes());
579
- output.push(
580
- import_bcs.bcs.U8.serialize(node.order === "forward" ? 0 : 1).toBytes()
581
- );
582
- break;
583
- }
584
- case "vec_indexof_bool":
585
- case "vec_indexof_address":
586
- case "vec_indexof_string":
587
- case "vec_indexof_string_nocase":
588
- case "vec_indexof_number": {
589
- const opCodeMap = {
590
- vec_indexof_bool: import_common.OperatorType.TypedValueVecIndexOf_Bool,
591
- vec_indexof_address: import_common.OperatorType.TypedValueVecIndexOf_Address,
592
- vec_indexof_string: import_common.OperatorType.TypedValueVecIndexOf_String,
593
- vec_indexof_string_nocase: import_common.OperatorType.TypedValueVecIndexOf_StringNoCase,
594
- vec_indexof_number: import_common.OperatorType.TypedValueVecIndexOf_Number
595
- };
596
- const rightTypeMap = {
597
- vec_indexof_bool: import_common.ValueType.Bool,
598
- vec_indexof_address: import_common.ValueType.Address,
599
- vec_indexof_string: import_common.ValueType.String,
600
- vec_indexof_string_nocase: import_common.ValueType.String,
601
- vec_indexof_number: "number"
602
- };
603
- const leftTypeMap = {
604
- vec_indexof_bool: import_common.ValueType.VecBool,
605
- vec_indexof_address: import_common.ValueType.VecAddress,
606
- vec_indexof_string: import_common.ValueType.VecString,
607
- vec_indexof_string_nocase: import_common.ValueType.VecString,
608
- vec_indexof_number: "vec_number"
609
- };
610
- (0, import_util2.checkType)(import_common.ValueType.U64, type_required, node);
611
- await buildNode(
612
- node.nodeRight,
613
- rightTypeMap[node.type],
614
- table,
615
- output
616
- );
617
- await buildNode(
618
- node.nodeLeft,
619
- leftTypeMap[node.type],
620
- table,
621
- output
622
- );
623
- output.push(import_bcs.bcs.U8.serialize(opCodeMap[node.type]).toBytes());
624
- output.push(
625
- import_bcs.bcs.U8.serialize(node.order === "forward" ? 0 : 1).toBytes()
626
- );
627
- break;
628
- }
629
- case "context": {
630
- let contextValue;
631
- switch (node.context) {
632
- case "Signer":
633
- contextValue = import_common.ContextType.TypeSigner;
634
- break;
635
- case "Clock":
636
- contextValue = import_common.ContextType.TypeClock;
637
- break;
638
- case "Guard":
639
- contextValue = import_common.ContextType.TypeGuard;
640
- break;
641
536
  default:
642
- (0, import_exception.W_ERROR)(
643
- import_exception.WErrors.InvalidParam,
644
- "Invalid context type: " + node.context
645
- );
646
- }
647
- output.push(import_bcs.bcs.U8.serialize(contextValue).toBytes());
648
- (0, import_util2.checkType)(import_common.ValueType.Address, type_required, node);
649
- break;
537
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "node:" + JSON.stringify(node));
650
538
  }
651
- default:
652
- (0, import_exception.W_ERROR)(import_exception.WErrors.InvalidParam, "node:" + JSON.stringify(node));
653
- }
654
539
  };
655
540
  const multi_operand_op = async (op_code, parameters, required_type, table, output) => {
656
- if (parameters.length < 2 || parameters.length > import_common.MAX_MULTI_OPERANDS) {
657
- (0, import_exception.W_ERROR)(
658
- import_exception.WErrors.InvalidParam,
659
- `op ${op_code} parameters length must >= 2 and <=
660
- ${import_common.MAX_MULTI_OPERANDS}. parameters:
661
- ${JSON.stringify(parameters)}`
662
- );
663
- }
664
- for (let i = parameters.length - 1; i >= 0; --i) {
665
- await buildNode(parameters[i], required_type, table, output);
666
- }
667
- output.push(import_bcs.bcs.U8.serialize(op_code).toBytes());
668
- output.push(import_bcs.bcs.U8.serialize(parameters.length).toBytes());
541
+ if (parameters.length < 2 || parameters.length > common_js_1.MAX_MULTI_OPERANDS) {
542
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `op ${op_code} parameters length must >= 2 and <=
543
+ ${common_js_1.MAX_MULTI_OPERANDS}. parameters:
544
+ ${JSON.stringify(parameters)}`);
545
+ }
546
+ //@ 和query一样,栈顶是第一个参数
547
+ for (let i = parameters.length - 1; i >= 0; --i) {
548
+ await buildNode(parameters[i], required_type, table, output);
549
+ }
550
+ output.push(index_js_1.bcs.U8.serialize(op_code).toBytes()); // TYPE
551
+ output.push(index_js_1.bcs.U8.serialize(parameters.length).toBytes());
669
552
  };
670
553
  const single_operand_op = async (op_code, parameter, required_type, table, output) => {
671
- await buildNode(parameter, required_type, table, output);
672
- output.push(import_bcs.bcs.U8.serialize(op_code).toBytes());
554
+ await buildNode(parameter, required_type, table, output);
555
+ output.push(index_js_1.bcs.U8.serialize(op_code).toBytes()); // TYPE
673
556
  };
557
+ /**
558
+ * Query Guard object data and export to JSON or Markdown file
559
+ * @param guard - Guard object ID or name
560
+ * @param file_path - Output file path
561
+ * @param format - Output format: "json" or "markdown"
562
+ * @param network - Network entrypoint
563
+ * @throws Error if query fails or file write fails
564
+ */
674
565
  const guard2file = async (guard, file_path, format = "json", network) => {
675
- const queryResult = await (0, import_object.query_objects)({
676
- objects: [guard],
677
- network
678
- });
679
- const objects = queryResult.objects;
680
- if (!objects || objects.length === 0 || objects[0].type !== "Guard") {
681
- (0, import_exception.W_ERROR)(
682
- import_exception.WErrors.InvalidParam,
683
- `guard2file: Guard object not found: ${guard}`
684
- );
685
- return;
686
- }
687
- const guardObj = objects[0];
688
- if (!guardObj) {
689
- (0, import_exception.W_ERROR)(
690
- import_exception.WErrors.InvalidParam,
691
- `guard2file: Failed to get Guard object data: ${guard}`
692
- );
693
- return;
694
- }
695
- let content;
696
- if (format === "json") {
697
- content = generateGuardJson(guardObj);
698
- } else {
699
- content = generateGuardMarkdown(guardObj);
700
- }
701
- try {
702
- const resolvedPath = (0, import_path.resolve)(file_path);
703
- (0, import_fs.writeFileSync)(resolvedPath, content, "utf-8");
704
- } catch (e) {
705
- (0, import_exception.W_ERROR)(
706
- import_exception.WErrors.InvalidParam,
707
- `guard2file: Failed to write file '${file_path}': ${e.message}`
708
- );
709
- }
566
+ // Query Guard object
567
+ const queryResult = await (0, object_js_1.query_objects)({
568
+ objects: [guard],
569
+ network,
570
+ });
571
+ const objects = queryResult.objects;
572
+ if (!objects || objects.length === 0 || objects[0].type !== "Guard") {
573
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `guard2file: Guard object not found: ${guard}`);
574
+ return;
575
+ }
576
+ const guardObj = objects[0];
577
+ if (!guardObj) {
578
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `guard2file: Failed to get Guard object data: ${guard}`);
579
+ return;
580
+ }
581
+ // Prepare output content based on format
582
+ let content;
583
+ if (format === "json") {
584
+ content = generateGuardJson(guardObj);
585
+ }
586
+ else {
587
+ content = generateGuardMarkdown(guardObj);
588
+ }
589
+ // Write to file
590
+ try {
591
+ const resolvedPath = (0, path_1.resolve)(file_path);
592
+ (0, fs_1.writeFileSync)(resolvedPath, content, "utf-8");
593
+ }
594
+ catch (e) {
595
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, `guard2file: Failed to write file '${file_path}': ${e.message}`);
596
+ }
710
597
  };
598
+ exports.guard2file = guard2file;
599
+ /**
600
+ * Generate JSON format Guard definition with comments
601
+ */
711
602
  const generateGuardJson = (guardObj) => {
712
- const output = {};
713
- if (guardObj.description) {
714
- output.description = guardObj.description;
715
- }
716
- if (guardObj.table && guardObj.table.length > 0) {
717
- output.table = guardObj.table.map((item) => ({
718
- identifier: item.identifier,
719
- b_submission: item.b_submission,
720
- value_type: item.value_type,
721
- value: item.value,
722
- name: item.name
723
- }));
724
- }
725
- if (guardObj.root) {
726
- output.root = guardObj.root;
727
- }
728
- if (guardObj.relies && guardObj.relies.length > 0) {
729
- output.rely = {
730
- guards: guardObj.relies,
731
- logic_or: !guardObj.relies_logic_and
732
- };
733
- }
734
- return JSON.stringify(output, null, 2);
603
+ const output = {};
604
+ // Description
605
+ if (guardObj.description) {
606
+ output.description = guardObj.description;
607
+ }
608
+ // Table
609
+ if (guardObj.table && guardObj.table.length > 0) {
610
+ output.table = guardObj.table.map((item) => ({
611
+ identifier: item.identifier,
612
+ b_submission: item.b_submission,
613
+ value_type: item.value_type,
614
+ value: item.value,
615
+ name: item.name,
616
+ }));
617
+ }
618
+ // Root node - use guardObj.root directly (already parsed tree structure)
619
+ if (guardObj.root) {
620
+ output.root = guardObj.root;
621
+ }
622
+ // Rely (dependencies)
623
+ if (guardObj.relies && guardObj.relies.length > 0) {
624
+ output.rely = {
625
+ guards: guardObj.relies,
626
+ logic_or: !guardObj.relies_logic_and,
627
+ };
628
+ }
629
+ return JSON.stringify(output, null, 2);
735
630
  };
631
+ /**
632
+ * Generate Markdown format Guard definition with comments
633
+ */
736
634
  const generateGuardMarkdown = (guardObj) => {
737
- const lines = [];
738
- lines.push(`# Guard Definition`);
739
- lines.push("");
740
- lines.push(`**Object ID:** ${guardObj.object}`);
741
- lines.push("");
742
- lines.push("## Summary");
743
- lines.push("");
744
- const description = guardObj.description || "";
745
- const tableCount = guardObj.table ? guardObj.table.length : 0;
746
- let summary = `${description.length > 100 ? description.substring(0, 97) + "..." : description}`;
747
- summary += ` [${tableCount} tables]`;
748
- lines.push(summary);
749
- lines.push("");
750
- lines.push("## Description");
751
- lines.push("");
752
- lines.push(guardObj.description || "");
753
- lines.push("");
754
- lines.push("## Table (Data Definitions)");
755
- lines.push("");
756
- lines.push("| Identifier | b_submission | value_type | value | name |");
757
- lines.push("|------------|--------------|------------|-------|------|");
758
- if (guardObj.table && guardObj.table.length > 0) {
759
- for (const item of guardObj.table) {
760
- const itemValueType = (0, import_common.parseValueType)(item.value_type);
761
- const valueTypeStr = valueTypeToString(itemValueType);
762
- const valueStr = formatValueForMarkdown(item.value);
763
- lines.push(
764
- `| ${item.identifier} | ${item.b_submission} | ${valueTypeStr} (${item.value_type}) | ${valueStr} | ${item.name} |`
765
- );
766
- }
767
- } else {
768
- lines.push("| - | - | - | - | - |");
769
- }
770
- lines.push("");
771
- lines.push("## Root (Computational Tree)");
772
- lines.push("");
773
- lines.push("The root node MUST return a Bool value (pass/fail).");
774
- lines.push("");
775
- if (guardObj.root) {
776
- lines.push("```json");
777
- lines.push(JSON.stringify(guardObj.root, null, 2));
778
- lines.push("```");
635
+ const lines = [];
636
+ // Header
637
+ lines.push(`# Guard Definition`);
779
638
  lines.push("");
780
- const nodeComments = generateNodeComments(guardObj.root);
781
- if (nodeComments.length > 0) {
782
- lines.push("### Node Comments");
783
- lines.push("");
784
- for (const comment of nodeComments) {
785
- lines.push(`- **${comment.type}**: ${comment.description}`);
786
- }
787
- lines.push("");
788
- }
789
- } else {
790
- lines.push("*No root node data available*");
639
+ lines.push(`**Object ID:** ${guardObj.object}`);
640
+ lines.push("");
641
+ // Summary
642
+ lines.push("## Summary");
643
+ lines.push("");
644
+ const description = guardObj.description || "";
645
+ const tableCount = guardObj.table ? guardObj.table.length : 0;
646
+ let summary = `${description.length > 100 ? description.substring(0, 97) + "..." : description}`;
647
+ summary += ` [${tableCount} tables]`;
648
+ lines.push(summary);
649
+ lines.push("");
650
+ // Description
651
+ lines.push("## Description");
791
652
  lines.push("");
792
- }
793
- if (guardObj.relies && guardObj.relies.length > 0) {
794
- lines.push("## Rely (Dependencies)");
653
+ lines.push(guardObj.description || "");
795
654
  lines.push("");
796
- lines.push(`**Logic:** ${guardObj.relies_logic_and ? "AND" : "OR"}`);
655
+ // Table
656
+ lines.push("## Table (Data Definitions)");
797
657
  lines.push("");
798
- lines.push("**Dependent Guards:**");
799
- for (const rely of guardObj.relies) {
800
- lines.push(`- ${rely}`);
658
+ lines.push("| Identifier | b_submission | value_type | value | name |");
659
+ lines.push("|------------|--------------|------------|-------|------|");
660
+ if (guardObj.table && guardObj.table.length > 0) {
661
+ for (const item of guardObj.table) {
662
+ const itemValueType = (0, common_js_1.parseValueType)(item.value_type);
663
+ const valueTypeStr = valueTypeToString(itemValueType);
664
+ const valueStr = formatValueForMarkdown(item.value);
665
+ lines.push(`| ${item.identifier} | ${item.b_submission} | ${valueTypeStr} (${item.value_type}) | ${valueStr} | ${item.name} |`);
666
+ }
667
+ }
668
+ else {
669
+ lines.push("| - | - | - | - | - |");
801
670
  }
802
671
  lines.push("");
803
- }
804
- return lines.join("\n");
672
+ // Root node - use guardObj.root directly (already parsed tree structure)
673
+ lines.push("## Root (Computational Tree)");
674
+ lines.push("");
675
+ lines.push("The root node MUST return a Bool value (pass/fail).");
676
+ lines.push("");
677
+ if (guardObj.root) {
678
+ lines.push("```json");
679
+ lines.push(JSON.stringify(guardObj.root, null, 2));
680
+ lines.push("```");
681
+ lines.push("");
682
+ // Add node comments
683
+ const nodeComments = (0, exports.generateNodeComments)(guardObj.root);
684
+ if (nodeComments.length > 0) {
685
+ lines.push("### Node Comments");
686
+ lines.push("");
687
+ for (const comment of nodeComments) {
688
+ lines.push(`- **${comment.type}**: ${comment.description}`);
689
+ }
690
+ lines.push("");
691
+ }
692
+ }
693
+ else {
694
+ lines.push("*No root node data available*");
695
+ lines.push("");
696
+ }
697
+ // Rely
698
+ if (guardObj.relies && guardObj.relies.length > 0) {
699
+ lines.push("## Rely (Dependencies)");
700
+ lines.push("");
701
+ lines.push(`**Logic:** ${guardObj.relies_logic_and ? "AND" : "OR"}`);
702
+ lines.push("");
703
+ lines.push("**Dependent Guards:**");
704
+ for (const rely of guardObj.relies) {
705
+ lines.push(`- ${rely}`);
706
+ }
707
+ lines.push("");
708
+ }
709
+ return lines.join("\n");
805
710
  };
711
+ /**
712
+ * Format value for markdown display
713
+ */
806
714
  const formatValueForMarkdown = (value) => {
807
- if (value === void 0 || value === null) {
808
- return "-";
809
- }
810
- if (typeof value === "boolean") {
811
- return value ? "true" : "false";
812
- }
813
- if (typeof value === "string") {
814
- if (value.length > 30) {
815
- return value.substring(0, 27) + "...";
715
+ if (value === undefined || value === null) {
716
+ return "-";
816
717
  }
817
- return value;
818
- }
819
- if (typeof value === "number") {
820
- return value.toString();
821
- }
822
- if (Array.isArray(value)) {
823
- if (value.length === 0) return "[]";
824
- if (value.length > 3) {
825
- return `[${value.slice(0, 3).join(", ")}, ... (${value.length} items)]`;
718
+ if (typeof value === "boolean") {
719
+ return value ? "true" : "false";
826
720
  }
827
- return `[${value.join(", ")}]`;
828
- }
829
- if (typeof value === "object") {
830
- return "{...}";
831
- }
832
- return String(value);
721
+ if (typeof value === "string") {
722
+ if (value.length > 30) {
723
+ return value.substring(0, 27) + "...";
724
+ }
725
+ return value;
726
+ }
727
+ if (typeof value === "number") {
728
+ return value.toString();
729
+ }
730
+ if (Array.isArray(value)) {
731
+ if (value.length === 0)
732
+ return "[]";
733
+ if (value.length > 3) {
734
+ return `[${value.slice(0, 3).join(", ")}, ... (${value.length} items)]`;
735
+ }
736
+ return `[${value.join(", ")}]`;
737
+ }
738
+ if (typeof value === "object") {
739
+ return "{...}";
740
+ }
741
+ return String(value);
833
742
  };
743
+ /**
744
+ * Generate comments for Guard nodes
745
+ */
834
746
  const generateNodeComments = (node, comments = []) => {
835
- if (!node) return comments;
836
- if (node.type === "query") {
837
- const queryId = typeof node.query === "number" ? node.query : void 0;
838
- if (queryId !== void 0) {
839
- const queryInfo = import_guard_ins.GUARDQUERY.find((q) => q.id === queryId);
840
- if (queryInfo) {
747
+ if (!node)
748
+ return comments;
749
+ // Add comment for this node
750
+ if (node.type === "query") {
751
+ const queryId = typeof node.query === "number" ? node.query : undefined;
752
+ if (queryId !== undefined) {
753
+ const queryInfo = guard_ins_js_1.GUARDQUERY.find((q) => q.id === queryId);
754
+ if (queryInfo) {
755
+ comments.push({
756
+ type: `query(${node.query})`,
757
+ description: `${queryInfo.name}: ${queryInfo.description}`,
758
+ });
759
+ }
760
+ }
761
+ }
762
+ else if (node.type.startsWith("logic_")) {
841
763
  comments.push({
842
- type: `query(${node.query})`,
843
- description: `${queryInfo.name}: ${queryInfo.description}`
764
+ type: node.type,
765
+ description: `Logic operation: ${node.type.replace(/_/g, " ")}`,
844
766
  });
845
- }
846
767
  }
847
- } else if (node.type.startsWith("logic_")) {
848
- comments.push({
849
- type: node.type,
850
- description: `Logic operation: ${node.type.replace(/_/g, " ")}`
851
- });
852
- } else if (node.type.startsWith("calc_")) {
853
- comments.push({
854
- type: node.type,
855
- description: `Calculation: ${node.type.replace(/_/g, " ")}`
856
- });
857
- } else if (node.type.startsWith("convert_")) {
858
- comments.push({
859
- type: node.type,
860
- description: `Type conversion: ${node.type.replace(/_/g, " ")}`
861
- });
862
- }
863
- if ("nodes" in node && Array.isArray(node.nodes)) {
864
- for (const childNode of node.nodes) {
865
- generateNodeComments(childNode, comments);
768
+ else if (node.type.startsWith("calc_")) {
769
+ comments.push({
770
+ type: node.type,
771
+ description: `Calculation: ${node.type.replace(/_/g, " ")}`,
772
+ });
773
+ }
774
+ else if (node.type.startsWith("convert_")) {
775
+ comments.push({
776
+ type: node.type,
777
+ description: `Type conversion: ${node.type.replace(/_/g, " ")}`,
778
+ });
779
+ }
780
+ // Recursively process child nodes
781
+ if ("nodes" in node && Array.isArray(node.nodes)) {
782
+ for (const childNode of node.nodes) {
783
+ (0, exports.generateNodeComments)(childNode, comments);
784
+ }
785
+ }
786
+ if ("node" in node && node.node) {
787
+ (0, exports.generateNodeComments)(node.node, comments);
866
788
  }
867
- }
868
- if ("node" in node && node.node) {
869
- generateNodeComments(node.node, comments);
870
- }
871
- if ("parameters" in node && Array.isArray(node.parameters)) {
872
- for (const param of node.parameters) {
873
- generateNodeComments(param, comments);
789
+ if ("parameters" in node && Array.isArray(node.parameters)) {
790
+ for (const param of node.parameters) {
791
+ (0, exports.generateNodeComments)(param, comments);
792
+ }
793
+ }
794
+ if ("nodeLeft" in node && node.nodeLeft) {
795
+ (0, exports.generateNodeComments)(node.nodeLeft, comments);
796
+ }
797
+ if ("nodeRight" in node && node.nodeRight) {
798
+ (0, exports.generateNodeComments)(node.nodeRight, comments);
874
799
  }
875
- }
876
- if ("nodeLeft" in node && node.nodeLeft) {
877
- generateNodeComments(node.nodeLeft, comments);
878
- }
879
- if ("nodeRight" in node && node.nodeRight) {
880
- generateNodeComments(node.nodeRight, comments);
881
- }
882
- return comments;
800
+ return comments;
883
801
  };
802
+ exports.generateNodeComments = generateNodeComments;
803
+ /**
804
+ * Convert ValueType enum to string representation
805
+ */
884
806
  const valueTypeToString = (valueType) => {
885
- const typeMap = {
886
- [import_common.ValueType.Bool]: "Bool",
887
- [import_common.ValueType.Address]: "Address",
888
- [import_common.ValueType.String]: "String",
889
- [import_common.ValueType.U8]: "U8",
890
- [import_common.ValueType.U16]: "U16",
891
- [import_common.ValueType.U32]: "U32",
892
- [import_common.ValueType.U64]: "U64",
893
- [import_common.ValueType.U128]: "U128",
894
- [import_common.ValueType.U256]: "U256",
895
- [import_common.ValueType.VecBool]: "VecBool",
896
- [import_common.ValueType.VecAddress]: "VecAddress",
897
- [import_common.ValueType.VecString]: "VecString",
898
- [import_common.ValueType.VecU8]: "VecU8",
899
- [import_common.ValueType.VecU16]: "VecU16",
900
- [import_common.ValueType.VecU32]: "VecU32",
901
- [import_common.ValueType.VecU64]: "VecU64",
902
- [import_common.ValueType.VecU128]: "VecU128",
903
- [import_common.ValueType.VecU256]: "VecU256",
904
- [import_common.ValueType.VecVecU8]: "VecVecU8",
905
- [import_common.ValueType.Value]: "Value"
906
- };
907
- return typeMap[valueType] || `Unknown(${valueType})`;
807
+ const typeMap = {
808
+ [common_js_1.ValueType.Bool]: "Bool",
809
+ [common_js_1.ValueType.Address]: "Address",
810
+ [common_js_1.ValueType.String]: "String",
811
+ [common_js_1.ValueType.U8]: "U8",
812
+ [common_js_1.ValueType.U16]: "U16",
813
+ [common_js_1.ValueType.U32]: "U32",
814
+ [common_js_1.ValueType.U64]: "U64",
815
+ [common_js_1.ValueType.U128]: "U128",
816
+ [common_js_1.ValueType.U256]: "U256",
817
+ [common_js_1.ValueType.VecBool]: "VecBool",
818
+ [common_js_1.ValueType.VecAddress]: "VecAddress",
819
+ [common_js_1.ValueType.VecString]: "VecString",
820
+ [common_js_1.ValueType.VecU8]: "VecU8",
821
+ [common_js_1.ValueType.VecU16]: "VecU16",
822
+ [common_js_1.ValueType.VecU32]: "VecU32",
823
+ [common_js_1.ValueType.VecU64]: "VecU64",
824
+ [common_js_1.ValueType.VecU128]: "VecU128",
825
+ [common_js_1.ValueType.VecU256]: "VecU256",
826
+ [common_js_1.ValueType.VecVecU8]: "VecVecU8",
827
+ [common_js_1.ValueType.Value]: "Value",
828
+ };
829
+ return typeMap[valueType] || `Unknown(${valueType})`;
908
830
  };
909
831
  const gen_passport = async (env, guard, info) => {
910
- if (!(0, import_sui_types.isValidWowAddress)(guard)) {
911
- (0, import_exception.W_ERROR)(import_exception.WErrors.InvalidParam, "guard invalid: guard empty");
912
- }
913
- await (0, import_util2.resolveCallEnv)(env);
914
- const s = await (0, import_passport.get_guardSubmissions)(env, [guard]);
915
- if (s.submission.length > 0) {
916
- if (!info) {
917
- return {
918
- type: "submission",
919
- guard: s.guard,
920
- submission: s.submission
921
- };
922
- } else {
923
- return await (0, import_passport.verify_guard)(env, info);
832
+ if (!(0, sui_types_js_1.isValidWowAddress)(guard)) {
833
+ (0, exception_js_1.W_ERROR)(exception_js_1.WErrors.InvalidParam, "guard invalid: guard empty");
834
+ }
835
+ await (0, util_js_2.resolveCallEnv)(env);
836
+ const s = await (0, passport_js_1.get_guardSubmissions)(env, [guard]);
837
+ if (s.submission.length > 0) {
838
+ if (!info) {
839
+ return {
840
+ type: "submission",
841
+ guard: s.guard,
842
+ submission: s.submission,
843
+ };
844
+ }
845
+ else {
846
+ return await (0, passport_js_1.verify_guard)(env, info);
847
+ }
848
+ }
849
+ else {
850
+ return await (0, passport_js_1.verify_guard)(env, {
851
+ type: "submission",
852
+ guard: [{ object: guard, impack: true }],
853
+ submission: [],
854
+ });
924
855
  }
925
- } else {
926
- return await (0, import_passport.verify_guard)(env, {
927
- type: "submission",
928
- guard: [{ object: guard, impack: true }],
929
- submission: []
930
- });
931
- }
932
856
  };
857
+ exports.gen_passport = gen_passport;
858
+ /**
859
+ * Detect file format from content or extension
860
+ */
933
861
  function detectFileFormatFromContent(text) {
934
- const trimmed = text.trim();
935
- if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
936
- return "json";
937
- }
938
- return "markdown";
862
+ const trimmed = text.trim();
863
+ if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
864
+ return "json";
865
+ }
866
+ return "markdown";
939
867
  }
868
+ /**
869
+ * Extract JSON from markdown code blocks
870
+ */
940
871
  function extractJsonFromMarkdown(markdown) {
941
- const codeBlockRegex = /```(?:json)?\s*\n([\s\S]*?)```/g;
942
- let match;
943
- let lastMatch = null;
944
- while ((match = codeBlockRegex.exec(markdown)) !== null) {
945
- const jsonContent = match[1].trim();
946
- if (jsonContent.startsWith("{") || jsonContent.startsWith("[")) {
947
- const beforeMatch = markdown.substring(0, match.index);
948
- const lineOffset = (beforeMatch.match(/\n/g) || []).length + 1;
949
- lastMatch = { json: jsonContent, lineOffset };
872
+ const codeBlockRegex = /```(?:json)?\s*\n([\s\S]*?)```/g;
873
+ let match;
874
+ let lastMatch = null;
875
+ while ((match = codeBlockRegex.exec(markdown)) !== null) {
876
+ const jsonContent = match[1].trim();
877
+ if (jsonContent.startsWith("{") || jsonContent.startsWith("[")) {
878
+ const beforeMatch = markdown.substring(0, match.index);
879
+ const lineOffset = (beforeMatch.match(/\n/g) || []).length + 1;
880
+ lastMatch = { json: jsonContent, lineOffset };
881
+ // Continue to find the last JSON block (most complete one)
882
+ }
950
883
  }
951
- }
952
- return lastMatch;
884
+ return lastMatch;
953
885
  }
886
+ /**
887
+ * Parse table from markdown section
888
+ * First tries JSON code block, then falls back to markdown table
889
+ */
954
890
  function parseTableFromMarkdown(section) {
955
- const jsonMatch = section.match(/```(?:json)?\s*\n([\s\S]*?)```/);
956
- if (jsonMatch) {
957
- try {
958
- const parsed = JSON.parse(jsonMatch[1]);
959
- if (Array.isArray(parsed)) {
960
- return parsed;
961
- }
962
- } catch {
963
- }
964
- }
965
- const tableRows = section.match(/\|[^\n]+\|/g);
966
- if (tableRows && tableRows.length > 2) {
967
- return tableRows.slice(2).map((row) => {
968
- const cells = row.split("|").filter((c) => c.trim()).map((c) => c.trim());
969
- const valueTypeCell = cells[2];
970
- let value_type;
971
- const numericMatch = valueTypeCell.match(/\d+/);
972
- if (numericMatch) {
973
- value_type = parseInt(numericMatch[0], 10);
974
- } else {
975
- const typeNameMatch = valueTypeCell.match(/^([A-Za-z]+)/);
976
- if (typeNameMatch) {
977
- value_type = typeNameMatch[1];
978
- } else {
979
- throw new Error(
980
- `Invalid value_type in table row: "${valueTypeCell}". Expected a number (0-19) or type name (e.g., "U64", "Address")`
981
- );
891
+ // Try JSON code block first
892
+ const jsonMatch = section.match(/```(?:json)?\s*\n([\s\S]*?)```/);
893
+ if (jsonMatch) {
894
+ try {
895
+ const parsed = JSON.parse(jsonMatch[1]);
896
+ if (Array.isArray(parsed)) {
897
+ return parsed;
898
+ }
982
899
  }
983
- }
984
- return {
985
- identifier: parseInt(cells[0], 10),
986
- b_submission: cells[1].toLowerCase() === "true",
987
- value_type,
988
- value: cells[3] === "-" ? void 0 : cells[3],
989
- name: cells[4] === "-" ? void 0 : cells[4]
990
- };
991
- });
992
- }
993
- return void 0;
900
+ catch {
901
+ // JSON parse failed, continue to table parsing
902
+ }
903
+ }
904
+ // Fallback to markdown table
905
+ const tableRows = section.match(/\|[^\n]+\|/g);
906
+ if (tableRows && tableRows.length > 2) {
907
+ // Skip header and separator rows
908
+ return tableRows.slice(2).map((row) => {
909
+ const cells = row
910
+ .split("|")
911
+ .filter((c) => c.trim())
912
+ .map((c) => c.trim());
913
+ // Parse value_type - can be number (6) or string ("U64" or "U64 (6)")
914
+ const valueTypeCell = cells[2];
915
+ let value_type;
916
+ // Try to parse as number first
917
+ const numericMatch = valueTypeCell.match(/\d+/);
918
+ if (numericMatch) {
919
+ value_type = parseInt(numericMatch[0], 10);
920
+ }
921
+ else {
922
+ // Try to extract type name (e.g., "U64" from "U64" or "U64 (6)")
923
+ const typeNameMatch = valueTypeCell.match(/^([A-Za-z]+)/);
924
+ if (typeNameMatch) {
925
+ value_type = typeNameMatch[1];
926
+ }
927
+ else {
928
+ throw new Error(`Invalid value_type in table row: "${valueTypeCell}". Expected a number (0-19) or type name (e.g., "U64", "Address")`);
929
+ }
930
+ }
931
+ return {
932
+ identifier: parseInt(cells[0], 10),
933
+ b_submission: cells[1].toLowerCase() === "true",
934
+ value_type,
935
+ value: cells[3] === "-" ? undefined : cells[3],
936
+ name: cells[4] === "-" ? undefined : cells[4],
937
+ };
938
+ });
939
+ }
940
+ return undefined;
994
941
  }
942
+ /**
943
+ * Parse rely from markdown section
944
+ */
995
945
  function parseRelyFromMarkdown(section) {
996
- const logicMatch = section.match(/\*\*Logic:\*\*\s*(AND|OR)/i);
997
- const guardListMatches = section.match(/^\s*[-*]\s*(\S+)$/gm);
998
- if (logicMatch || guardListMatches) {
999
- return {
1000
- logic_or: logicMatch ? logicMatch[1].toUpperCase() === "OR" : false,
1001
- guards: guardListMatches ? guardListMatches.map(
1002
- (g) => g.replace(/^\s*[-*]\s*/, "").trim()
1003
- ) : []
1004
- };
1005
- }
1006
- return void 0;
946
+ const logicMatch = section.match(/\*\*Logic:\*\*\s*(AND|OR)/i);
947
+ const guardListMatches = section.match(/^\s*[-*]\s*(\S+)$/gm);
948
+ if (logicMatch || guardListMatches) {
949
+ return {
950
+ logic_or: logicMatch ? logicMatch[1].toUpperCase() === "OR" : false,
951
+ guards: guardListMatches
952
+ ? guardListMatches.map((g) => g.replace(/^\s*[-*]\s*/, "").trim())
953
+ : [],
954
+ };
955
+ }
956
+ return undefined;
1007
957
  }
958
+ /**
959
+ * Parse Guard definition from markdown content
960
+ * Unified parsing logic shared between SDK and MCP
961
+ */
1008
962
  function parseGuardFromMarkdown(content) {
1009
- const errors = [];
1010
- const result = {};
1011
- const jsonMatch = extractJsonFromMarkdown(content);
1012
- if (jsonMatch) {
1013
- try {
1014
- const parsed = JSON.parse(
1015
- jsonMatch.json
1016
- );
1017
- Object.assign(result, parsed);
1018
- } catch (e) {
1019
- errors.push({
1020
- message: `Failed to parse JSON from code block: ${e.message}`,
1021
- path: "/",
1022
- line: jsonMatch.lineOffset
1023
- });
963
+ const errors = [];
964
+ const result = {};
965
+ // Try to extract full JSON from code blocks first
966
+ const jsonMatch = extractJsonFromMarkdown(content);
967
+ if (jsonMatch) {
968
+ try {
969
+ const parsed = JSON.parse(jsonMatch.json);
970
+ Object.assign(result, parsed);
971
+ }
972
+ catch (e) {
973
+ errors.push({
974
+ message: `Failed to parse JSON from code block: ${e.message}`,
975
+ path: "/",
976
+ line: jsonMatch.lineOffset,
977
+ });
978
+ }
1024
979
  }
1025
- }
1026
- if (!result.description) {
1027
- const descMatch = content.match(
1028
- /(?:^|\n)#+\s*(?:Description|Description|Description)[^\n]*\n+([^\n#]+)/i
1029
- );
1030
- if (descMatch) {
1031
- result.description = descMatch[1].trim();
980
+ // Parse description section (if not already from JSON)
981
+ if (!result.description) {
982
+ const descMatch = content.match(/(?:^|\n)#+\s*(?:Description|Description|Description)[^\n]*\n+([^\n#]+)/i);
983
+ if (descMatch) {
984
+ result.description = descMatch[1].trim();
985
+ }
1032
986
  }
1033
- }
1034
- if (!result.table) {
1035
- const tableMatch = content.match(
1036
- /(?:^|\n)#+\s*(?:Table|Data Table|数据表)[^\n]*\n+([\s\S]*?)(?=(?:\n#+|$))/i
1037
- );
1038
- if (tableMatch) {
1039
- const table = parseTableFromMarkdown(tableMatch[1]);
1040
- if (table) {
1041
- result.table = table;
1042
- }
987
+ // Parse table section (if not already from JSON)
988
+ if (!result.table) {
989
+ const tableMatch = content.match(/(?:^|\n)#+\s*(?:Table|Data Table|数据表)[^\n]*\n+([\s\S]*?)(?=(?:\n#+|$))/i);
990
+ if (tableMatch) {
991
+ const table = parseTableFromMarkdown(tableMatch[1]);
992
+ if (table) {
993
+ result.table = table;
994
+ }
995
+ }
1043
996
  }
1044
- }
1045
- if (!result.root) {
1046
- const rootMatch = content.match(
1047
- /(?:^|\n)#+\s*(?:Root|根节点)[^\n]*\n+([\s\S]*?)(?=(?:\n#+|$))/i
1048
- );
1049
- if (rootMatch) {
1050
- const rootSection = rootMatch[1];
1051
- const rootJsonMatch = rootSection.match(
1052
- /```(?:json)?\s*\n([\s\S]*?)```/
1053
- );
1054
- if (rootJsonMatch) {
1055
- try {
1056
- result.root = JSON.parse(rootJsonMatch[1]);
1057
- } catch (e) {
1058
- errors.push({
1059
- message: `Failed to parse root JSON: ${e.message}`,
1060
- path: "/root"
1061
- });
997
+ // Parse root section (if not already from JSON)
998
+ if (!result.root) {
999
+ const rootMatch = content.match(/(?:^|\n)#+\s*(?:Root|根节点)[^\n]*\n+([\s\S]*?)(?=(?:\n#+|$))/i);
1000
+ if (rootMatch) {
1001
+ const rootSection = rootMatch[1];
1002
+ const rootJsonMatch = rootSection.match(/```(?:json)?\s*\n([\s\S]*?)```/);
1003
+ if (rootJsonMatch) {
1004
+ try {
1005
+ result.root = JSON.parse(rootJsonMatch[1]);
1006
+ }
1007
+ catch (e) {
1008
+ errors.push({
1009
+ message: `Failed to parse root JSON: ${e.message}`,
1010
+ path: "/root",
1011
+ });
1012
+ }
1013
+ }
1062
1014
  }
1063
- }
1064
1015
  }
1065
- }
1066
- if (!result.rely) {
1067
- const relyMatch = content.match(
1068
- /(?:^|\n)#+\s*(?:Rely|Dependencies|依赖)[^\n]*\n+([\s\S]*?)(?=(?:\n#+|$))/i
1069
- );
1070
- if (relyMatch) {
1071
- const rely = parseRelyFromMarkdown(relyMatch[1]);
1072
- if (rely) {
1073
- result.rely = rely;
1074
- }
1016
+ // Parse rely section (if not already from JSON)
1017
+ if (!result.rely) {
1018
+ const relyMatch = content.match(/(?:^|\n)#+\s*(?:Rely|Dependencies|依赖)[^\n]*\n+([\s\S]*?)(?=(?:\n#+|$))/i);
1019
+ if (relyMatch) {
1020
+ const rely = parseRelyFromMarkdown(relyMatch[1]);
1021
+ if (rely) {
1022
+ result.rely = rely;
1023
+ }
1024
+ }
1075
1025
  }
1076
- }
1077
- if (!result.root) {
1078
- errors.push({
1079
- message: "Guard root node not found in markdown file",
1080
- path: "/root"
1081
- });
1082
- return { success: false, errors };
1083
- }
1084
- return {
1085
- success: true,
1086
- data: result,
1087
- errors
1088
- };
1026
+ if (!result.root) {
1027
+ errors.push({
1028
+ message: "Guard root node not found in markdown file",
1029
+ path: "/root",
1030
+ });
1031
+ return { success: false, errors };
1032
+ }
1033
+ return {
1034
+ success: true,
1035
+ data: result,
1036
+ errors,
1037
+ };
1089
1038
  }
1039
+ /**
1040
+ * Parse Guard definition from file content
1041
+ * Supports both JSON and Markdown formats
1042
+ * Unified parsing logic shared between SDK and MCP
1043
+ */
1090
1044
  function parseGuardFile(content, format) {
1091
- const detectedFormat = format ?? detectFileFormatFromContent(content);
1092
- if (detectedFormat === "json") {
1093
- try {
1094
- const parsed = JSON.parse(content);
1095
- if (!parsed.root) {
1096
- return {
1097
- success: false,
1098
- errors: [
1099
- {
1100
- message: "Missing required field: root",
1101
- path: "/root"
1045
+ const detectedFormat = format ?? detectFileFormatFromContent(content);
1046
+ if (detectedFormat === "json") {
1047
+ try {
1048
+ const parsed = JSON.parse(content);
1049
+ if (!parsed.root) {
1050
+ return {
1051
+ success: false,
1052
+ errors: [
1053
+ {
1054
+ message: "Missing required field: root",
1055
+ path: "/root",
1056
+ },
1057
+ ],
1058
+ };
1102
1059
  }
1103
- ]
1104
- };
1105
- }
1106
- return { success: true, data: parsed, errors: [] };
1107
- } catch (e) {
1108
- return {
1109
- success: false,
1110
- errors: [
1111
- {
1112
- message: `JSON parse error: ${e.message}`,
1113
- path: "/"
1114
- }
1115
- ]
1116
- };
1060
+ return { success: true, data: parsed, errors: [] };
1061
+ }
1062
+ catch (e) {
1063
+ return {
1064
+ success: false,
1065
+ errors: [
1066
+ {
1067
+ message: `JSON parse error: ${e.message}`,
1068
+ path: "/",
1069
+ },
1070
+ ],
1071
+ };
1072
+ }
1117
1073
  }
1118
- }
1119
- return parseGuardFromMarkdown(content);
1074
+ // Markdown format
1075
+ return parseGuardFromMarkdown(content);
1120
1076
  }
1077
+ /**
1078
+ * Validate GuardNode structure
1079
+ * Basic validation without Zod dependency
1080
+ */
1121
1081
  function validateGuardNode(node) {
1122
- const errors = [];
1123
- if (!node || typeof node !== "object") {
1124
- errors.push({ message: "GuardNode must be an object", path: "/" });
1125
- return { success: false, errors };
1126
- }
1127
- const n = node;
1128
- if (!n.type || typeof n.type !== "string") {
1129
- errors.push({
1130
- message: "GuardNode must have a 'type' property",
1131
- path: "/type"
1132
- });
1133
- return { success: false, errors };
1134
- }
1135
- const validTypes = [
1136
- "identifier",
1137
- "query",
1138
- "context",
1139
- "logic_not",
1140
- "logic_and",
1141
- "logic_or",
1142
- "logic_equal",
1143
- "logic_as_u256_greater_or_equal",
1144
- "logic_as_u256_lesser_or_equal",
1145
- "logic_as_u256_greater",
1146
- "logic_as_u256_lesser",
1147
- "logic_as_u256_equal",
1148
- "logic_string_contains",
1149
- "logic_string_nocase_contains",
1150
- "logic_string_nocase_equal",
1151
- "calc_number_add",
1152
- "calc_number_subtract",
1153
- "calc_number_multiply",
1154
- "calc_number_divide",
1155
- "calc_number_mod",
1156
- "calc_string_length",
1157
- "calc_string_nocase_contains",
1158
- "calc_string_nocase_equal",
1159
- "calc_string_contains",
1160
- "calc_string_indexof",
1161
- "calc_string_nocase_indexof",
1162
- "convert_number_address",
1163
- "convert_address_number",
1164
- "convert_number_string",
1165
- "convert_string_number",
1166
- "convert_safe_u8",
1167
- "convert_safe_u16",
1168
- "convert_safe_u32",
1169
- "convert_safe_u64",
1170
- "convert_safe_u128",
1171
- "convert_safe_u256",
1172
- "value_type",
1173
- "vec_length",
1174
- "vec_contains_bool",
1175
- "vec_contains_address",
1176
- "vec_contains_string",
1177
- "vec_contains_string_nocase",
1178
- "vec_contains_number",
1179
- "vec_indexof_bool",
1180
- "vec_indexof_address",
1181
- "vec_indexof_string",
1182
- "vec_indexof_string_nocase",
1183
- "vec_indexof_number"
1184
- ];
1185
- if (!validTypes.includes(n.type)) {
1186
- errors.push({
1187
- message: `Invalid GuardNode type: ${n.type}`,
1188
- path: "/type"
1189
- });
1190
- }
1191
- return { success: errors.length === 0, errors };
1082
+ const errors = [];
1083
+ if (!node || typeof node !== "object") {
1084
+ errors.push({ message: "GuardNode must be an object", path: "/" });
1085
+ return { success: false, errors };
1086
+ }
1087
+ const n = node;
1088
+ if (!n.type || typeof n.type !== "string") {
1089
+ errors.push({
1090
+ message: "GuardNode must have a 'type' property",
1091
+ path: "/type",
1092
+ });
1093
+ return { success: false, errors };
1094
+ }
1095
+ // Basic type validation based on node type
1096
+ const validTypes = [
1097
+ "identifier",
1098
+ "query",
1099
+ "context",
1100
+ "logic_not",
1101
+ "logic_and",
1102
+ "logic_or",
1103
+ "logic_equal",
1104
+ "logic_as_u256_greater_or_equal",
1105
+ "logic_as_u256_lesser_or_equal",
1106
+ "logic_as_u256_greater",
1107
+ "logic_as_u256_lesser",
1108
+ "logic_as_u256_equal",
1109
+ "logic_string_contains",
1110
+ "logic_string_nocase_contains",
1111
+ "logic_string_nocase_equal",
1112
+ "calc_number_add",
1113
+ "calc_number_subtract",
1114
+ "calc_number_multiply",
1115
+ "calc_number_divide",
1116
+ "calc_number_mod",
1117
+ "calc_string_length",
1118
+ "calc_string_nocase_contains",
1119
+ "calc_string_nocase_equal",
1120
+ "calc_string_contains",
1121
+ "calc_string_indexof",
1122
+ "calc_string_nocase_indexof",
1123
+ "convert_number_address",
1124
+ "convert_address_number",
1125
+ "convert_number_string",
1126
+ "convert_string_number",
1127
+ "convert_safe_u8",
1128
+ "convert_safe_u16",
1129
+ "convert_safe_u32",
1130
+ "convert_safe_u64",
1131
+ "convert_safe_u128",
1132
+ "convert_safe_u256",
1133
+ "value_type",
1134
+ "vec_length",
1135
+ "vec_contains_bool",
1136
+ "vec_contains_address",
1137
+ "vec_contains_string",
1138
+ "vec_contains_string_nocase",
1139
+ "vec_contains_number",
1140
+ "vec_indexof_bool",
1141
+ "vec_indexof_address",
1142
+ "vec_indexof_string",
1143
+ "vec_indexof_string_nocase",
1144
+ "vec_indexof_number",
1145
+ ];
1146
+ if (!validTypes.includes(n.type)) {
1147
+ errors.push({
1148
+ message: `Invalid GuardNode type: ${n.type}`,
1149
+ path: "/type",
1150
+ });
1151
+ }
1152
+ return { success: errors.length === 0, errors };
1192
1153
  }
1154
+ /**
1155
+ * Format parse errors for display
1156
+ */
1193
1157
  function formatGuardParseErrors(errors) {
1194
- return errors.map((e) => {
1195
- let msg = `Path: ${e.path}`;
1196
- if (e.line !== void 0 && e.column !== void 0) {
1197
- msg += ` (line ${e.line}, column ${e.column})`;
1198
- }
1199
- msg += `
1200
- Error: ${e.message}`;
1201
- return msg;
1202
- }).join("\n\n");
1158
+ return errors
1159
+ .map((e) => {
1160
+ let msg = `Path: ${e.path}`;
1161
+ if (e.line !== undefined && e.column !== undefined) {
1162
+ msg += ` (line ${e.line}, column ${e.column})`;
1163
+ }
1164
+ msg += `\n Error: ${e.message}`;
1165
+ return msg;
1166
+ })
1167
+ .join("\n\n");
1203
1168
  }
1169
+ //# sourceMappingURL=guard.js.map