wowok 2.1.10 → 2.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (896) hide show
  1. package/dist/cjs/bcs/bcs.d.ts +199 -199
  2. package/dist/cjs/bcs/bcs.js +273 -318
  3. package/dist/cjs/bcs/bcs.js.map +1 -0
  4. package/dist/cjs/bcs/effects.d.ts +109 -109
  5. package/dist/cjs/bcs/effects.js +205 -230
  6. package/dist/cjs/bcs/effects.js.map +1 -0
  7. package/dist/cjs/bcs/index.d.ts +1 -2584
  8. package/dist/cjs/bcs/index.js +61 -76
  9. package/dist/cjs/bcs/index.js.map +1 -0
  10. package/dist/cjs/bcs/pure.js +38 -58
  11. package/dist/cjs/bcs/pure.js.map +1 -0
  12. package/dist/cjs/bcs/type-tag-serializer.js +102 -114
  13. package/dist/cjs/bcs/type-tag-serializer.js.map +1 -0
  14. package/dist/cjs/bcs/types.js +6 -23
  15. package/dist/cjs/bcs/types.js.map +1 -0
  16. package/dist/cjs/client/index.js +17 -33
  17. package/dist/cjs/client/index.js.map +1 -0
  18. package/dist/cjs/client/network.js +25 -40
  19. package/dist/cjs/client/network.js.map +1 -0
  20. package/dist/cjs/cryptography/index.js +29 -45
  21. package/dist/cjs/cryptography/index.js.map +1 -0
  22. package/dist/cjs/cryptography/intent.d.ts +1 -1
  23. package/dist/cjs/cryptography/intent.js +20 -31
  24. package/dist/cjs/cryptography/intent.js.map +1 -0
  25. package/dist/cjs/cryptography/keypair.js +102 -116
  26. package/dist/cjs/cryptography/keypair.js.map +1 -0
  27. package/dist/cjs/cryptography/mnemonics.js +43 -41
  28. package/dist/cjs/cryptography/mnemonics.js.map +1 -0
  29. package/dist/cjs/cryptography/publickey.js +112 -134
  30. package/dist/cjs/cryptography/publickey.js.map +1 -0
  31. package/dist/cjs/cryptography/signature-scheme.js +24 -43
  32. package/dist/cjs/cryptography/signature-scheme.js.map +1 -0
  33. package/dist/cjs/cryptography/signature.d.ts +2 -24
  34. package/dist/cjs/cryptography/signature.js +50 -67
  35. package/dist/cjs/cryptography/signature.js.map +1 -0
  36. package/dist/cjs/experimental/cache.js +65 -0
  37. package/dist/cjs/experimental/cache.js.map +1 -0
  38. package/dist/cjs/experimental/client.js +27 -0
  39. package/dist/cjs/experimental/client.js.map +1 -0
  40. package/dist/cjs/experimental/core.js +89 -0
  41. package/dist/cjs/experimental/core.js.map +1 -0
  42. package/dist/cjs/experimental/errors.js +32 -0
  43. package/dist/cjs/experimental/errors.js.map +1 -0
  44. package/dist/cjs/experimental/index.js +15 -0
  45. package/dist/cjs/experimental/index.js.map +1 -0
  46. package/dist/cjs/experimental/persistent-storage.js +343 -0
  47. package/dist/cjs/experimental/persistent-storage.js.map +1 -0
  48. package/dist/cjs/experimental/persistent-storage.test.js +200 -0
  49. package/dist/cjs/experimental/persistent-storage.test.js.map +1 -0
  50. package/dist/cjs/experimental/transports/utils.js +104 -0
  51. package/dist/cjs/experimental/transports/utils.js.map +1 -0
  52. package/dist/cjs/experimental/types.js +6 -0
  53. package/dist/cjs/experimental/types.js.map +1 -0
  54. package/dist/cjs/faucet/faucet.js +106 -124
  55. package/dist/cjs/faucet/faucet.js.map +1 -0
  56. package/dist/cjs/faucet/index.js +12 -28
  57. package/dist/cjs/faucet/index.js.map +1 -0
  58. package/dist/cjs/grpc/client.js +47 -62
  59. package/dist/cjs/grpc/client.js.map +1 -0
  60. package/dist/cjs/grpc/core.js +580 -617
  61. package/dist/cjs/grpc/core.js.map +1 -0
  62. package/dist/cjs/grpc/index.js +9 -25
  63. package/dist/cjs/grpc/index.js.map +1 -0
  64. package/dist/cjs/grpc/proto/google/protobuf/any.js +168 -135
  65. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +1 -0
  66. package/dist/cjs/grpc/proto/google/protobuf/duration.js +105 -90
  67. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +1 -0
  68. package/dist/cjs/grpc/proto/google/protobuf/empty.js +50 -28
  69. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +1 -0
  70. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +96 -75
  71. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +1 -0
  72. package/dist/cjs/grpc/proto/google/protobuf/struct.js +266 -215
  73. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +1 -0
  74. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +150 -131
  75. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +1 -0
  76. package/dist/cjs/grpc/proto/google/rpc/error_details.js +331 -302
  77. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +1 -0
  78. package/dist/cjs/grpc/proto/google/rpc/status.js +50 -50
  79. package/dist/cjs/grpc/proto/google/rpc/status.js.map +1 -0
  80. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +84 -68
  81. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
  82. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +45 -50
  83. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
  84. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +38 -43
  85. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
  86. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +70 -75
  87. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
  88. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +79 -81
  89. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
  90. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +183 -166
  91. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
  92. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +369 -296
  93. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
  94. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +80 -85
  95. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
  96. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +31 -28
  97. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
  98. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +81 -83
  99. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +1 -0
  100. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +80 -85
  101. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
  102. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +876 -506
  103. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
  104. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +56 -61
  105. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
  106. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +103 -83
  107. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +1 -0
  108. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +76 -78
  109. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
  110. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +69 -119
  111. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
  112. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +392 -350
  113. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
  114. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +599 -473
  115. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
  116. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +46 -78
  117. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
  118. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +242 -224
  119. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
  120. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +32 -52
  121. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
  122. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +139 -134
  123. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
  124. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +109 -111
  125. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +1 -0
  126. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +46 -51
  127. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
  128. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +76 -61
  129. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
  130. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +46 -59
  131. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
  132. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +568 -522
  133. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
  134. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +54 -32
  135. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
  136. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +27 -47
  137. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
  138. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +83 -86
  139. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
  140. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +53 -85
  141. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
  142. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +645 -529
  143. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
  144. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +37 -51
  145. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
  146. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +58 -61
  147. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
  148. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +749 -730
  149. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
  150. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1218 -975
  151. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
  152. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +32 -46
  153. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
  154. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +186 -167
  155. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
  156. package/dist/cjs/index.js +96 -91
  157. package/dist/cjs/index.js.map +1 -0
  158. package/dist/cjs/jsonRpc/client.js +654 -743
  159. package/dist/cjs/jsonRpc/client.js.map +1 -0
  160. package/dist/cjs/jsonRpc/core.d.ts +7 -7
  161. package/dist/cjs/jsonRpc/core.js +562 -606
  162. package/dist/cjs/jsonRpc/core.js.map +1 -0
  163. package/dist/cjs/jsonRpc/errors.js +38 -56
  164. package/dist/cjs/jsonRpc/errors.js.map +1 -0
  165. package/dist/cjs/jsonRpc/http-transport.js +70 -114
  166. package/dist/cjs/jsonRpc/http-transport.js.map +1 -0
  167. package/dist/cjs/jsonRpc/index.js +14 -30
  168. package/dist/cjs/jsonRpc/index.js.map +1 -0
  169. package/dist/cjs/jsonRpc/json-rpc-resolver.js +286 -290
  170. package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +1 -0
  171. package/dist/cjs/jsonRpc/rpc-websocket-client.js +150 -207
  172. package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +1 -0
  173. package/dist/cjs/jsonRpc/types/chain.js +4 -15
  174. package/dist/cjs/jsonRpc/types/chain.js.map +1 -0
  175. package/dist/cjs/jsonRpc/types/changes.js +4 -15
  176. package/dist/cjs/jsonRpc/types/changes.js.map +1 -0
  177. package/dist/cjs/jsonRpc/types/coins.js +4 -15
  178. package/dist/cjs/jsonRpc/types/coins.js.map +1 -0
  179. package/dist/cjs/jsonRpc/types/common.js +4 -15
  180. package/dist/cjs/jsonRpc/types/common.js.map +1 -0
  181. package/dist/cjs/jsonRpc/types/generated.d.ts +1 -1
  182. package/dist/cjs/jsonRpc/types/generated.js +4 -15
  183. package/dist/cjs/jsonRpc/types/generated.js.map +1 -0
  184. package/dist/cjs/jsonRpc/types/index.js +4 -15
  185. package/dist/cjs/jsonRpc/types/index.js.map +1 -0
  186. package/dist/cjs/jsonRpc/types/params.js +4 -15
  187. package/dist/cjs/jsonRpc/types/params.js.map +1 -0
  188. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +54 -69
  189. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
  190. package/dist/cjs/keypairs/ed25519/index.js +10 -26
  191. package/dist/cjs/keypairs/ed25519/index.js.map +1 -0
  192. package/dist/cjs/keypairs/ed25519/keypair.js +134 -159
  193. package/dist/cjs/keypairs/ed25519/keypair.js.map +1 -0
  194. package/dist/cjs/keypairs/ed25519/publickey.js +70 -84
  195. package/dist/cjs/keypairs/ed25519/publickey.js.map +1 -0
  196. package/dist/cjs/keypairs/index.js +21 -19
  197. package/dist/cjs/keypairs/index.js.map +1 -0
  198. package/dist/cjs/keypairs/passkey/index.js +11 -27
  199. package/dist/cjs/keypairs/passkey/index.js.map +1 -0
  200. package/dist/cjs/keypairs/passkey/keypair.js +245 -256
  201. package/dist/cjs/keypairs/passkey/keypair.js.map +1 -0
  202. package/dist/cjs/keypairs/passkey/publickey.js +163 -162
  203. package/dist/cjs/keypairs/passkey/publickey.js.map +1 -0
  204. package/dist/cjs/keypairs/passkey/types.js +4 -15
  205. package/dist/cjs/keypairs/passkey/types.js.map +1 -0
  206. package/dist/cjs/keypairs/secp256k1/index.js +10 -26
  207. package/dist/cjs/keypairs/secp256k1/index.js.map +1 -0
  208. package/dist/cjs/keypairs/secp256k1/keypair.js +129 -151
  209. package/dist/cjs/keypairs/secp256k1/keypair.js.map +1 -0
  210. package/dist/cjs/keypairs/secp256k1/publickey.js +71 -89
  211. package/dist/cjs/keypairs/secp256k1/publickey.js.map +1 -0
  212. package/dist/cjs/keypairs/secp256r1/index.js +10 -26
  213. package/dist/cjs/keypairs/secp256r1/index.js.map +1 -0
  214. package/dist/cjs/keypairs/secp256r1/keypair.js +127 -148
  215. package/dist/cjs/keypairs/secp256r1/keypair.js.map +1 -0
  216. package/dist/cjs/keypairs/secp256r1/publickey.js +72 -90
  217. package/dist/cjs/keypairs/secp256r1/publickey.js.map +1 -0
  218. package/dist/cjs/multisig/index.js +10 -26
  219. package/dist/cjs/multisig/index.js.map +1 -0
  220. package/dist/cjs/multisig/publickey.d.ts +1 -1
  221. package/dist/cjs/multisig/publickey.js +228 -276
  222. package/dist/cjs/multisig/publickey.js.map +1 -0
  223. package/dist/cjs/multisig/signer.js +62 -110
  224. package/dist/cjs/multisig/signer.js.map +1 -0
  225. package/dist/cjs/transactions/Arguments.d.ts +4 -4
  226. package/dist/cjs/transactions/Arguments.js +13 -34
  227. package/dist/cjs/transactions/Arguments.js.map +1 -0
  228. package/dist/cjs/transactions/Commands.js +111 -141
  229. package/dist/cjs/transactions/Commands.js.map +1 -0
  230. package/dist/cjs/transactions/Inputs.js +53 -82
  231. package/dist/cjs/transactions/Inputs.js.map +1 -0
  232. package/dist/cjs/transactions/ObjectCache.d.ts +8 -8
  233. package/dist/cjs/transactions/ObjectCache.js +204 -241
  234. package/dist/cjs/transactions/ObjectCache.js.map +1 -0
  235. package/dist/cjs/transactions/Transaction.d.ts +31 -31
  236. package/dist/cjs/transactions/Transaction.js +628 -719
  237. package/dist/cjs/transactions/Transaction.js.map +1 -0
  238. package/dist/cjs/transactions/TransactionData.d.ts +9 -9
  239. package/dist/cjs/transactions/TransactionData.js +396 -440
  240. package/dist/cjs/transactions/TransactionData.js.map +1 -0
  241. package/dist/cjs/transactions/__tests__/Transaction.test.js +169 -0
  242. package/dist/cjs/transactions/__tests__/Transaction.test.js.map +1 -0
  243. package/dist/cjs/transactions/__tests__/bcs.test.js +202 -0
  244. package/dist/cjs/transactions/__tests__/bcs.test.js.map +1 -0
  245. package/dist/cjs/transactions/data/internal.js +166 -207
  246. package/dist/cjs/transactions/data/internal.js.map +1 -0
  247. package/dist/cjs/transactions/data/v1.js +436 -495
  248. package/dist/cjs/transactions/data/v1.js.map +1 -0
  249. package/dist/cjs/transactions/data/v2.d.ts +5 -5
  250. package/dist/cjs/transactions/data/v2.js +94 -107
  251. package/dist/cjs/transactions/data/v2.js.map +1 -0
  252. package/dist/cjs/transactions/executor/caching.js +71 -113
  253. package/dist/cjs/transactions/executor/caching.js.map +1 -0
  254. package/dist/cjs/transactions/executor/parallel.js +339 -378
  255. package/dist/cjs/transactions/executor/parallel.js.map +1 -0
  256. package/dist/cjs/transactions/executor/queue.js +60 -80
  257. package/dist/cjs/transactions/executor/queue.js.map +1 -0
  258. package/dist/cjs/transactions/executor/serial.d.ts +4 -4
  259. package/dist/cjs/transactions/executor/serial.js +102 -131
  260. package/dist/cjs/transactions/executor/serial.js.map +1 -0
  261. package/dist/cjs/transactions/hash.js +17 -28
  262. package/dist/cjs/transactions/hash.js.map +1 -0
  263. package/dist/cjs/transactions/index.js +33 -49
  264. package/dist/cjs/transactions/index.js.map +1 -0
  265. package/dist/cjs/transactions/intents/CoinWithBalance.js +137 -191
  266. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +1 -0
  267. package/dist/cjs/transactions/object.js +88 -111
  268. package/dist/cjs/transactions/object.js.map +1 -0
  269. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +20 -32
  270. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
  271. package/dist/cjs/transactions/pure.js +38 -60
  272. package/dist/cjs/transactions/pure.js.map +1 -0
  273. package/dist/cjs/transactions/resolve.js +62 -88
  274. package/dist/cjs/transactions/resolve.js.map +1 -0
  275. package/dist/cjs/transactions/serializer.js +150 -163
  276. package/dist/cjs/transactions/serializer.js.map +1 -0
  277. package/dist/cjs/transactions/utils.d.ts +1 -1
  278. package/dist/cjs/transactions/utils.js +114 -125
  279. package/dist/cjs/transactions/utils.js.map +1 -0
  280. package/dist/cjs/utils/constants.js +29 -56
  281. package/dist/cjs/utils/constants.js.map +1 -0
  282. package/dist/cjs/utils/derived-objects.js +14 -30
  283. package/dist/cjs/utils/derived-objects.js.map +1 -0
  284. package/dist/cjs/utils/dynamic-fields.js +20 -37
  285. package/dist/cjs/utils/dynamic-fields.js.map +1 -0
  286. package/dist/cjs/utils/format.js +14 -30
  287. package/dist/cjs/utils/format.js.map +1 -0
  288. package/dist/cjs/utils/index.js +50 -64
  289. package/dist/cjs/utils/index.js.map +1 -0
  290. package/dist/cjs/utils/move-registry.js +37 -35
  291. package/dist/cjs/utils/move-registry.js.map +1 -0
  292. package/dist/cjs/utils/sui-types.js +74 -68
  293. package/dist/cjs/utils/sui-types.js.map +1 -0
  294. package/dist/cjs/utils/suins.js +30 -46
  295. package/dist/cjs/utils/suins.js.map +1 -0
  296. package/dist/cjs/verify/index.js +12 -27
  297. package/dist/cjs/verify/index.js.map +1 -0
  298. package/dist/cjs/verify/verify.js +83 -110
  299. package/dist/cjs/verify/verify.js.map +1 -0
  300. package/dist/cjs/version.js +8 -25
  301. package/dist/cjs/version.js.map +1 -0
  302. package/dist/cjs/w/call/allocation.js +323 -413
  303. package/dist/cjs/w/call/allocation.js.map +1 -0
  304. package/dist/cjs/w/call/arb.js +105 -136
  305. package/dist/cjs/w/call/arb.js.map +1 -0
  306. package/dist/cjs/w/call/arbitration.js +1206 -1581
  307. package/dist/cjs/w/call/arbitration.js.map +1 -0
  308. package/dist/cjs/w/call/base.js +303 -333
  309. package/dist/cjs/w/call/base.js.map +1 -0
  310. package/dist/cjs/w/call/contact.js +335 -452
  311. package/dist/cjs/w/call/contact.js.map +1 -0
  312. package/dist/cjs/w/call/demand.js +690 -844
  313. package/dist/cjs/w/call/demand.js.map +1 -0
  314. package/dist/cjs/w/call/entity.js +167 -201
  315. package/dist/cjs/w/call/entity.js.map +1 -0
  316. package/dist/cjs/w/call/guard-ins.js +4376 -4389
  317. package/dist/cjs/w/call/guard-ins.js.map +1 -0
  318. package/dist/cjs/w/call/guard.js +1078 -1112
  319. package/dist/cjs/w/call/guard.js.map +1 -0
  320. package/dist/cjs/w/call/index.js +69 -70
  321. package/dist/cjs/w/call/index.js.map +1 -0
  322. package/dist/cjs/w/call/machine.js +1105 -1419
  323. package/dist/cjs/w/call/machine.js.map +1 -0
  324. package/dist/cjs/w/call/order.js +314 -454
  325. package/dist/cjs/w/call/order.js.map +1 -0
  326. package/dist/cjs/w/call/passport.js +214 -253
  327. package/dist/cjs/w/call/passport.js.map +1 -0
  328. package/dist/cjs/w/call/payment.js +187 -224
  329. package/dist/cjs/w/call/payment.js.map +1 -0
  330. package/dist/cjs/w/call/permission.js +1183 -1294
  331. package/dist/cjs/w/call/permission.js.map +1 -0
  332. package/dist/cjs/w/call/personal.js +132 -170
  333. package/dist/cjs/w/call/personal.js.map +1 -0
  334. package/dist/cjs/w/call/progress.js +634 -794
  335. package/dist/cjs/w/call/progress.js.map +1 -0
  336. package/dist/cjs/w/call/proof.js +67 -116
  337. package/dist/cjs/w/call/proof.js.map +1 -0
  338. package/dist/cjs/w/call/repository.js +1037 -1251
  339. package/dist/cjs/w/call/repository.js.map +1 -0
  340. package/dist/cjs/w/call/resource.js +111 -131
  341. package/dist/cjs/w/call/resource.js.map +1 -0
  342. package/dist/cjs/w/call/reward.js +675 -853
  343. package/dist/cjs/w/call/reward.js.map +1 -0
  344. package/dist/cjs/w/call/service.js +1879 -2385
  345. package/dist/cjs/w/call/service.js.map +1 -0
  346. package/dist/cjs/w/call/treasury.js +841 -1138
  347. package/dist/cjs/w/call/treasury.js.map +1 -0
  348. package/dist/cjs/w/call/util.js +593 -624
  349. package/dist/cjs/w/call/util.js.map +1 -0
  350. package/dist/cjs/w/common.d.ts +1 -1
  351. package/dist/cjs/w/common.js +548 -518
  352. package/dist/cjs/w/common.js.map +1 -0
  353. package/dist/cjs/w/exception.js +574 -584
  354. package/dist/cjs/w/exception.js.map +1 -0
  355. package/dist/cjs/w/index.js +26 -23
  356. package/dist/cjs/w/index.js.map +1 -0
  357. package/dist/cjs/w/local/account.js +664 -741
  358. package/dist/cjs/w/local/account.js.map +1 -0
  359. package/dist/cjs/w/local/cache.js +180 -166
  360. package/dist/cjs/w/local/cache.js.map +1 -0
  361. package/dist/cjs/w/local/config.js +51 -80
  362. package/dist/cjs/w/local/config.js.map +1 -0
  363. package/dist/cjs/w/local/index.js +225 -290
  364. package/dist/cjs/w/local/index.js.map +1 -0
  365. package/dist/cjs/w/local/local.d.ts +2 -2
  366. package/dist/cjs/w/local/local.js +638 -646
  367. package/dist/cjs/w/local/local.js.map +1 -0
  368. package/dist/cjs/w/local/storage.js +210 -164
  369. package/dist/cjs/w/local/storage.js.map +1 -0
  370. package/dist/cjs/w/local/token.js +158 -175
  371. package/dist/cjs/w/local/token.js.map +1 -0
  372. package/dist/cjs/w/local/util.js +80 -51
  373. package/dist/cjs/w/local/util.js.map +1 -0
  374. package/dist/cjs/w/local/wip.js +1078 -802
  375. package/dist/cjs/w/local/wip.js.map +1 -0
  376. package/dist/cjs/w/messenger/crypto.js +496 -389
  377. package/dist/cjs/w/messenger/crypto.js.map +1 -0
  378. package/dist/cjs/w/messenger/index.js +53 -35
  379. package/dist/cjs/w/messenger/index.js.map +1 -0
  380. package/dist/cjs/w/messenger/messenger-api.js +1159 -1035
  381. package/dist/cjs/w/messenger/messenger-api.js.map +1 -0
  382. package/dist/cjs/w/messenger/messenger-manager.js +954 -1083
  383. package/dist/cjs/w/messenger/messenger-manager.js.map +1 -0
  384. package/dist/cjs/w/messenger/messenger.d.ts +1 -1
  385. package/dist/cjs/w/messenger/messenger.js +1304 -1450
  386. package/dist/cjs/w/messenger/messenger.js.map +1 -0
  387. package/dist/cjs/w/messenger/server.js +390 -512
  388. package/dist/cjs/w/messenger/server.js.map +1 -0
  389. package/dist/cjs/w/messenger/session.js +399 -403
  390. package/dist/cjs/w/messenger/session.js.map +1 -0
  391. package/dist/cjs/w/messenger/storage.js +881 -777
  392. package/dist/cjs/w/messenger/storage.js.map +1 -0
  393. package/dist/cjs/w/messenger/types.d.ts +2 -2
  394. package/dist/cjs/w/messenger/types.js +83 -103
  395. package/dist/cjs/w/messenger/types.js.map +1 -0
  396. package/dist/cjs/w/messenger/utils.js +29 -34
  397. package/dist/cjs/w/messenger/utils.js.map +1 -0
  398. package/dist/cjs/w/query/bult-in.js +101 -110
  399. package/dist/cjs/w/query/bult-in.js.map +1 -0
  400. package/dist/cjs/w/query/event.js +134 -146
  401. package/dist/cjs/w/query/event.js.map +1 -0
  402. package/dist/cjs/w/query/index.js +22 -20
  403. package/dist/cjs/w/query/index.js.map +1 -0
  404. package/dist/cjs/w/query/object.js +1576 -1576
  405. package/dist/cjs/w/query/object.js.map +1 -0
  406. package/dist/cjs/w/query/received.js +66 -88
  407. package/dist/cjs/w/query/received.js.map +1 -0
  408. package/dist/cjs/w/query/util.js +53 -77
  409. package/dist/cjs/w/query/util.js.map +1 -0
  410. package/dist/cjs/w/util.js +589 -675
  411. package/dist/cjs/w/util.js.map +1 -0
  412. package/dist/esm/bcs/bcs.d.ts +199 -199
  413. package/dist/esm/bcs/bcs.js +269 -310
  414. package/dist/esm/bcs/bcs.js.map +1 -0
  415. package/dist/esm/bcs/effects.d.ts +109 -109
  416. package/dist/esm/bcs/effects.js +171 -179
  417. package/dist/esm/bcs/effects.js.map +1 -0
  418. package/dist/esm/bcs/index.d.ts +1 -2584
  419. package/dist/esm/bcs/index.js +51 -94
  420. package/dist/esm/bcs/index.js.map +1 -0
  421. package/dist/esm/bcs/pure.js +35 -38
  422. package/dist/esm/bcs/pure.js.map +1 -0
  423. package/dist/esm/bcs/type-tag-serializer.js +98 -95
  424. package/dist/esm/bcs/type-tag-serializer.js.map +1 -0
  425. package/dist/esm/bcs/types.js +5 -5
  426. package/dist/esm/bcs/types.js.map +1 -0
  427. package/dist/esm/client/index.js +7 -23
  428. package/dist/esm/client/index.js.map +1 -0
  429. package/dist/esm/client/network.js +23 -22
  430. package/dist/esm/client/network.js.map +1 -0
  431. package/dist/esm/cryptography/index.js +9 -46
  432. package/dist/esm/cryptography/index.js.map +1 -0
  433. package/dist/esm/cryptography/intent.d.ts +1 -1
  434. package/dist/esm/cryptography/intent.js +18 -12
  435. package/dist/esm/cryptography/intent.js.map +1 -0
  436. package/dist/esm/cryptography/keypair.js +95 -99
  437. package/dist/esm/cryptography/keypair.js.map +1 -0
  438. package/dist/esm/cryptography/mnemonics.js +40 -24
  439. package/dist/esm/cryptography/mnemonics.js.map +1 -0
  440. package/dist/esm/cryptography/publickey.js +104 -115
  441. package/dist/esm/cryptography/publickey.js.map +1 -0
  442. package/dist/esm/cryptography/signature-scheme.js +22 -24
  443. package/dist/esm/cryptography/signature-scheme.js.map +1 -0
  444. package/dist/esm/cryptography/signature.d.ts +2 -24
  445. package/dist/esm/cryptography/signature.js +44 -48
  446. package/dist/esm/cryptography/signature.js.map +1 -0
  447. package/dist/esm/experimental/cache.js +61 -0
  448. package/dist/esm/experimental/cache.js.map +1 -0
  449. package/dist/esm/experimental/client.js +23 -0
  450. package/dist/esm/experimental/client.js.map +1 -0
  451. package/dist/esm/experimental/core.js +85 -0
  452. package/dist/esm/experimental/core.js.map +1 -0
  453. package/dist/esm/experimental/errors.js +27 -0
  454. package/dist/esm/experimental/errors.js.map +1 -0
  455. package/dist/esm/experimental/index.js +8 -0
  456. package/dist/esm/experimental/index.js.map +1 -0
  457. package/dist/esm/experimental/persistent-storage.js +337 -0
  458. package/dist/esm/experimental/persistent-storage.js.map +1 -0
  459. package/dist/esm/experimental/persistent-storage.test.js +198 -0
  460. package/dist/esm/experimental/persistent-storage.test.js.map +1 -0
  461. package/dist/esm/experimental/transports/utils.js +100 -0
  462. package/dist/esm/experimental/transports/utils.js.map +1 -0
  463. package/dist/esm/experimental/types.js +5 -0
  464. package/dist/esm/experimental/types.js.map +1 -0
  465. package/dist/esm/faucet/faucet.js +104 -111
  466. package/dist/esm/faucet/faucet.js.map +1 -0
  467. package/dist/esm/faucet/index.js +4 -16
  468. package/dist/esm/faucet/index.js.map +1 -0
  469. package/dist/esm/grpc/client.js +34 -34
  470. package/dist/esm/grpc/client.js.map +1 -0
  471. package/dist/esm/grpc/core.js +570 -601
  472. package/dist/esm/grpc/core.js.map +1 -0
  473. package/dist/esm/grpc/index.js +5 -6
  474. package/dist/esm/grpc/index.js.map +1 -0
  475. package/dist/esm/grpc/proto/google/protobuf/any.js +161 -111
  476. package/dist/esm/grpc/proto/google/protobuf/any.js.map +1 -0
  477. package/dist/esm/grpc/proto/google/protobuf/duration.js +99 -67
  478. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +1 -0
  479. package/dist/esm/grpc/proto/google/protobuf/empty.js +46 -7
  480. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +1 -0
  481. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +90 -52
  482. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +1 -0
  483. package/dist/esm/grpc/proto/google/protobuf/struct.js +258 -190
  484. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +1 -0
  485. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +144 -108
  486. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +1 -0
  487. package/dist/esm/grpc/proto/google/rpc/error_details.js +313 -267
  488. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +1 -0
  489. package/dist/esm/grpc/proto/google/rpc/status.js +45 -28
  490. package/dist/esm/grpc/proto/google/rpc/status.js.map +1 -0
  491. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +80 -47
  492. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +1 -0
  493. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +41 -29
  494. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +1 -0
  495. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +34 -22
  496. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +1 -0
  497. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +61 -49
  498. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +1 -0
  499. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +72 -57
  500. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +1 -0
  501. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +173 -139
  502. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +1 -0
  503. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +358 -268
  504. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +1 -0
  505. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +72 -60
  506. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +1 -0
  507. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +29 -9
  508. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +1 -0
  509. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +74 -59
  510. package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +1 -0
  511. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +69 -57
  512. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +1 -0
  513. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +861 -474
  514. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +1 -0
  515. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +52 -40
  516. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +1 -0
  517. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +98 -61
  518. package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +1 -0
  519. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +71 -56
  520. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +1 -0
  521. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +65 -100
  522. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +1 -0
  523. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +365 -306
  524. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +1 -0
  525. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +585 -442
  526. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +1 -0
  527. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +42 -59
  528. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +1 -0
  529. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +226 -191
  530. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +1 -0
  531. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +28 -33
  532. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +1 -0
  533. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +129 -107
  534. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +1 -0
  535. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +100 -85
  536. package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +1 -0
  537. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +42 -30
  538. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +1 -0
  539. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +72 -40
  540. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +1 -0
  541. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +42 -38
  542. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +1 -0
  543. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +544 -481
  544. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +1 -0
  545. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +52 -13
  546. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +1 -0
  547. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +23 -28
  548. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +1 -0
  549. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +74 -60
  550. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +1 -0
  551. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +49 -66
  552. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +1 -0
  553. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +623 -490
  554. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +1 -0
  555. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +33 -32
  556. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +1 -0
  557. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +50 -36
  558. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +1 -0
  559. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +737 -701
  560. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +1 -0
  561. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +1177 -917
  562. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +1 -0
  563. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +28 -27
  564. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +1 -0
  565. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +169 -133
  566. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +1 -0
  567. package/dist/esm/index.js +21 -107
  568. package/dist/esm/index.js.map +1 -0
  569. package/dist/esm/jsonRpc/client.js +646 -727
  570. package/dist/esm/jsonRpc/client.js.map +1 -0
  571. package/dist/esm/jsonRpc/core.d.ts +7 -7
  572. package/dist/esm/jsonRpc/core.js +550 -581
  573. package/dist/esm/jsonRpc/core.js.map +1 -0
  574. package/dist/esm/jsonRpc/errors.js +36 -41
  575. package/dist/esm/jsonRpc/errors.js.map +1 -0
  576. package/dist/esm/jsonRpc/http-transport.js +65 -93
  577. package/dist/esm/jsonRpc/http-transport.js.map +1 -0
  578. package/dist/esm/jsonRpc/index.js +6 -20
  579. package/dist/esm/jsonRpc/index.js.map +1 -0
  580. package/dist/esm/jsonRpc/json-rpc-resolver.js +281 -276
  581. package/dist/esm/jsonRpc/json-rpc-resolver.js.map +1 -0
  582. package/dist/esm/jsonRpc/rpc-websocket-client.js +147 -189
  583. package/dist/esm/jsonRpc/rpc-websocket-client.js.map +1 -0
  584. package/dist/esm/jsonRpc/types/chain.js +4 -0
  585. package/dist/esm/jsonRpc/types/chain.js.map +1 -0
  586. package/dist/esm/jsonRpc/types/changes.js +4 -0
  587. package/dist/esm/jsonRpc/types/changes.js.map +1 -0
  588. package/dist/esm/jsonRpc/types/coins.js +4 -0
  589. package/dist/esm/jsonRpc/types/coins.js.map +1 -0
  590. package/dist/esm/jsonRpc/types/common.js +4 -0
  591. package/dist/esm/jsonRpc/types/common.js.map +1 -0
  592. package/dist/esm/jsonRpc/types/generated.d.ts +1 -1
  593. package/dist/esm/jsonRpc/types/generated.js +4 -0
  594. package/dist/esm/jsonRpc/types/generated.js.map +1 -0
  595. package/dist/esm/jsonRpc/types/index.js +4 -0
  596. package/dist/esm/jsonRpc/types/index.js.map +1 -0
  597. package/dist/esm/jsonRpc/types/params.js +4 -0
  598. package/dist/esm/jsonRpc/types/params.js.map +1 -0
  599. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +49 -48
  600. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +1 -0
  601. package/dist/esm/keypairs/ed25519/index.js +5 -10
  602. package/dist/esm/keypairs/ed25519/index.js.map +1 -0
  603. package/dist/esm/keypairs/ed25519/keypair.js +128 -146
  604. package/dist/esm/keypairs/ed25519/keypair.js.map +1 -0
  605. package/dist/esm/keypairs/ed25519/publickey.js +64 -67
  606. package/dist/esm/keypairs/ed25519/publickey.js.map +1 -0
  607. package/dist/esm/keypairs/index.js +3 -0
  608. package/dist/esm/keypairs/index.js.map +1 -0
  609. package/dist/esm/keypairs/passkey/index.js +5 -12
  610. package/dist/esm/keypairs/passkey/index.js.map +1 -0
  611. package/dist/esm/keypairs/passkey/keypair.js +236 -243
  612. package/dist/esm/keypairs/passkey/keypair.js.map +1 -0
  613. package/dist/esm/keypairs/passkey/publickey.js +154 -140
  614. package/dist/esm/keypairs/passkey/publickey.js.map +1 -0
  615. package/dist/esm/keypairs/passkey/types.js +4 -0
  616. package/dist/esm/keypairs/passkey/types.js.map +1 -0
  617. package/dist/esm/keypairs/secp256k1/index.js +5 -10
  618. package/dist/esm/keypairs/secp256k1/index.js.map +1 -0
  619. package/dist/esm/keypairs/secp256k1/keypair.js +120 -134
  620. package/dist/esm/keypairs/secp256k1/keypair.js.map +1 -0
  621. package/dist/esm/keypairs/secp256k1/publickey.js +64 -71
  622. package/dist/esm/keypairs/secp256k1/publickey.js.map +1 -0
  623. package/dist/esm/keypairs/secp256r1/index.js +5 -10
  624. package/dist/esm/keypairs/secp256r1/index.js.map +1 -0
  625. package/dist/esm/keypairs/secp256r1/keypair.js +118 -131
  626. package/dist/esm/keypairs/secp256r1/keypair.js.map +1 -0
  627. package/dist/esm/keypairs/secp256r1/publickey.js +63 -66
  628. package/dist/esm/keypairs/secp256r1/publickey.js.map +1 -0
  629. package/dist/esm/multisig/index.js +5 -10
  630. package/dist/esm/multisig/index.js.map +1 -0
  631. package/dist/esm/multisig/publickey.d.ts +1 -1
  632. package/dist/esm/multisig/publickey.js +216 -253
  633. package/dist/esm/multisig/publickey.js.map +1 -0
  634. package/dist/esm/multisig/signer.js +57 -89
  635. package/dist/esm/multisig/signer.js.map +1 -0
  636. package/dist/esm/transactions/Arguments.d.ts +4 -4
  637. package/dist/esm/transactions/Arguments.js +9 -13
  638. package/dist/esm/transactions/Arguments.js.map +1 -0
  639. package/dist/esm/transactions/Commands.js +105 -118
  640. package/dist/esm/transactions/Commands.js.map +1 -0
  641. package/dist/esm/transactions/Inputs.js +49 -61
  642. package/dist/esm/transactions/Inputs.js.map +1 -0
  643. package/dist/esm/transactions/ObjectCache.d.ts +8 -8
  644. package/dist/esm/transactions/ObjectCache.js +200 -223
  645. package/dist/esm/transactions/ObjectCache.js.map +1 -0
  646. package/dist/esm/transactions/Transaction.d.ts +32 -32
  647. package/dist/esm/transactions/Transaction.js +611 -696
  648. package/dist/esm/transactions/Transaction.js.map +1 -0
  649. package/dist/esm/transactions/TransactionData.d.ts +9 -9
  650. package/dist/esm/transactions/TransactionData.js +386 -415
  651. package/dist/esm/transactions/TransactionData.js.map +1 -0
  652. package/dist/esm/transactions/__tests__/Transaction.test.js +167 -0
  653. package/dist/esm/transactions/__tests__/Transaction.test.js.map +1 -0
  654. package/dist/esm/transactions/__tests__/bcs.test.js +200 -0
  655. package/dist/esm/transactions/__tests__/bcs.test.js.map +1 -0
  656. package/dist/esm/transactions/data/internal.js +158 -205
  657. package/dist/esm/transactions/data/internal.js.map +1 -0
  658. package/dist/esm/transactions/data/v1.js +419 -487
  659. package/dist/esm/transactions/data/v1.js.map +1 -0
  660. package/dist/esm/transactions/data/v2.d.ts +5 -5
  661. package/dist/esm/transactions/data/v2.js +89 -107
  662. package/dist/esm/transactions/data/v2.js.map +1 -0
  663. package/dist/esm/transactions/executor/caching.d.ts +2 -2
  664. package/dist/esm/transactions/executor/caching.js +66 -93
  665. package/dist/esm/transactions/executor/caching.js.map +1 -0
  666. package/dist/esm/transactions/executor/parallel.js +329 -352
  667. package/dist/esm/transactions/executor/parallel.js.map +1 -0
  668. package/dist/esm/transactions/executor/queue.js +58 -64
  669. package/dist/esm/transactions/executor/queue.js.map +1 -0
  670. package/dist/esm/transactions/executor/serial.d.ts +5 -5
  671. package/dist/esm/transactions/executor/serial.js +96 -110
  672. package/dist/esm/transactions/executor/serial.js.map +1 -0
  673. package/dist/esm/transactions/hash.js +15 -9
  674. package/dist/esm/transactions/hash.js.map +1 -0
  675. package/dist/esm/transactions/index.js +15 -41
  676. package/dist/esm/transactions/index.js.map +1 -0
  677. package/dist/esm/transactions/intents/CoinWithBalance.js +127 -165
  678. package/dist/esm/transactions/intents/CoinWithBalance.js.map +1 -0
  679. package/dist/esm/transactions/object.js +86 -92
  680. package/dist/esm/transactions/object.js.map +1 -0
  681. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +18 -15
  682. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +1 -0
  683. package/dist/esm/transactions/pure.js +34 -39
  684. package/dist/esm/transactions/pure.js.map +1 -0
  685. package/dist/esm/transactions/resolve.js +58 -69
  686. package/dist/esm/transactions/resolve.js.map +1 -0
  687. package/dist/esm/transactions/serializer.js +145 -144
  688. package/dist/esm/transactions/serializer.js.map +1 -0
  689. package/dist/esm/transactions/utils.d.ts +1 -1
  690. package/dist/esm/transactions/utils.js +110 -109
  691. package/dist/esm/transactions/utils.js.map +1 -0
  692. package/dist/esm/utils/constants.js +26 -36
  693. package/dist/esm/utils/constants.js.map +1 -0
  694. package/dist/esm/utils/derived-objects.js +11 -10
  695. package/dist/esm/utils/derived-objects.js.map +1 -0
  696. package/dist/esm/utils/dynamic-fields.js +16 -16
  697. package/dist/esm/utils/dynamic-fields.js.map +1 -0
  698. package/dist/esm/utils/format.js +13 -13
  699. package/dist/esm/utils/format.js.map +1 -0
  700. package/dist/esm/utils/index.js +15 -76
  701. package/dist/esm/utils/index.js.map +1 -0
  702. package/dist/esm/utils/move-registry.js +34 -17
  703. package/dist/esm/utils/move-registry.js.map +1 -0
  704. package/dist/esm/utils/sui-types.js +70 -54
  705. package/dist/esm/utils/sui-types.js.map +1 -0
  706. package/dist/esm/utils/suins.js +29 -29
  707. package/dist/esm/utils/suins.js.map +1 -0
  708. package/dist/esm/verify/index.js +5 -14
  709. package/dist/esm/verify/index.js.map +1 -0
  710. package/dist/esm/verify/verify.js +76 -93
  711. package/dist/esm/verify/verify.js.map +1 -0
  712. package/dist/esm/version.js +6 -6
  713. package/dist/esm/version.js.map +1 -0
  714. package/dist/esm/w/call/allocation.js +307 -402
  715. package/dist/esm/w/call/allocation.js.map +1 -0
  716. package/dist/esm/w/call/arb.js +100 -129
  717. package/dist/esm/w/call/arb.js.map +1 -0
  718. package/dist/esm/w/call/arbitration.js +1170 -1568
  719. package/dist/esm/w/call/arbitration.js.map +1 -0
  720. package/dist/esm/w/call/base.js +288 -315
  721. package/dist/esm/w/call/base.js.map +1 -0
  722. package/dist/esm/w/call/contact.js +318 -442
  723. package/dist/esm/w/call/contact.js.map +1 -0
  724. package/dist/esm/w/call/demand.js +673 -841
  725. package/dist/esm/w/call/demand.js.map +1 -0
  726. package/dist/esm/w/call/entity.js +162 -203
  727. package/dist/esm/w/call/entity.js.map +1 -0
  728. package/dist/esm/w/call/guard-ins.js +4373 -4371
  729. package/dist/esm/w/call/guard-ins.js.map +1 -0
  730. package/dist/esm/w/call/guard.js +1061 -1108
  731. package/dist/esm/w/call/guard.js.map +1 -0
  732. package/dist/esm/w/call/index.js +24 -56
  733. package/dist/esm/w/call/index.js.map +1 -0
  734. package/dist/esm/w/call/machine.js +1086 -1433
  735. package/dist/esm/w/call/machine.js.map +1 -0
  736. package/dist/esm/w/call/order.js +301 -448
  737. package/dist/esm/w/call/order.js.map +1 -0
  738. package/dist/esm/w/call/passport.js +204 -240
  739. package/dist/esm/w/call/passport.js.map +1 -0
  740. package/dist/esm/w/call/payment.js +177 -215
  741. package/dist/esm/w/call/payment.js.map +1 -0
  742. package/dist/esm/w/call/permission.js +1172 -1320
  743. package/dist/esm/w/call/permission.js.map +1 -0
  744. package/dist/esm/w/call/personal.js +121 -156
  745. package/dist/esm/w/call/personal.js.map +1 -0
  746. package/dist/esm/w/call/progress.js +625 -797
  747. package/dist/esm/w/call/progress.js.map +1 -0
  748. package/dist/esm/w/call/proof.js +61 -103
  749. package/dist/esm/w/call/proof.js.map +1 -0
  750. package/dist/esm/w/call/repository.js +1017 -1251
  751. package/dist/esm/w/call/repository.js.map +1 -0
  752. package/dist/esm/w/call/resource.js +108 -124
  753. package/dist/esm/w/call/resource.js.map +1 -0
  754. package/dist/esm/w/call/reward.js +660 -847
  755. package/dist/esm/w/call/reward.js.map +1 -0
  756. package/dist/esm/w/call/service.js +1849 -2400
  757. package/dist/esm/w/call/service.js.map +1 -0
  758. package/dist/esm/w/call/treasury.js +815 -1125
  759. package/dist/esm/w/call/treasury.js.map +1 -0
  760. package/dist/esm/w/call/util.js +553 -576
  761. package/dist/esm/w/call/util.js.map +1 -0
  762. package/dist/esm/w/common.d.ts +1 -1
  763. package/dist/esm/w/common.js +579 -580
  764. package/dist/esm/w/common.js.map +1 -0
  765. package/dist/esm/w/exception.js +570 -573
  766. package/dist/esm/w/exception.js.map +1 -0
  767. package/dist/esm/w/index.js +4 -0
  768. package/dist/esm/w/index.js.map +1 -0
  769. package/dist/esm/w/local/account.js +652 -709
  770. package/dist/esm/w/local/account.js.map +1 -0
  771. package/dist/esm/w/local/cache.js +176 -147
  772. package/dist/esm/w/local/cache.js.map +1 -0
  773. package/dist/esm/w/local/config.js +46 -60
  774. package/dist/esm/w/local/config.js.map +1 -0
  775. package/dist/esm/w/local/index.js +196 -273
  776. package/dist/esm/w/local/index.js.map +1 -0
  777. package/dist/esm/w/local/local.d.ts +2 -2
  778. package/dist/esm/w/local/local.js +631 -626
  779. package/dist/esm/w/local/local.js.map +1 -0
  780. package/dist/esm/w/local/storage.js +168 -136
  781. package/dist/esm/w/local/storage.js.map +1 -0
  782. package/dist/esm/w/local/token.js +149 -151
  783. package/dist/esm/w/local/token.js.map +1 -0
  784. package/dist/esm/w/local/util.js +45 -22
  785. package/dist/esm/w/local/util.js.map +1 -0
  786. package/dist/esm/w/local/wip.js +1038 -781
  787. package/dist/esm/w/local/wip.js.map +1 -0
  788. package/dist/esm/w/messenger/crypto.js +491 -387
  789. package/dist/esm/w/messenger/crypto.js.map +1 -0
  790. package/dist/esm/w/messenger/index.js +27 -24
  791. package/dist/esm/w/messenger/index.js.map +1 -0
  792. package/dist/esm/w/messenger/messenger-api.js +1111 -1017
  793. package/dist/esm/w/messenger/messenger-api.js.map +1 -0
  794. package/dist/esm/w/messenger/messenger-manager.js +944 -1052
  795. package/dist/esm/w/messenger/messenger-manager.js.map +1 -0
  796. package/dist/esm/w/messenger/messenger.d.ts +1 -1
  797. package/dist/esm/w/messenger/messenger.js +1258 -1421
  798. package/dist/esm/w/messenger/messenger.js.map +1 -0
  799. package/dist/esm/w/messenger/server.js +388 -499
  800. package/dist/esm/w/messenger/server.js.map +1 -0
  801. package/dist/esm/w/messenger/session.js +394 -399
  802. package/dist/esm/w/messenger/session.js.map +1 -0
  803. package/dist/esm/w/messenger/storage.js +840 -751
  804. package/dist/esm/w/messenger/storage.js.map +1 -0
  805. package/dist/esm/w/messenger/types.d.ts +2 -2
  806. package/dist/esm/w/messenger/types.js +80 -85
  807. package/dist/esm/w/messenger/types.js.map +1 -0
  808. package/dist/esm/w/messenger/utils.js +28 -16
  809. package/dist/esm/w/messenger/utils.js.map +1 -0
  810. package/dist/esm/w/query/bult-in.js +95 -100
  811. package/dist/esm/w/query/bult-in.js.map +1 -0
  812. package/dist/esm/w/query/event.js +128 -125
  813. package/dist/esm/w/query/event.js.map +1 -0
  814. package/dist/esm/w/query/index.js +3 -0
  815. package/dist/esm/w/query/index.js.map +1 -0
  816. package/dist/esm/w/query/object.js +1560 -1574
  817. package/dist/esm/w/query/object.js.map +1 -0
  818. package/dist/esm/w/query/received.js +57 -63
  819. package/dist/esm/w/query/received.js.map +1 -0
  820. package/dist/esm/w/query/util.js +48 -56
  821. package/dist/esm/w/query/util.js.map +1 -0
  822. package/dist/esm/w/util.js +578 -673
  823. package/dist/esm/w/util.js.map +1 -0
  824. package/package.json +13 -7
  825. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-arm64.node +0 -0
  826. package/prebuilds/better-sqlite3-v12.9.0-node-v115-darwin-x64.node +0 -0
  827. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm.node +0 -0
  828. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-arm64.node +0 -0
  829. package/prebuilds/better-sqlite3-v12.9.0-node-v115-linux-x64.node +0 -0
  830. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-arm64.node +0 -0
  831. package/prebuilds/better-sqlite3-v12.9.0-node-v115-win32-x64.node +0 -0
  832. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-arm64.node +0 -0
  833. package/prebuilds/better-sqlite3-v12.9.0-node-v127-darwin-x64.node +0 -0
  834. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm.node +0 -0
  835. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-arm64.node +0 -0
  836. package/prebuilds/better-sqlite3-v12.9.0-node-v127-linux-x64.node +0 -0
  837. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-arm64.node +0 -0
  838. package/prebuilds/better-sqlite3-v12.9.0-node-v127-win32-x64.node +0 -0
  839. package/scripts/download-prebuilds.js +234 -0
  840. package/scripts/install-better-sqlite3.js +377 -0
  841. package/dist/cjs/graphql/client.js +0 -98
  842. package/dist/cjs/graphql/core.js +0 -506
  843. package/dist/cjs/graphql/generated/2024.1/tada-env.js +0 -13141
  844. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +0 -11
  845. package/dist/cjs/graphql/generated/2024.4/tada-env.js +0 -13287
  846. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +0 -11
  847. package/dist/cjs/graphql/generated/latest/tada-env.js +0 -12925
  848. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +0 -11
  849. package/dist/cjs/graphql/generated/queries.js +0 -807
  850. package/dist/cjs/graphql/index.js +0 -25
  851. package/dist/cjs/graphql/schemas/2024.1/index.js +0 -28
  852. package/dist/cjs/graphql/schemas/2024.4/index.js +0 -28
  853. package/dist/cjs/graphql/schemas/latest/index.js +0 -28
  854. package/dist/cjs/graphql/types.js +0 -16
  855. package/dist/cjs/package.json +0 -5
  856. package/dist/cjs/w/local/.eslintrc.js +0 -15
  857. package/dist/cjs/w/messenger/.eslintrc.js +0 -15
  858. package/dist/cjs/zklogin/address.js +0 -93
  859. package/dist/cjs/zklogin/bcs.js +0 -41
  860. package/dist/cjs/zklogin/index.js +0 -45
  861. package/dist/cjs/zklogin/jwt-decode.js +0 -88
  862. package/dist/cjs/zklogin/jwt-utils.js +0 -128
  863. package/dist/cjs/zklogin/nonce.js +0 -60
  864. package/dist/cjs/zklogin/poseidon.js +0 -64
  865. package/dist/cjs/zklogin/publickey.js +0 -281
  866. package/dist/cjs/zklogin/signature.js +0 -57
  867. package/dist/cjs/zklogin/utils.js +0 -98
  868. package/dist/esm/graphql/client.js +0 -79
  869. package/dist/esm/graphql/core.js +0 -505
  870. package/dist/esm/graphql/generated/2024.1/tada-env.js +0 -13121
  871. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +0 -16
  872. package/dist/esm/graphql/generated/2024.4/tada-env.js +0 -13267
  873. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +0 -16
  874. package/dist/esm/graphql/generated/latest/tada-env.js +0 -12905
  875. package/dist/esm/graphql/generated/latest/tsconfig.tada.js +0 -16
  876. package/dist/esm/graphql/generated/queries.js +0 -788
  877. package/dist/esm/graphql/index.js +0 -8
  878. package/dist/esm/graphql/schemas/2024.1/index.js +0 -8
  879. package/dist/esm/graphql/schemas/2024.4/index.js +0 -8
  880. package/dist/esm/graphql/schemas/latest/index.js +0 -8
  881. package/dist/esm/graphql/types.js +0 -0
  882. package/dist/esm/package.json +0 -5
  883. package/dist/esm/w/local/.eslintrc.js +0 -23
  884. package/dist/esm/w/messenger/.eslintrc.js +0 -23
  885. package/dist/esm/zklogin/address.js +0 -78
  886. package/dist/esm/zklogin/bcs.js +0 -21
  887. package/dist/esm/zklogin/index.js +0 -38
  888. package/dist/esm/zklogin/jwt-decode.js +0 -68
  889. package/dist/esm/zklogin/jwt-utils.js +0 -108
  890. package/dist/esm/zklogin/nonce.js +0 -40
  891. package/dist/esm/zklogin/poseidon.js +0 -61
  892. package/dist/esm/zklogin/publickey.js +0 -265
  893. package/dist/esm/zklogin/signature.js +0 -37
  894. package/dist/esm/zklogin/utils.js +0 -78
  895. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  896. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,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