wowok 2.1.9 → 2.1.12

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