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,646 +1,623 @@
1
+ // Copyright (c) Wowok.
2
+ // SPDX-License-Identifier: Apache-2.0
1
3
  import { bcs } from "../../bcs/index.js";
2
- import {
3
- isValueTypeNumber,
4
- OperatorType,
5
- ValueType,
6
- parseValueType
7
- } from "../common.js";
4
+ import { isValueTypeNumber, OperatorType, ValueType, parseValueType, } from "../common.js";
8
5
  import { ContextType, MAX_ENV_PERMISSION_GUARD_COUNT } from "../common.js";
9
6
  import { W_ERROR, WErrors } from "../exception.js";
10
7
  import { Config, GetAccountOrMark_Address } from "../local/index.js";
11
8
  import { LocalMark } from "../local/local.js";
12
9
  import { GUARDQUERY, getGuardQueryInfo } from "./guard-ins.js";
13
- const getCallEnvAccount = async (env) => {
14
- const acc = await GetAccountOrMark_Address({
15
- name_or_address: env.account || ""
16
- });
17
- if (!acc) {
18
- W_ERROR(WErrors.InvalidParam, `account ${env.account} not found`);
19
- }
20
- env.account = acc;
21
- return acc;
10
+ export const getCallEnvAccount = async (env) => {
11
+ const acc = await GetAccountOrMark_Address({
12
+ name_or_address: env.account || "",
13
+ });
14
+ if (!acc) {
15
+ W_ERROR(WErrors.InvalidParam, `account ${env.account} not found`);
16
+ }
17
+ env.account = acc;
18
+ return acc;
22
19
  };
23
20
  function createSingleOperandNode(property, operand) {
24
- const node = { type: property, node: operand };
25
- return node;
21
+ const node = { type: property, node: operand };
22
+ return node;
26
23
  }
27
- const resolveCallEnv = async (env) => {
28
- env.network = await Config.Instance().network_get(env?.network);
29
- const acc = await getCallEnvAccount(env);
30
- if (env?.permission_guard && env.permission_guard?.length > 0) {
31
- const guards = await LocalMark.Instance().get_many_address_availables(
32
- env.permission_guard
33
- );
34
- if (guards.length !== env.permission_guard.length) {
35
- const foundGuardSet = new Set(guards);
36
- const notFoundGuards = env.permission_guard.filter(
37
- (guard) => !foundGuardSet.has(guard)
38
- );
39
- W_ERROR(
40
- WErrors.InvalidParam,
41
- `permission_guard not found: ${notFoundGuards.join(", ")}`
42
- );
43
- }
44
- env.permission_guard = [...guards];
45
- if (env.permission_guard.length > MAX_ENV_PERMISSION_GUARD_COUNT) {
46
- W_ERROR(
47
- WErrors.InvalidParam,
48
- `permission_guard length ${env.permission_guard.length} exceeds ${MAX_ENV_PERMISSION_GUARD_COUNT}`
49
- );
24
+ export const resolveCallEnv = async (env) => {
25
+ env.network = await Config.Instance().network_get(env?.network);
26
+ const acc = await getCallEnvAccount(env);
27
+ // 去重处理
28
+ if (env?.permission_guard && env.permission_guard?.length > 0) {
29
+ const guards = await LocalMark.Instance().get_many_address_availables(env.permission_guard);
30
+ if (guards.length !== env.permission_guard.length) {
31
+ // 找出没有找到的 guard
32
+ const foundGuardSet = new Set(guards);
33
+ const notFoundGuards = env.permission_guard.filter((guard) => !foundGuardSet.has(guard));
34
+ W_ERROR(WErrors.InvalidParam, `permission_guard not found: ${notFoundGuards.join(", ")}`);
35
+ }
36
+ env.permission_guard = [...guards];
37
+ if (env.permission_guard.length > MAX_ENV_PERMISSION_GUARD_COUNT) {
38
+ W_ERROR(WErrors.InvalidParam, `permission_guard length ${env.permission_guard.length} exceeds ${MAX_ENV_PERMISSION_GUARD_COUNT}`);
39
+ }
50
40
  }
51
- }
52
- if (env?.referrer) {
53
- const r = await GetAccountOrMark_Address({
54
- name_or_address: env.referrer || ""
55
- });
56
- if (r) {
57
- env.referrer = r;
58
- } else {
59
- W_ERROR(WErrors.InvalidParam, `referrer ${env.referrer} not found`);
41
+ if (env?.referrer) {
42
+ const r = await GetAccountOrMark_Address({
43
+ name_or_address: env.referrer || "",
44
+ });
45
+ if (r) {
46
+ env.referrer = r;
47
+ }
48
+ else {
49
+ W_ERROR(WErrors.InvalidParam, `referrer ${env.referrer} not found`);
50
+ }
60
51
  }
61
- }
62
- return acc;
52
+ return acc;
63
53
  };
64
- const checkType = (type, type_required, node) => {
65
- if (type_required === "variable") {
66
- return;
67
- } else if (type_required === "number") {
68
- if (isValueTypeNumber(type) || type === ContextType.TypeClock || type === ValueType.Value) {
69
- return;
54
+ // ================================================
55
+ // 从output和table恢复GuardNode的函数
56
+ // ================================================
57
+ export const checkType = (type, type_required, node) => {
58
+ if (type_required === "variable") {
59
+ return;
60
+ }
61
+ else if (type_required === "number") {
62
+ if (isValueTypeNumber(type) ||
63
+ type === ContextType.TypeClock ||
64
+ type === ValueType.Value) {
65
+ return;
66
+ }
70
67
  }
71
- } else if (type_required === ValueType.Address) {
72
- if (type === ContextType.TypeSigner || type === ContextType.TypeGuard || type === ValueType.Value) {
73
- return;
68
+ else if (type_required === ValueType.Address) {
69
+ if (type === ContextType.TypeSigner ||
70
+ type === ContextType.TypeGuard ||
71
+ type === ValueType.Value) {
72
+ return;
73
+ }
74
+ }
75
+ else if (type === ValueType.Value) {
76
+ // Value 是动态类型,可以匹配任何具体类型
77
+ return;
74
78
  }
75
- } else if (type === ValueType.Value) {
76
- return;
77
- } else if (type_required === ValueType.Value) {
78
- return;
79
- } else if (type_required === "vec_number") {
80
- if (type === ValueType.VecU8 || type === ValueType.VecU16 || type === ValueType.VecU32 || type === ValueType.VecU64 || type === ValueType.VecU128 || type === ValueType.VecU256) {
81
- return;
79
+ else if (type_required === ValueType.Value) {
80
+ // 任何类型都可以赋值给 Value 类型
81
+ return;
82
82
  }
83
- } else if (type_required === "vec") {
84
- if (type === ValueType.VecBool || type === ValueType.VecAddress || type === ValueType.VecString || type === ValueType.VecU8 || type === ValueType.VecU16 || type === ValueType.VecU32 || type === ValueType.VecU64 || type === ValueType.VecU128 || type === ValueType.VecU256) {
85
- return;
83
+ else if (type_required === "vec_number") {
84
+ if (type === ValueType.VecU8 ||
85
+ type === ValueType.VecU16 ||
86
+ type === ValueType.VecU32 ||
87
+ type === ValueType.VecU64 ||
88
+ type === ValueType.VecU128 ||
89
+ type === ValueType.VecU256) {
90
+ return;
91
+ }
92
+ }
93
+ else if (type_required === "vec") {
94
+ if (type === ValueType.VecBool ||
95
+ type === ValueType.VecAddress ||
96
+ type === ValueType.VecString ||
97
+ type === ValueType.VecU8 ||
98
+ type === ValueType.VecU16 ||
99
+ type === ValueType.VecU32 ||
100
+ type === ValueType.VecU64 ||
101
+ type === ValueType.VecU128 ||
102
+ type === ValueType.VecU256) {
103
+ return;
104
+ }
105
+ }
106
+ if (type !== type_required) {
107
+ W_ERROR(WErrors.InvalidParam, `checkType: ${type} require type: ${type_required} with node: ${JSON.stringify(node)}`);
86
108
  }
87
- }
88
- if (type !== type_required) {
89
- W_ERROR(
90
- WErrors.InvalidParam,
91
- `checkType: ${type} require type: ${type_required} with node: ${JSON.stringify(node)}`
92
- );
93
- }
94
109
  };
110
+ // 从链上获取数据,就不用再checkType
95
111
  const parseNode = (parserState) => {
96
- if (parserState.currentPosition >= parserState.output.length) {
97
- W_ERROR(
98
- WErrors.InvalidParam,
99
- "parseNode: Unexpected end of output while parsing node"
100
- );
101
- }
102
- const opCode = parserState.output[parserState.currentPosition];
103
- parserState.currentPosition++;
104
- switch (opCode) {
105
- case ContextType.TypeConstant:
106
- if (parserState.currentPosition >= parserState.output.length) {
107
- W_ERROR(
108
- WErrors.InvalidParam,
109
- "parseNode: Missing identifier after TypeConstant opcode"
110
- );
111
- }
112
- const identifierByte = parserState.output[parserState.currentPosition];
113
- parserState.currentPosition++;
114
- return { type: "identifier", identifier: identifierByte };
115
- case OperatorType.TypeQuery:
116
- return parseQueryNode(parserState);
117
- case OperatorType.TypeLogicAsU256GreaterEqual:
118
- return parseMultiOperandNode(
119
- parserState,
120
- "logic_as_u256_greater_or_equal"
121
- );
122
- case OperatorType.TypeLogicAsU256LesserEqual:
123
- return parseMultiOperandNode(
124
- parserState,
125
- "logic_as_u256_lesser_or_equal"
126
- );
127
- case OperatorType.TypeLogicAsU256Equal:
128
- return parseMultiOperandNode(parserState, "logic_as_u256_equal");
129
- case OperatorType.TypeLogicAsU256Greater:
130
- return parseMultiOperandNode(parserState, "logic_as_u256_greater");
131
- case OperatorType.TypeLogicAsU256Lesser:
132
- return parseMultiOperandNode(parserState, "logic_as_u256_lesser");
133
- case OperatorType.TypeLogicEqual:
134
- return parseMultiOperandNode(parserState, "logic_equal");
135
- case OperatorType.TypeLogicAnd:
136
- return parseMultiOperandNode(parserState, "logic_and");
137
- case OperatorType.TypeLogicOr:
138
- return parseMultiOperandNode(parserState, "logic_or");
139
- case OperatorType.TypeStringContains:
140
- return parseMultiOperandNode(parserState, "logic_string_contains");
141
- case OperatorType.TypeStringNocaseContains:
142
- return parseMultiOperandNode(
143
- parserState,
144
- "logic_string_nocase_contains"
145
- );
146
- case OperatorType.TypeStringNocaseEqual:
147
- return parseMultiOperandNode(
148
- parserState,
149
- "logic_string_nocase_equal"
150
- );
151
- case OperatorType.TypeNumberAdd:
152
- return parseMultiOperandNode(parserState, "calc_number_add");
153
- case OperatorType.TypeNumberSubtract:
154
- return parseMultiOperandNode(parserState, "calc_number_subtract");
155
- case OperatorType.TypeNumberMultiply:
156
- return parseMultiOperandNode(parserState, "calc_number_multiply");
157
- case OperatorType.TypeNumberDivide:
158
- return parseMultiOperandNode(parserState, "calc_number_divide");
159
- case OperatorType.TypeNumberMod:
160
- return parseMultiOperandNode(parserState, "calc_number_mod");
161
- case OperatorType.TypeLogicNot:
162
- return parseSingleOperandNode(parserState, "logic_not");
163
- case OperatorType.TypeStringLength:
164
- return parseSingleOperandNode(parserState, "calc_string_length");
165
- case OperatorType.TypeNumberAddress:
166
- return parseSingleOperandNode(
167
- parserState,
168
- "convert_number_address"
169
- );
170
- case OperatorType.TypeAddressNumber:
171
- return parseSingleOperandNode(
172
- parserState,
173
- "convert_address_number"
174
- );
175
- case OperatorType.TypeNumberString:
176
- return parseSingleOperandNode(parserState, "convert_number_string");
177
- case OperatorType.TypeStringNumber:
178
- return parseSingleOperandNode(parserState, "convert_string_number");
179
- /*case OperatorType.TypeStringLowercase:
180
- return parseSingleOperandNode(
181
- parserState,
182
- "convert_string_lowercase",
183
- );*/
184
- case OperatorType.TypeSafeU8:
185
- return parseSingleOperandNode(parserState, "convert_safe_u8");
186
- case OperatorType.TypeSafeU16:
187
- return parseSingleOperandNode(parserState, "convert_safe_u16");
188
- case OperatorType.TypeSafeU32:
189
- return parseSingleOperandNode(parserState, "convert_safe_u32");
190
- case OperatorType.TypeSafeU64:
191
- return parseSingleOperandNode(parserState, "convert_safe_u64");
192
- case OperatorType.TypeSafeU128:
193
- return parseSingleOperandNode(parserState, "convert_safe_u128");
194
- case OperatorType.TypeSafeU256:
195
- return parseSingleOperandNode(parserState, "convert_safe_u256");
196
- case OperatorType.TypeStringIndexof:
197
- return parseTwoOperandNode(parserState, "calc_string_indexof");
198
- case OperatorType.TypeStringNocaseIndexof:
199
- return parseTwoOperandNode(
200
- parserState,
201
- "calc_string_nocase_indexof"
202
- );
203
- // typedValue 操作
204
- case OperatorType.TypedValueType:
205
- return parseSingleOperandNode(parserState, "value_type");
206
- case OperatorType.TypedValueVecLength:
207
- return parseSingleOperandNode(parserState, "vec_length");
208
- case OperatorType.TypedValueVecContains_Bool:
209
- return parseMultiOperandNode(parserState, "vec_contains_bool");
210
- case OperatorType.TypedValueVecContains_Address:
211
- return parseMultiOperandNode(parserState, "vec_contains_address");
212
- case OperatorType.TypedValueVecContains_String:
213
- return parseMultiOperandNode(parserState, "vec_contains_string");
214
- case OperatorType.TypedValueVecContains_StringNoCase:
215
- return parseMultiOperandNode(
216
- parserState,
217
- "vec_contains_string_nocase"
218
- );
219
- case OperatorType.TypedValueVecContains_Number:
220
- return parseMultiOperandNode(parserState, "vec_contains_number");
221
- case OperatorType.TypedValueVecIndexOf_Bool:
222
- return parseTwoOperandNode(parserState, "vec_indexof_bool");
223
- case OperatorType.TypedValueVecIndexOf_Address:
224
- return parseTwoOperandNode(parserState, "vec_indexof_address");
225
- case OperatorType.TypedValueVecIndexOf_String:
226
- return parseTwoOperandNode(parserState, "vec_indexof_string");
227
- case OperatorType.TypedValueVecIndexOf_StringNoCase:
228
- return parseTwoOperandNode(
229
- parserState,
230
- "vec_indexof_string_nocase"
231
- );
232
- case OperatorType.TypedValueVecIndexOf_Number:
233
- return parseTwoOperandNode(parserState, "vec_indexof_number");
234
- case ContextType.TypeSigner:
235
- return { type: "context", context: "Signer" };
236
- case ContextType.TypeGuard:
237
- return { type: "context", context: "Guard" };
238
- case ContextType.TypeClock:
239
- return { type: "context", context: "Clock" };
240
- default:
241
- throw new Error(`ParseGuardNode: Unknown opcode: ${opCode}`);
242
- }
112
+ if (parserState.currentPosition >= parserState.output.length) {
113
+ W_ERROR(WErrors.InvalidParam, "parseNode: Unexpected end of output while parsing node");
114
+ }
115
+ const opCode = parserState.output[parserState.currentPosition];
116
+ parserState.currentPosition++;
117
+ switch (opCode) {
118
+ case ContextType.TypeConstant: // TYPE_CONSTANT
119
+ if (parserState.currentPosition >= parserState.output.length) {
120
+ W_ERROR(WErrors.InvalidParam, "parseNode: Missing identifier after TypeConstant opcode");
121
+ }
122
+ const identifierByte = parserState.output[parserState.currentPosition];
123
+ parserState.currentPosition++;
124
+ /*从guard数据恢复,不查也没问题
125
+ const tableItem = parserState.table.find(
126
+ (item) => item.identifier === identifierByte,
127
+ );
128
+ if (!tableItem) {
129
+ W_ERROR(
130
+ WErrors.InvalidParam,
131
+ `parseNode: Identifier ${identifierByte} not found in table`,
132
+ );
133
+ }*/
134
+ return { type: "identifier", identifier: identifierByte };
135
+ case OperatorType.TypeQuery: // QUERY TYPE
136
+ return parseQueryNode(parserState);
137
+ case OperatorType.TypeLogicAsU256GreaterEqual:
138
+ return parseMultiOperandNode(parserState, "logic_as_u256_greater_or_equal");
139
+ case OperatorType.TypeLogicAsU256LesserEqual:
140
+ return parseMultiOperandNode(parserState, "logic_as_u256_lesser_or_equal");
141
+ case OperatorType.TypeLogicAsU256Equal:
142
+ return parseMultiOperandNode(parserState, "logic_as_u256_equal");
143
+ case OperatorType.TypeLogicAsU256Greater:
144
+ return parseMultiOperandNode(parserState, "logic_as_u256_greater");
145
+ case OperatorType.TypeLogicAsU256Lesser:
146
+ return parseMultiOperandNode(parserState, "logic_as_u256_lesser");
147
+ case OperatorType.TypeLogicEqual:
148
+ return parseMultiOperandNode(parserState, "logic_equal");
149
+ case OperatorType.TypeLogicAnd:
150
+ return parseMultiOperandNode(parserState, "logic_and");
151
+ case OperatorType.TypeLogicOr:
152
+ return parseMultiOperandNode(parserState, "logic_or");
153
+ case OperatorType.TypeStringContains:
154
+ return parseMultiOperandNode(parserState, "logic_string_contains");
155
+ case OperatorType.TypeStringNocaseContains:
156
+ return parseMultiOperandNode(parserState, "logic_string_nocase_contains");
157
+ case OperatorType.TypeStringNocaseEqual:
158
+ return parseMultiOperandNode(parserState, "logic_string_nocase_equal");
159
+ case OperatorType.TypeNumberAdd:
160
+ return parseMultiOperandNode(parserState, "calc_number_add");
161
+ case OperatorType.TypeNumberSubtract:
162
+ return parseMultiOperandNode(parserState, "calc_number_subtract");
163
+ case OperatorType.TypeNumberMultiply:
164
+ return parseMultiOperandNode(parserState, "calc_number_multiply");
165
+ case OperatorType.TypeNumberDivide:
166
+ return parseMultiOperandNode(parserState, "calc_number_divide");
167
+ case OperatorType.TypeNumberMod:
168
+ return parseMultiOperandNode(parserState, "calc_number_mod");
169
+ case OperatorType.TypeLogicNot:
170
+ return parseSingleOperandNode(parserState, "logic_not");
171
+ case OperatorType.TypeStringLength:
172
+ return parseSingleOperandNode(parserState, "calc_string_length");
173
+ case OperatorType.TypeNumberAddress:
174
+ return parseSingleOperandNode(parserState, "convert_number_address");
175
+ case OperatorType.TypeAddressNumber:
176
+ return parseSingleOperandNode(parserState, "convert_address_number");
177
+ case OperatorType.TypeNumberString:
178
+ return parseSingleOperandNode(parserState, "convert_number_string");
179
+ case OperatorType.TypeStringNumber:
180
+ return parseSingleOperandNode(parserState, "convert_string_number");
181
+ /*case OperatorType.TypeStringLowercase:
182
+ return parseSingleOperandNode(
183
+ parserState,
184
+ "convert_string_lowercase",
185
+ );*/
186
+ case OperatorType.TypeSafeU8:
187
+ return parseSingleOperandNode(parserState, "convert_safe_u8");
188
+ case OperatorType.TypeSafeU16:
189
+ return parseSingleOperandNode(parserState, "convert_safe_u16");
190
+ case OperatorType.TypeSafeU32:
191
+ return parseSingleOperandNode(parserState, "convert_safe_u32");
192
+ case OperatorType.TypeSafeU64:
193
+ return parseSingleOperandNode(parserState, "convert_safe_u64");
194
+ case OperatorType.TypeSafeU128:
195
+ return parseSingleOperandNode(parserState, "convert_safe_u128");
196
+ case OperatorType.TypeSafeU256:
197
+ return parseSingleOperandNode(parserState, "convert_safe_u256");
198
+ case OperatorType.TypeStringIndexof:
199
+ return parseTwoOperandNode(parserState, "calc_string_indexof");
200
+ case OperatorType.TypeStringNocaseIndexof:
201
+ return parseTwoOperandNode(parserState, "calc_string_nocase_indexof");
202
+ // typedValue 操作
203
+ case OperatorType.TypedValueType:
204
+ return parseSingleOperandNode(parserState, "value_type");
205
+ case OperatorType.TypedValueVecLength:
206
+ return parseSingleOperandNode(parserState, "vec_length");
207
+ case OperatorType.TypedValueVecContains_Bool:
208
+ return parseMultiOperandNode(parserState, "vec_contains_bool");
209
+ case OperatorType.TypedValueVecContains_Address:
210
+ return parseMultiOperandNode(parserState, "vec_contains_address");
211
+ case OperatorType.TypedValueVecContains_String:
212
+ return parseMultiOperandNode(parserState, "vec_contains_string");
213
+ case OperatorType.TypedValueVecContains_StringNoCase:
214
+ return parseMultiOperandNode(parserState, "vec_contains_string_nocase");
215
+ case OperatorType.TypedValueVecContains_Number:
216
+ return parseMultiOperandNode(parserState, "vec_contains_number");
217
+ case OperatorType.TypedValueVecIndexOf_Bool:
218
+ return parseTwoOperandNode(parserState, "vec_indexof_bool");
219
+ case OperatorType.TypedValueVecIndexOf_Address:
220
+ return parseTwoOperandNode(parserState, "vec_indexof_address");
221
+ case OperatorType.TypedValueVecIndexOf_String:
222
+ return parseTwoOperandNode(parserState, "vec_indexof_string");
223
+ case OperatorType.TypedValueVecIndexOf_StringNoCase:
224
+ return parseTwoOperandNode(parserState, "vec_indexof_string_nocase");
225
+ case OperatorType.TypedValueVecIndexOf_Number:
226
+ return parseTwoOperandNode(parserState, "vec_indexof_number");
227
+ case ContextType.TypeSigner:
228
+ return { type: "context", context: "Signer" };
229
+ case ContextType.TypeGuard:
230
+ return { type: "context", context: "Guard" };
231
+ case ContextType.TypeClock:
232
+ return { type: "context", context: "Clock" };
233
+ default:
234
+ throw new Error(`ParseGuardNode: Unknown opcode: ${opCode}`);
235
+ }
243
236
  };
244
237
  const parseMultiOperandNode = (parserState, nodeProperty) => {
245
- if (parserState.currentPosition >= parserState.output.length) {
246
- W_ERROR(
247
- WErrors.InvalidParam,
248
- "parseMultiOperandNode: Insufficient data for multi-operand operation"
249
- );
250
- }
251
- const operandCount = parserState.output[parserState.currentPosition];
252
- parserState.currentPosition++;
253
- const operands = [];
254
- for (let i = 0; i < operandCount; i++) {
255
- operands.unshift(parseNode(parserState));
256
- }
257
- const node = {
258
- type: nodeProperty,
259
- nodes: operands
260
- };
261
- return node;
238
+ // For multi-operand operations, we need to read the operand count from the stream
239
+ if (parserState.currentPosition >= parserState.output.length) {
240
+ W_ERROR(WErrors.InvalidParam, "parseMultiOperandNode: Insufficient data for multi-operand operation");
241
+ }
242
+ // Read operand count (the next byte in the stream)
243
+ const operandCount = parserState.output[parserState.currentPosition];
244
+ parserState.currentPosition++;
245
+ // Parse operands in the order they appear in the stream
246
+ const operands = [];
247
+ // Standard multi-operand: all operands use same requiredType (parse in reverse order)
248
+ for (let i = 0; i < operandCount; i++) {
249
+ operands.unshift(parseNode(parserState));
250
+ }
251
+ const node = {
252
+ type: nodeProperty,
253
+ nodes: operands,
254
+ };
255
+ return node;
262
256
  };
263
257
  const parseSingleOperandNode = (parserState, nodeProperty) => {
264
- const operand = parseNode(parserState);
265
- return createSingleOperandNode(
266
- nodeProperty,
267
- operand
268
- );
258
+ const operand = parseNode(parserState);
259
+ return createSingleOperandNode(nodeProperty, operand);
269
260
  };
270
261
  const parseTwoOperandNode = (parserState, nodeProperty) => {
271
- if (parserState.currentPosition >= parserState.output.length) {
272
- W_ERROR(
273
- WErrors.InvalidParam,
274
- "parseTwoOperandNode: Missing order byte"
275
- );
276
- }
277
- const orderByte = parserState.output[parserState.currentPosition];
278
- parserState.currentPosition++;
279
- const order = orderByte === 0 ? "forward" : "backward";
280
- const nodeRight = parseNode(parserState);
281
- const nodeLeft = parseNode(parserState);
282
- const node = {
283
- type: nodeProperty,
284
- nodeLeft,
285
- nodeRight,
286
- order
287
- };
288
- return node;
262
+ // Read order byte (0 = forward, 1 = backward)
263
+ if (parserState.currentPosition >= parserState.output.length) {
264
+ W_ERROR(WErrors.InvalidParam, "parseTwoOperandNode: Missing order byte");
265
+ }
266
+ const orderByte = parserState.output[parserState.currentPosition];
267
+ parserState.currentPosition++;
268
+ const order = orderByte === 0 ? "forward" : "backward";
269
+ // 右侧节点在前
270
+ const nodeRight = parseNode(parserState);
271
+ const nodeLeft = parseNode(parserState);
272
+ const node = {
273
+ type: nodeProperty,
274
+ nodeLeft,
275
+ nodeRight,
276
+ order,
277
+ };
278
+ return node;
289
279
  };
280
+ // Helper function to handle parsing of query nodes with their parameters
290
281
  const parseQueryNode = (parserState) => {
291
- if (parserState.currentPosition >= parserState.output.length) {
292
- W_ERROR(
293
- WErrors.InvalidParam,
294
- "parseQueryNode: Missing witness byte after TypeQuery opcode"
295
- );
296
- }
297
- const witnessByte = parserState.output[parserState.currentPosition];
298
- parserState.currentPosition++;
299
- if (parserState.currentPosition >= parserState.output.length) {
300
- W_ERROR(
301
- WErrors.InvalidParam,
302
- "parseQueryNode: Missing object identifier after witness byte"
303
- );
304
- }
305
- const objectIdentifier = parserState.output[parserState.currentPosition];
306
- parserState.currentPosition++;
307
- const remainingBytes = parserState.output.subarray(
308
- parserState.currentPosition
309
- );
310
- if (remainingBytes.length < 2) {
311
- W_ERROR(
312
- WErrors.InvalidParam,
313
- "parseQueryNode: Not enough bytes for query ID after object identifier"
314
- );
315
- }
316
- const queryId = bcs.U16.parse(remainingBytes);
317
- parserState.currentPosition += 2;
318
- const query = GUARDQUERY.find((q) => q.id === queryId);
319
- if (!query) {
320
- W_ERROR(
321
- WErrors.InvalidParam,
322
- `parseQueryNode: Query with ID ${queryId} not found`
323
- );
324
- }
325
- const queryInfo = getGuardQueryInfo(queryId);
326
- if (!queryInfo) {
327
- W_ERROR(
328
- WErrors.InvalidParam,
329
- `parseQueryNode: Query name not found for ID ${queryId}`
330
- );
331
- }
332
- const parameters = [];
333
- const paramTypes = queryInfo.parameters;
334
- for (let i = paramTypes.length - 1; i >= 0; i--) {
335
- parameters.unshift(parseNode(parserState));
336
- }
337
- const node = {
338
- type: "query",
339
- query: queryInfo.name,
340
- object: {
341
- identifier: objectIdentifier,
342
- ...witnessByte !== ContextType.TypeConstant ? { convert_witness: witnessByte } : {}
343
- },
344
- parameters
345
- };
346
- return node;
347
- };
348
- const restoreNodeFromOutput = (output, table) => {
349
- try {
350
- if (!output || output.length === 0) {
351
- W_ERROR(
352
- WErrors.InvalidParam,
353
- "restoreNodeFromOutput: output is empty"
354
- );
282
+ // Read the witness type (if present)
283
+ if (parserState.currentPosition >= parserState.output.length) {
284
+ W_ERROR(WErrors.InvalidParam, "parseQueryNode: Missing witness byte after TypeQuery opcode");
355
285
  }
356
- const nodeStack = [];
357
- const rep_quote = /* @__PURE__ */ new Map();
358
- let position = 0;
359
- const readByte = () => {
360
- if (position >= output.length) {
361
- W_ERROR(
362
- WErrors.InvalidParam,
363
- "readByte: Unexpected end of output"
364
- );
365
- }
366
- return output[position++];
367
- };
368
- const readU16 = () => {
369
- if (position + 2 > output.length) {
370
- W_ERROR(
371
- WErrors.InvalidParam,
372
- "readU16: Insufficient bytes for u16"
373
- );
374
- }
375
- const value = output[position] + output[position + 1] * 256;
376
- position += 2;
377
- return value;
286
+ const witnessByte = parserState.output[parserState.currentPosition];
287
+ parserState.currentPosition++;
288
+ // Read the object identifier
289
+ if (parserState.currentPosition >= parserState.output.length) {
290
+ W_ERROR(WErrors.InvalidParam, "parseQueryNode: Missing object identifier after witness byte");
291
+ }
292
+ const objectIdentifier = parserState.output[parserState.currentPosition];
293
+ parserState.currentPosition++;
294
+ // Read the query ID (u16)
295
+ const remainingBytes = parserState.output.subarray(parserState.currentPosition);
296
+ if (remainingBytes.length < 2) {
297
+ W_ERROR(WErrors.InvalidParam, "parseQueryNode: Not enough bytes for query ID after object identifier");
298
+ }
299
+ // Use BCS deserialization to read the u16 query ID
300
+ const queryId = bcs.U16.parse(remainingBytes);
301
+ parserState.currentPosition += 2;
302
+ // Find the query definition
303
+ const query = GUARDQUERY.find((q) => q.id === queryId);
304
+ if (!query) {
305
+ W_ERROR(WErrors.InvalidParam, `parseQueryNode: Query with ID ${queryId} not found`);
306
+ }
307
+ // Get full query info using the name
308
+ const queryInfo = getGuardQueryInfo(queryId);
309
+ if (!queryInfo) {
310
+ W_ERROR(WErrors.InvalidParam, `parseQueryNode: Query name not found for ID ${queryId}`);
311
+ }
312
+ // Parse parameters in reverse order (as serialized by buildNode)
313
+ const parameters = [];
314
+ const paramTypes = queryInfo.parameters;
315
+ for (let i = paramTypes.length - 1; i >= 0; i--) {
316
+ parameters.unshift(parseNode(parserState));
317
+ }
318
+ const node = {
319
+ type: "query",
320
+ query: queryInfo.name,
321
+ object: {
322
+ identifier: objectIdentifier,
323
+ ...(witnessByte !== ContextType.TypeConstant
324
+ ? { convert_witness: witnessByte }
325
+ : {}),
326
+ },
327
+ parameters,
378
328
  };
379
- while (position < output.length) {
380
- const opCode = readByte();
381
- switch (opCode) {
382
- case ContextType.TypeConstant: {
383
- const identifier = readByte();
384
- nodeStack.push({ type: "identifier", identifier });
385
- break;
329
+ return node;
330
+ };
331
+ // Main function to restore GuardNode from output and table
332
+ // Uses a stack-based approach similar to the Rust implementation
333
+ export const restoreNodeFromOutput = (output, table) => {
334
+ try {
335
+ // Validate output format
336
+ if (!output || output.length === 0) {
337
+ W_ERROR(WErrors.InvalidParam, "restoreNodeFromOutput: output is empty");
386
338
  }
387
- case ContextType.TypeSigner:
388
- nodeStack.push({ type: "context", context: "Signer" });
389
- break;
390
- case ContextType.TypeClock:
391
- nodeStack.push({ type: "context", context: "Clock" });
392
- break;
393
- case ContextType.TypeGuard:
394
- nodeStack.push({ type: "context", context: "Guard" });
395
- break;
396
- case OperatorType.TypeQuery: {
397
- const witnessByte = readByte();
398
- const identifier = readByte();
399
- const queryId = readU16();
400
- const queryInfo = getGuardQueryInfo(queryId);
401
- if (!queryInfo) {
402
- W_ERROR(
403
- WErrors.InvalidParam,
404
- `restoreNodeFromOutput: Query with ID ${queryId} not found`
405
- );
406
- }
407
- const parameters = [];
408
- for (let i = 0; i < queryInfo.parameters.length; i++) {
409
- if (nodeStack.length === 0) {
410
- W_ERROR(
411
- WErrors.InvalidParam,
412
- `restoreNodeFromOutput: Insufficient parameters for query ${queryInfo.name}`
413
- );
339
+ // Use a stack to build the node tree, similar to Rust implementation
340
+ const nodeStack = [];
341
+ const rep_quote = new Map(); // rep - policies
342
+ let position = 0;
343
+ // Helper function to read a byte
344
+ const readByte = () => {
345
+ if (position >= output.length) {
346
+ W_ERROR(WErrors.InvalidParam, "readByte: Unexpected end of output");
414
347
  }
415
- parameters.unshift(nodeStack.pop());
416
- }
417
- if (queryInfo.id === 1167 && parameters[0].type === "identifier" && // 来自于table
418
- parameters[0]?.identifier != null) {
419
- const rep_item = table.find(
420
- (item) => item.identifier === identifier && !item.b_submission
421
- );
422
- const policy_item = table.find(
423
- (item) => item.identifier === parameters[0].identifier && !item.b_submission
424
- );
425
- const repItemValueType = rep_item ? parseValueType(rep_item.value_type) : void 0;
426
- const policyItemValueType = policy_item ? parseValueType(policy_item.value_type) : void 0;
427
- if (rep_item && policy_item && repItemValueType === ValueType.Address && policyItemValueType === ValueType.String) {
428
- if (rep_quote.has(rep_item.value)) {
429
- if (!rep_quote.get(rep_item.value).includes(policy_item.value)) {
430
- rep_quote.get(rep_item.value).push(policy_item.value);
348
+ return output[position++];
349
+ };
350
+ // Helper function to read a u16 (little-endian)
351
+ const readU16 = () => {
352
+ if (position + 2 > output.length) {
353
+ W_ERROR(WErrors.InvalidParam, "readU16: Insufficient bytes for u16");
354
+ }
355
+ const value = output[position] + output[position + 1] * 256;
356
+ position += 2;
357
+ return value;
358
+ };
359
+ // Process the input byte by byte, similar to Rust
360
+ while (position < output.length) {
361
+ const opCode = readByte();
362
+ switch (opCode) {
363
+ case ContextType.TypeConstant: {
364
+ // TYPE_CONSTANT (48)
365
+ const identifier = readByte();
366
+ nodeStack.push({ type: "identifier", identifier });
367
+ break;
368
+ }
369
+ case ContextType.TypeSigner: // TYPE_SIGNER (45)
370
+ nodeStack.push({ type: "context", context: "Signer" });
371
+ break;
372
+ case ContextType.TypeClock:
373
+ nodeStack.push({ type: "context", context: "Clock" });
374
+ break;
375
+ case ContextType.TypeGuard:
376
+ nodeStack.push({ type: "context", context: "Guard" });
377
+ break;
378
+ case OperatorType.TypeQuery: {
379
+ // TYPE_QUERY (40)
380
+ const witnessByte = readByte();
381
+ const identifier = readByte();
382
+ const queryId = readU16();
383
+ const queryInfo = getGuardQueryInfo(queryId);
384
+ if (!queryInfo) {
385
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Query with ID ${queryId} not found`);
386
+ }
387
+ // Pop parameters from stack (in reverse order)
388
+ const parameters = [];
389
+ for (let i = 0; i < queryInfo.parameters.length; i++) {
390
+ if (nodeStack.length === 0) {
391
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient parameters for query ${queryInfo.name}`);
392
+ }
393
+ parameters.unshift(nodeStack.pop());
394
+ }
395
+ if (queryInfo.id === 1167 &&
396
+ parameters[0].type === "identifier" && // 来自于table
397
+ parameters[0]?.identifier != null) {
398
+ const rep_item = table.find((item) => item.identifier === identifier &&
399
+ !item.b_submission);
400
+ const policy_item = table.find((item) => item.identifier ===
401
+ parameters[0].identifier &&
402
+ !item.b_submission);
403
+ const repItemValueType = rep_item
404
+ ? parseValueType(rep_item.value_type)
405
+ : undefined;
406
+ const policyItemValueType = policy_item
407
+ ? parseValueType(policy_item.value_type)
408
+ : undefined;
409
+ if (rep_item &&
410
+ policy_item &&
411
+ repItemValueType === ValueType.Address &&
412
+ policyItemValueType === ValueType.String) {
413
+ if (rep_quote.has(rep_item.value)) {
414
+ if (!rep_quote
415
+ .get(rep_item.value)
416
+ .includes(policy_item.value)) {
417
+ rep_quote
418
+ .get(rep_item.value)
419
+ .push(policy_item.value);
420
+ }
421
+ }
422
+ else {
423
+ rep_quote.set(rep_item.value, [
424
+ policy_item.value,
425
+ ]);
426
+ }
427
+ }
428
+ }
429
+ nodeStack.push({
430
+ type: "query",
431
+ query: queryInfo.name,
432
+ object: {
433
+ identifier,
434
+ ...(witnessByte !== ContextType.TypeConstant
435
+ ? { convert_witness: witnessByte }
436
+ : {}),
437
+ },
438
+ parameters,
439
+ });
440
+ break;
441
+ }
442
+ case OperatorType.TypeLogicEqual:
443
+ case OperatorType.TypeLogicAnd:
444
+ case OperatorType.TypeLogicOr:
445
+ case OperatorType.TypeLogicAsU256GreaterEqual:
446
+ case OperatorType.TypeLogicAsU256LesserEqual:
447
+ case OperatorType.TypeLogicAsU256Equal:
448
+ case OperatorType.TypeLogicAsU256Greater:
449
+ case OperatorType.TypeLogicAsU256Lesser:
450
+ case OperatorType.TypeStringContains:
451
+ case OperatorType.TypeStringNocaseContains:
452
+ case OperatorType.TypeStringNocaseEqual:
453
+ case OperatorType.TypeNumberAdd:
454
+ case OperatorType.TypeNumberSubtract:
455
+ case OperatorType.TypeNumberMultiply:
456
+ case OperatorType.TypeNumberDivide:
457
+ case OperatorType.TypeNumberMod: {
458
+ const operandCount = readByte();
459
+ const operands = [];
460
+ // Pop operands from stack
461
+ // Serialization pushes children in reverse order (right to left)
462
+ // Popping gives us right to left, which matches original order
463
+ for (let i = 0; i < operandCount; i++) {
464
+ if (nodeStack.length === 0) {
465
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient operands for multi-operand operation`);
466
+ }
467
+ operands.push(nodeStack.pop());
468
+ }
469
+ const nodeProperty = getNodePropertyFromOpCode(opCode);
470
+ nodeStack.push({
471
+ type: nodeProperty,
472
+ nodes: operands,
473
+ });
474
+ break;
431
475
  }
432
- } else {
433
- rep_quote.set(rep_item.value, [
434
- policy_item.value
435
- ]);
436
- }
476
+ case OperatorType.TypeLogicNot:
477
+ case OperatorType.TypeStringLength:
478
+ case OperatorType.TypeNumberAddress:
479
+ case OperatorType.TypeAddressNumber:
480
+ case OperatorType.TypeNumberString:
481
+ case OperatorType.TypeStringNumber:
482
+ case OperatorType.TypeSafeU8:
483
+ case OperatorType.TypeSafeU16:
484
+ case OperatorType.TypeSafeU32:
485
+ case OperatorType.TypeSafeU64:
486
+ case OperatorType.TypeSafeU128:
487
+ case OperatorType.TypeSafeU256:
488
+ case OperatorType.TypedValueType:
489
+ case OperatorType.TypedValueVecLength: {
490
+ if (nodeStack.length === 0) {
491
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient operand for single-operand operation`);
492
+ }
493
+ const operand = nodeStack.pop();
494
+ const nodeProperty = getNodePropertyFromOpCode(opCode);
495
+ nodeStack.push({
496
+ type: nodeProperty,
497
+ node: operand,
498
+ });
499
+ break;
500
+ }
501
+ case OperatorType.TypeStringIndexof:
502
+ case OperatorType.TypeStringNocaseIndexof:
503
+ case OperatorType.TypedValueVecIndexOf_Bool:
504
+ case OperatorType.TypedValueVecIndexOf_Address:
505
+ case OperatorType.TypedValueVecIndexOf_String:
506
+ case OperatorType.TypedValueVecIndexOf_StringNoCase:
507
+ case OperatorType.TypedValueVecIndexOf_Number: {
508
+ const orderByte = readByte();
509
+ const order = orderByte === 0 ? "forward" : "backward";
510
+ if (nodeStack.length < 2) {
511
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Insufficient operands for two-operand operation`);
512
+ }
513
+ // Pop in reverse order of serialization
514
+ const nodeLeft = nodeStack.pop();
515
+ const nodeRight = nodeStack.pop();
516
+ const nodeProperty = getNodePropertyFromOpCode(opCode);
517
+ nodeStack.push({
518
+ type: nodeProperty,
519
+ nodeLeft,
520
+ nodeRight,
521
+ order,
522
+ });
523
+ break;
524
+ }
525
+ default:
526
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Unknown opcode ${opCode}`);
437
527
  }
438
- }
439
- nodeStack.push({
440
- type: "query",
441
- query: queryInfo.name,
442
- object: {
443
- identifier,
444
- ...witnessByte !== ContextType.TypeConstant ? { convert_witness: witnessByte } : {}
445
- },
446
- parameters
447
- });
448
- break;
449
528
  }
529
+ // The root node should be the only element left in the stack
530
+ if (nodeStack.length !== 1) {
531
+ W_ERROR(WErrors.InvalidParam, `restoreNodeFromOutput: Expected 1 node in stack, found ${nodeStack.length}`);
532
+ }
533
+ return {
534
+ root: nodeStack[0],
535
+ rep_quote,
536
+ };
537
+ }
538
+ catch (error) {
539
+ throw new Error(`restoreNodeFromOutput: Failed to restore GuardNode from output: ${error.message}`);
540
+ }
541
+ };
542
+ // Helper function to get node property from opcode
543
+ const getNodePropertyFromOpCode = (opCode) => {
544
+ switch (opCode) {
450
545
  case OperatorType.TypeLogicEqual:
546
+ return "logic_equal";
451
547
  case OperatorType.TypeLogicAnd:
548
+ return "logic_and";
452
549
  case OperatorType.TypeLogicOr:
550
+ return "logic_or";
453
551
  case OperatorType.TypeLogicAsU256GreaterEqual:
552
+ return "logic_as_u256_greater_or_equal";
454
553
  case OperatorType.TypeLogicAsU256LesserEqual:
554
+ return "logic_as_u256_lesser_or_equal";
455
555
  case OperatorType.TypeLogicAsU256Equal:
556
+ return "logic_as_u256_equal";
456
557
  case OperatorType.TypeLogicAsU256Greater:
558
+ return "logic_as_u256_greater";
457
559
  case OperatorType.TypeLogicAsU256Lesser:
560
+ return "logic_as_u256_lesser";
458
561
  case OperatorType.TypeStringContains:
562
+ return "logic_string_contains";
459
563
  case OperatorType.TypeStringNocaseContains:
564
+ return "logic_string_nocase_contains";
460
565
  case OperatorType.TypeStringNocaseEqual:
566
+ return "logic_string_nocase_equal";
461
567
  case OperatorType.TypeNumberAdd:
568
+ return "calc_number_add";
462
569
  case OperatorType.TypeNumberSubtract:
570
+ return "calc_number_subtract";
463
571
  case OperatorType.TypeNumberMultiply:
572
+ return "calc_number_multiply";
464
573
  case OperatorType.TypeNumberDivide:
465
- case OperatorType.TypeNumberMod: {
466
- const operandCount = readByte();
467
- const operands = [];
468
- for (let i = 0; i < operandCount; i++) {
469
- if (nodeStack.length === 0) {
470
- W_ERROR(
471
- WErrors.InvalidParam,
472
- `restoreNodeFromOutput: Insufficient operands for multi-operand operation`
473
- );
474
- }
475
- operands.push(nodeStack.pop());
476
- }
477
- const nodeProperty = getNodePropertyFromOpCode(opCode);
478
- nodeStack.push({
479
- type: nodeProperty,
480
- nodes: operands
481
- });
482
- break;
483
- }
574
+ return "calc_number_divide";
575
+ case OperatorType.TypeNumberMod:
576
+ return "calc_number_mod";
484
577
  case OperatorType.TypeLogicNot:
578
+ return "logic_not";
485
579
  case OperatorType.TypeStringLength:
580
+ return "calc_string_length";
486
581
  case OperatorType.TypeNumberAddress:
582
+ return "convert_number_address";
487
583
  case OperatorType.TypeAddressNumber:
584
+ return "convert_address_number";
488
585
  case OperatorType.TypeNumberString:
586
+ return "convert_number_string";
489
587
  case OperatorType.TypeStringNumber:
588
+ return "convert_string_number";
490
589
  case OperatorType.TypeSafeU8:
590
+ return "convert_safe_u8";
491
591
  case OperatorType.TypeSafeU16:
592
+ return "convert_safe_u16";
492
593
  case OperatorType.TypeSafeU32:
594
+ return "convert_safe_u32";
493
595
  case OperatorType.TypeSafeU64:
596
+ return "convert_safe_u64";
494
597
  case OperatorType.TypeSafeU128:
598
+ return "convert_safe_u128";
495
599
  case OperatorType.TypeSafeU256:
600
+ return "convert_safe_u256";
496
601
  case OperatorType.TypedValueType:
497
- case OperatorType.TypedValueVecLength: {
498
- if (nodeStack.length === 0) {
499
- W_ERROR(
500
- WErrors.InvalidParam,
501
- `restoreNodeFromOutput: Insufficient operand for single-operand operation`
502
- );
503
- }
504
- const operand = nodeStack.pop();
505
- const nodeProperty = getNodePropertyFromOpCode(opCode);
506
- nodeStack.push({
507
- type: nodeProperty,
508
- node: operand
509
- });
510
- break;
511
- }
602
+ return "value_type";
603
+ case OperatorType.TypedValueVecLength:
604
+ return "vec_length";
512
605
  case OperatorType.TypeStringIndexof:
606
+ return "calc_string_indexof";
513
607
  case OperatorType.TypeStringNocaseIndexof:
608
+ return "calc_string_nocase_indexof";
514
609
  case OperatorType.TypedValueVecIndexOf_Bool:
610
+ return "vec_indexof_bool";
515
611
  case OperatorType.TypedValueVecIndexOf_Address:
612
+ return "vec_indexof_address";
516
613
  case OperatorType.TypedValueVecIndexOf_String:
614
+ return "vec_indexof_string";
517
615
  case OperatorType.TypedValueVecIndexOf_StringNoCase:
518
- case OperatorType.TypedValueVecIndexOf_Number: {
519
- const orderByte = readByte();
520
- const order = orderByte === 0 ? "forward" : "backward";
521
- if (nodeStack.length < 2) {
522
- W_ERROR(
523
- WErrors.InvalidParam,
524
- `restoreNodeFromOutput: Insufficient operands for two-operand operation`
525
- );
526
- }
527
- const nodeLeft = nodeStack.pop();
528
- const nodeRight = nodeStack.pop();
529
- const nodeProperty = getNodePropertyFromOpCode(opCode);
530
- nodeStack.push({
531
- type: nodeProperty,
532
- nodeLeft,
533
- nodeRight,
534
- order
535
- });
536
- break;
537
- }
616
+ return "vec_indexof_string_nocase";
617
+ case OperatorType.TypedValueVecIndexOf_Number:
618
+ return "vec_indexof_number";
538
619
  default:
539
- W_ERROR(
540
- WErrors.InvalidParam,
541
- `restoreNodeFromOutput: Unknown opcode ${opCode}`
542
- );
543
- }
544
- }
545
- if (nodeStack.length !== 1) {
546
- W_ERROR(
547
- WErrors.InvalidParam,
548
- `restoreNodeFromOutput: Expected 1 node in stack, found ${nodeStack.length}`
549
- );
620
+ return "unknown";
550
621
  }
551
- return {
552
- root: nodeStack[0],
553
- rep_quote
554
- };
555
- } catch (error) {
556
- throw new Error(
557
- `restoreNodeFromOutput: Failed to restore GuardNode from output: ${error.message}`
558
- );
559
- }
560
- };
561
- const getNodePropertyFromOpCode = (opCode) => {
562
- switch (opCode) {
563
- case OperatorType.TypeLogicEqual:
564
- return "logic_equal";
565
- case OperatorType.TypeLogicAnd:
566
- return "logic_and";
567
- case OperatorType.TypeLogicOr:
568
- return "logic_or";
569
- case OperatorType.TypeLogicAsU256GreaterEqual:
570
- return "logic_as_u256_greater_or_equal";
571
- case OperatorType.TypeLogicAsU256LesserEqual:
572
- return "logic_as_u256_lesser_or_equal";
573
- case OperatorType.TypeLogicAsU256Equal:
574
- return "logic_as_u256_equal";
575
- case OperatorType.TypeLogicAsU256Greater:
576
- return "logic_as_u256_greater";
577
- case OperatorType.TypeLogicAsU256Lesser:
578
- return "logic_as_u256_lesser";
579
- case OperatorType.TypeStringContains:
580
- return "logic_string_contains";
581
- case OperatorType.TypeStringNocaseContains:
582
- return "logic_string_nocase_contains";
583
- case OperatorType.TypeStringNocaseEqual:
584
- return "logic_string_nocase_equal";
585
- case OperatorType.TypeNumberAdd:
586
- return "calc_number_add";
587
- case OperatorType.TypeNumberSubtract:
588
- return "calc_number_subtract";
589
- case OperatorType.TypeNumberMultiply:
590
- return "calc_number_multiply";
591
- case OperatorType.TypeNumberDivide:
592
- return "calc_number_divide";
593
- case OperatorType.TypeNumberMod:
594
- return "calc_number_mod";
595
- case OperatorType.TypeLogicNot:
596
- return "logic_not";
597
- case OperatorType.TypeStringLength:
598
- return "calc_string_length";
599
- case OperatorType.TypeNumberAddress:
600
- return "convert_number_address";
601
- case OperatorType.TypeAddressNumber:
602
- return "convert_address_number";
603
- case OperatorType.TypeNumberString:
604
- return "convert_number_string";
605
- case OperatorType.TypeStringNumber:
606
- return "convert_string_number";
607
- case OperatorType.TypeSafeU8:
608
- return "convert_safe_u8";
609
- case OperatorType.TypeSafeU16:
610
- return "convert_safe_u16";
611
- case OperatorType.TypeSafeU32:
612
- return "convert_safe_u32";
613
- case OperatorType.TypeSafeU64:
614
- return "convert_safe_u64";
615
- case OperatorType.TypeSafeU128:
616
- return "convert_safe_u128";
617
- case OperatorType.TypeSafeU256:
618
- return "convert_safe_u256";
619
- case OperatorType.TypedValueType:
620
- return "value_type";
621
- case OperatorType.TypedValueVecLength:
622
- return "vec_length";
623
- case OperatorType.TypeStringIndexof:
624
- return "calc_string_indexof";
625
- case OperatorType.TypeStringNocaseIndexof:
626
- return "calc_string_nocase_indexof";
627
- case OperatorType.TypedValueVecIndexOf_Bool:
628
- return "vec_indexof_bool";
629
- case OperatorType.TypedValueVecIndexOf_Address:
630
- return "vec_indexof_address";
631
- case OperatorType.TypedValueVecIndexOf_String:
632
- return "vec_indexof_string";
633
- case OperatorType.TypedValueVecIndexOf_StringNoCase:
634
- return "vec_indexof_string_nocase";
635
- case OperatorType.TypedValueVecIndexOf_Number:
636
- return "vec_indexof_number";
637
- default:
638
- return "unknown";
639
- }
640
- };
641
- export {
642
- checkType,
643
- getCallEnvAccount,
644
- resolveCallEnv,
645
- restoreNodeFromOutput
646
622
  };
623
+ //# sourceMappingURL=util.js.map