wowok 1.8.3 → 2.1.9

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 (892) hide show
  1. package/README.md +4 -33
  2. package/dist/cjs/bcs/bcs.d.ts +1973 -0
  3. package/dist/cjs/bcs/bcs.js +327 -0
  4. package/dist/cjs/bcs/effects.d.ts +579 -0
  5. package/dist/cjs/bcs/effects.js +231 -0
  6. package/dist/cjs/bcs/index.d.ts +2589 -0
  7. package/dist/cjs/bcs/index.js +79 -0
  8. package/dist/cjs/bcs/pure.d.ts +22 -0
  9. package/dist/cjs/bcs/pure.js +62 -0
  10. package/dist/cjs/bcs/type-tag-serializer.d.ts +7 -0
  11. package/dist/cjs/bcs/type-tag-serializer.js +124 -0
  12. package/dist/cjs/bcs/types.d.ts +114 -0
  13. package/dist/cjs/bcs/types.js +26 -0
  14. package/dist/cjs/client/index.d.ts +5 -0
  15. package/dist/cjs/client/index.js +34 -0
  16. package/dist/cjs/client/network.d.ts +5 -0
  17. package/dist/cjs/client/network.js +43 -0
  18. package/dist/cjs/cryptography/index.d.ts +7 -0
  19. package/dist/cjs/cryptography/index.js +46 -0
  20. package/dist/cjs/cryptography/intent.d.ts +6 -0
  21. package/dist/cjs/cryptography/intent.js +34 -0
  22. package/dist/cjs/cryptography/keypair.d.ts +73 -0
  23. package/dist/cjs/cryptography/keypair.js +125 -0
  24. package/dist/cjs/cryptography/mnemonics.d.ts +27 -0
  25. package/dist/cjs/cryptography/mnemonics.js +50 -0
  26. package/dist/cjs/cryptography/publickey.d.ts +67 -0
  27. package/dist/cjs/cryptography/publickey.js +142 -0
  28. package/dist/cjs/cryptography/signature-scheme.d.ts +24 -0
  29. package/dist/cjs/cryptography/signature-scheme.js +47 -0
  30. package/dist/cjs/cryptography/signature.d.ts +62 -0
  31. package/dist/cjs/cryptography/signature.js +71 -0
  32. package/dist/cjs/experimental/cache.d.ts +12 -0
  33. package/dist/cjs/experimental/client.d.ts +12 -0
  34. package/dist/cjs/experimental/core.d.ts +33 -0
  35. package/dist/cjs/experimental/errors.d.ts +8 -0
  36. package/dist/cjs/experimental/index.d.ts +7 -0
  37. package/dist/cjs/experimental/persistent-storage.d.ts +134 -0
  38. package/dist/cjs/experimental/persistent-storage.test.d.ts +5 -0
  39. package/dist/cjs/experimental/transports/utils.d.ts +3 -0
  40. package/dist/cjs/experimental/types.d.ts +367 -0
  41. package/dist/cjs/faucet/faucet.d.ts +66 -0
  42. package/dist/cjs/faucet/faucet.js +138 -0
  43. package/dist/cjs/faucet/index.d.ts +1 -0
  44. package/dist/cjs/faucet/index.js +29 -0
  45. package/dist/cjs/graphql/client.js +98 -0
  46. package/dist/cjs/graphql/core.js +506 -0
  47. package/dist/cjs/graphql/generated/2024.1/tada-env.js +13141 -0
  48. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +11 -0
  49. package/dist/cjs/graphql/generated/2024.4/tada-env.js +13287 -0
  50. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +11 -0
  51. package/dist/cjs/graphql/generated/latest/tada-env.js +12925 -0
  52. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +11 -0
  53. package/dist/cjs/graphql/generated/queries.js +807 -0
  54. package/dist/cjs/graphql/index.js +25 -0
  55. package/dist/cjs/graphql/schemas/2024.1/index.js +28 -0
  56. package/dist/cjs/graphql/schemas/2024.4/index.js +28 -0
  57. package/dist/cjs/graphql/schemas/latest/index.js +28 -0
  58. package/dist/cjs/graphql/types.js +16 -0
  59. package/dist/cjs/grpc/client.d.ts +32 -0
  60. package/dist/cjs/grpc/client.js +64 -0
  61. package/dist/cjs/grpc/core.d.ts +28 -0
  62. package/dist/cjs/grpc/core.js +645 -0
  63. package/dist/cjs/grpc/index.d.ts +4 -0
  64. package/dist/cjs/grpc/index.js +26 -0
  65. package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +173 -0
  66. package/dist/cjs/grpc/proto/google/protobuf/any.js +138 -0
  67. package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +104 -0
  68. package/dist/cjs/grpc/proto/google/protobuf/duration.js +94 -0
  69. package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +25 -0
  70. package/dist/cjs/grpc/proto/google/protobuf/empty.js +30 -0
  71. package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
  72. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +77 -0
  73. package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +169 -0
  74. package/dist/cjs/grpc/proto/google/protobuf/struct.js +224 -0
  75. package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
  76. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +134 -0
  77. package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +525 -0
  78. package/dist/cjs/grpc/proto/google/rpc/error_details.js +317 -0
  79. package/dist/cjs/grpc/proto/google/rpc/status.d.ts +46 -0
  80. package/dist/cjs/grpc/proto/google/rpc/status.js +52 -0
  81. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.d.ts +66 -0
  82. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +70 -0
  83. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.d.ts +34 -0
  84. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js +52 -0
  85. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.d.ts +30 -0
  86. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js +45 -0
  87. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.d.ts +68 -0
  88. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +77 -0
  89. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +74 -0
  90. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +84 -0
  91. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +195 -0
  92. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +170 -0
  93. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.d.ts +338 -0
  94. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +300 -0
  95. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.d.ts +62 -0
  96. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +87 -0
  97. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.d.ts +17 -0
  98. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js +29 -0
  99. package/dist/cjs/grpc/proto/sui/rpc/v2/event.d.ts +88 -0
  100. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +86 -0
  101. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +80 -0
  102. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +87 -0
  103. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +843 -0
  104. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +519 -0
  105. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +41 -0
  106. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +63 -0
  107. package/dist/cjs/grpc/proto/sui/rpc/v2/input.d.ts +98 -0
  108. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +85 -0
  109. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +70 -0
  110. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js +81 -0
  111. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +95 -0
  112. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +122 -0
  113. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.d.ts +420 -0
  114. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +368 -0
  115. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.d.ts +579 -0
  116. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +485 -0
  117. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +61 -0
  118. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +81 -0
  119. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.d.ts +229 -0
  120. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +241 -0
  121. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +41 -0
  122. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +55 -0
  123. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +144 -0
  124. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +141 -0
  125. package/dist/cjs/grpc/proto/sui/rpc/v2/object.d.ts +127 -0
  126. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +114 -0
  127. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.d.ts +34 -0
  128. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +53 -0
  129. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.d.ts +61 -0
  130. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +63 -0
  131. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.d.ts +30 -0
  132. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +61 -0
  133. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +630 -0
  134. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +541 -0
  135. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +40 -0
  136. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js +33 -0
  137. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +35 -0
  138. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +50 -0
  139. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +79 -0
  140. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +90 -0
  141. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.d.ts +71 -0
  142. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +88 -0
  143. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.d.ts +690 -0
  144. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +546 -0
  145. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +55 -0
  146. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +54 -0
  147. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.d.ts +57 -0
  148. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +65 -0
  149. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +684 -0
  150. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +740 -0
  151. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +1321 -0
  152. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +1005 -0
  153. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +41 -0
  154. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +49 -0
  155. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +184 -0
  156. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +177 -0
  157. package/dist/cjs/index.d.ts +25 -0
  158. package/dist/cjs/index.js +93 -0
  159. package/dist/cjs/jsonRpc/client.d.ts +261 -0
  160. package/dist/cjs/jsonRpc/client.js +747 -0
  161. package/dist/cjs/jsonRpc/core.d.ts +87 -0
  162. package/dist/cjs/jsonRpc/core.js +638 -0
  163. package/dist/cjs/jsonRpc/errors.d.ts +12 -0
  164. package/dist/cjs/jsonRpc/errors.js +65 -0
  165. package/dist/cjs/jsonRpc/http-transport.d.ts +42 -0
  166. package/dist/cjs/jsonRpc/http-transport.js +121 -0
  167. package/dist/cjs/jsonRpc/index.d.ts +4 -0
  168. package/dist/cjs/jsonRpc/index.js +31 -0
  169. package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +4 -0
  170. package/dist/cjs/jsonRpc/json-rpc-resolver.js +321 -0
  171. package/dist/cjs/jsonRpc/rpc-websocket-client.d.ts +43 -0
  172. package/dist/cjs/jsonRpc/rpc-websocket-client.js +220 -0
  173. package/dist/cjs/jsonRpc/types/chain.d.ts +99 -0
  174. package/dist/cjs/jsonRpc/types/chain.js +16 -0
  175. package/dist/cjs/jsonRpc/types/changes.d.ts +19 -0
  176. package/dist/cjs/jsonRpc/types/changes.js +16 -0
  177. package/dist/cjs/jsonRpc/types/coins.d.ts +6 -0
  178. package/dist/cjs/jsonRpc/types/coins.js +16 -0
  179. package/dist/cjs/jsonRpc/types/common.d.ts +2 -0
  180. package/dist/cjs/jsonRpc/types/common.js +16 -0
  181. package/dist/cjs/jsonRpc/types/generated.d.ts +1492 -0
  182. package/dist/cjs/jsonRpc/types/generated.js +16 -0
  183. package/dist/cjs/jsonRpc/types/index.d.ts +6 -0
  184. package/dist/cjs/jsonRpc/types/index.js +16 -0
  185. package/dist/cjs/jsonRpc/types/params.d.ts +656 -0
  186. package/dist/cjs/jsonRpc/types/params.js +16 -0
  187. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
  188. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +82 -0
  189. package/dist/cjs/keypairs/ed25519/index.d.ts +2 -0
  190. package/dist/cjs/keypairs/ed25519/index.js +27 -0
  191. package/dist/cjs/keypairs/ed25519/keypair.d.ts +74 -0
  192. package/dist/cjs/keypairs/ed25519/keypair.js +169 -0
  193. package/dist/cjs/keypairs/ed25519/publickey.d.ts +30 -0
  194. package/dist/cjs/keypairs/ed25519/publickey.js +90 -0
  195. package/dist/cjs/keypairs/index.d.ts +4 -0
  196. package/dist/cjs/keypairs/index.js +21 -0
  197. package/dist/cjs/keypairs/passkey/index.d.ts +3 -0
  198. package/dist/cjs/keypairs/passkey/index.js +28 -0
  199. package/dist/cjs/keypairs/passkey/keypair.d.ts +113 -0
  200. package/dist/cjs/keypairs/passkey/keypair.js +268 -0
  201. package/dist/cjs/keypairs/passkey/publickey.d.ts +72 -0
  202. package/dist/cjs/keypairs/passkey/publickey.js +175 -0
  203. package/dist/cjs/keypairs/passkey/types.d.ts +12 -0
  204. package/dist/cjs/keypairs/passkey/types.js +16 -0
  205. package/dist/cjs/keypairs/secp256k1/index.d.ts +2 -0
  206. package/dist/cjs/keypairs/secp256k1/index.js +27 -0
  207. package/dist/cjs/keypairs/secp256k1/keypair.d.ts +73 -0
  208. package/dist/cjs/keypairs/secp256k1/keypair.js +159 -0
  209. package/dist/cjs/keypairs/secp256k1/publickey.d.ts +30 -0
  210. package/dist/cjs/keypairs/secp256k1/publickey.js +95 -0
  211. package/dist/cjs/keypairs/secp256r1/index.d.ts +2 -0
  212. package/dist/cjs/keypairs/secp256r1/index.js +27 -0
  213. package/dist/cjs/keypairs/secp256r1/keypair.d.ts +73 -0
  214. package/dist/cjs/keypairs/secp256r1/keypair.js +155 -0
  215. package/dist/cjs/keypairs/secp256r1/publickey.d.ts +30 -0
  216. package/dist/cjs/keypairs/secp256r1/publickey.js +96 -0
  217. package/dist/cjs/multisig/index.d.ts +2 -0
  218. package/dist/cjs/multisig/index.js +27 -0
  219. package/dist/cjs/multisig/publickey.d.ts +79 -0
  220. package/dist/cjs/multisig/publickey.js +296 -0
  221. package/dist/cjs/multisig/signer.d.ts +20 -0
  222. package/dist/cjs/multisig/signer.js +114 -0
  223. package/dist/cjs/package.json +5 -0
  224. package/dist/cjs/transactions/Arguments.d.ts +57 -0
  225. package/dist/cjs/transactions/Arguments.js +36 -0
  226. package/dist/cjs/transactions/Commands.d.ts +57 -0
  227. package/dist/cjs/transactions/Commands.js +143 -0
  228. package/dist/cjs/transactions/Inputs.d.ts +22 -0
  229. package/dist/cjs/transactions/Inputs.js +87 -0
  230. package/dist/cjs/transactions/ObjectCache.d.ts +83 -0
  231. package/dist/cjs/transactions/ObjectCache.js +251 -0
  232. package/dist/cjs/transactions/Transaction.d.ts +710 -0
  233. package/dist/cjs/transactions/Transaction.js +742 -0
  234. package/dist/cjs/transactions/TransactionData.d.ts +73 -0
  235. package/dist/cjs/transactions/TransactionData.js +472 -0
  236. package/dist/cjs/transactions/__tests__/Transaction.test.d.ts +1 -0
  237. package/dist/cjs/transactions/__tests__/bcs.test.d.ts +1 -0
  238. package/dist/cjs/transactions/data/internal.d.ts +1010 -0
  239. package/dist/cjs/transactions/data/internal.js +230 -0
  240. package/dist/cjs/transactions/data/v1.d.ts +312 -0
  241. package/dist/cjs/transactions/data/v1.js +538 -0
  242. package/dist/cjs/transactions/data/v2.d.ts +153 -0
  243. package/dist/cjs/transactions/data/v2.js +124 -0
  244. package/dist/cjs/transactions/executor/caching.d.ts +31 -0
  245. package/dist/cjs/transactions/executor/caching.js +118 -0
  246. package/dist/cjs/transactions/executor/parallel.d.ts +37 -0
  247. package/dist/cjs/transactions/executor/parallel.js +395 -0
  248. package/dist/cjs/transactions/executor/queue.d.ts +11 -0
  249. package/dist/cjs/transactions/executor/queue.js +87 -0
  250. package/dist/cjs/transactions/executor/serial.d.ts +31 -0
  251. package/dist/cjs/transactions/executor/serial.js +136 -0
  252. package/dist/cjs/transactions/hash.d.ts +7 -0
  253. package/dist/cjs/transactions/hash.js +31 -0
  254. package/dist/cjs/transactions/index.d.ts +21 -0
  255. package/dist/cjs/transactions/index.js +50 -0
  256. package/dist/cjs/transactions/intents/CoinWithBalance.d.ts +9 -0
  257. package/dist/cjs/transactions/intents/CoinWithBalance.js +206 -0
  258. package/dist/cjs/transactions/object.d.ts +24 -0
  259. package/dist/cjs/transactions/object.js +116 -0
  260. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +31 -0
  261. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +37 -0
  262. package/dist/cjs/transactions/pure.d.ts +20 -0
  263. package/dist/cjs/transactions/pure.js +64 -0
  264. package/dist/cjs/transactions/resolve.d.ts +13 -0
  265. package/dist/cjs/transactions/resolve.js +103 -0
  266. package/dist/cjs/transactions/serializer.d.ts +7 -0
  267. package/dist/cjs/transactions/serializer.js +189 -0
  268. package/dist/cjs/transactions/utils.d.ts +10 -0
  269. package/dist/cjs/transactions/utils.js +143 -0
  270. package/dist/cjs/utils/constants.d.ts +17 -0
  271. package/dist/cjs/utils/constants.js +57 -0
  272. package/dist/cjs/utils/derived-objects.d.ts +5 -0
  273. package/dist/cjs/utils/derived-objects.js +33 -0
  274. package/dist/cjs/utils/dynamic-fields.d.ts +2 -0
  275. package/dist/cjs/utils/dynamic-fields.js +40 -0
  276. package/dist/cjs/utils/format.d.ts +2 -0
  277. package/dist/cjs/utils/format.js +35 -0
  278. package/dist/cjs/utils/index.d.ts +8 -0
  279. package/dist/cjs/utils/index.js +65 -0
  280. package/dist/cjs/utils/move-registry.d.ts +6 -0
  281. package/dist/cjs/utils/move-registry.js +44 -0
  282. package/dist/cjs/utils/sui-types.d.ts +26 -0
  283. package/dist/cjs/utils/sui-types.js +90 -0
  284. package/dist/cjs/utils/suins.d.ts +2 -0
  285. package/dist/cjs/utils/suins.js +56 -0
  286. package/dist/cjs/verify/index.d.ts +1 -0
  287. package/dist/cjs/verify/index.js +28 -0
  288. package/dist/cjs/verify/verify.d.ts +16 -0
  289. package/dist/cjs/verify/verify.js +125 -0
  290. package/dist/cjs/version.d.ts +2 -0
  291. package/dist/cjs/version.js +26 -0
  292. package/dist/cjs/w/call/allocation.d.ts +35 -0
  293. package/dist/cjs/w/call/allocation.js +439 -0
  294. package/dist/cjs/w/call/arb.d.ts +17 -0
  295. package/dist/cjs/w/call/arb.js +149 -0
  296. package/dist/cjs/w/call/arbitration.d.ts +106 -0
  297. package/dist/cjs/w/call/arbitration.js +1623 -0
  298. package/dist/cjs/w/call/base.d.ts +42 -0
  299. package/dist/cjs/w/call/base.js +363 -0
  300. package/dist/cjs/w/call/contact.d.ts +45 -0
  301. package/dist/cjs/w/call/contact.js +479 -0
  302. package/dist/cjs/w/call/demand.d.ts +79 -0
  303. package/dist/cjs/w/call/demand.js +872 -0
  304. package/dist/cjs/w/call/entity.d.ts +33 -0
  305. package/dist/cjs/w/call/entity.js +230 -0
  306. package/dist/cjs/w/call/guard-ins.d.ts +31 -0
  307. package/dist/cjs/w/call/guard-ins.js +4391 -0
  308. package/dist/cjs/w/call/guard.d.ts +254 -0
  309. package/dist/cjs/w/call/guard.js +1210 -0
  310. package/dist/cjs/w/call/index.d.ts +37 -0
  311. package/dist/cjs/w/call/index.js +71 -0
  312. package/dist/cjs/w/call/machine.d.ts +124 -0
  313. package/dist/cjs/w/call/machine.js +1486 -0
  314. package/dist/cjs/w/call/order.d.ts +73 -0
  315. package/dist/cjs/w/call/order.js +485 -0
  316. package/dist/cjs/w/call/passport.d.ts +24 -0
  317. package/dist/cjs/w/call/passport.js +281 -0
  318. package/dist/cjs/w/call/payment.d.ts +27 -0
  319. package/dist/cjs/w/call/payment.js +241 -0
  320. package/dist/cjs/w/call/permission.d.ts +222 -0
  321. package/dist/cjs/w/call/permission.js +1368 -0
  322. package/dist/cjs/w/call/personal.d.ts +51 -0
  323. package/dist/cjs/w/call/personal.js +184 -0
  324. package/dist/cjs/w/call/progress.d.ts +94 -0
  325. package/dist/cjs/w/call/progress.js +833 -0
  326. package/dist/cjs/w/call/proof.d.ts +27 -0
  327. package/dist/cjs/w/call/proof.js +124 -0
  328. package/dist/cjs/w/call/repository.d.ts +97 -0
  329. package/dist/cjs/w/call/repository.js +1324 -0
  330. package/dist/cjs/w/call/resource.d.ts +27 -0
  331. package/dist/cjs/w/call/resource.js +149 -0
  332. package/dist/cjs/w/call/reward.d.ts +52 -0
  333. package/dist/cjs/w/call/reward.js +879 -0
  334. package/dist/cjs/w/call/service.d.ts +184 -0
  335. package/dist/cjs/w/call/service.js +2468 -0
  336. package/dist/cjs/w/call/treasury.d.ts +77 -0
  337. package/dist/cjs/w/call/treasury.js +1192 -0
  338. package/dist/cjs/w/call/util.d.ts +12 -0
  339. package/dist/cjs/w/call/util.js +661 -0
  340. package/dist/cjs/w/common.d.ts +359 -0
  341. package/dist/cjs/w/common.js +625 -0
  342. package/dist/cjs/w/exception.d.ts +82 -0
  343. package/dist/cjs/w/exception.js +604 -0
  344. package/dist/cjs/w/index.d.ts +8 -0
  345. package/dist/cjs/w/index.js +25 -0
  346. package/dist/cjs/w/local/.eslintrc.js +15 -0
  347. package/dist/cjs/w/local/account.d.ts +134 -0
  348. package/dist/cjs/w/local/account.js +770 -0
  349. package/dist/cjs/w/local/cache.d.ts +35 -0
  350. package/dist/cjs/w/local/cache.js +181 -0
  351. package/dist/cjs/w/local/config.d.ts +15 -0
  352. package/dist/cjs/w/local/config.js +83 -0
  353. package/dist/cjs/w/local/index.d.ts +193 -0
  354. package/dist/cjs/w/local/index.js +322 -0
  355. package/dist/cjs/w/local/local.d.ts +93 -0
  356. package/dist/cjs/w/local/local.js +673 -0
  357. package/dist/cjs/w/local/storage.d.ts +61 -0
  358. package/dist/cjs/w/local/storage.js +219 -0
  359. package/dist/cjs/w/local/token.d.ts +22 -0
  360. package/dist/cjs/w/local/token.js +182 -0
  361. package/dist/cjs/w/local/util.d.ts +5 -0
  362. package/dist/cjs/w/local/util.js +57 -0
  363. package/dist/cjs/w/local/wip.d.ts +218 -0
  364. package/dist/cjs/w/local/wip.js +911 -0
  365. package/dist/cjs/w/messenger/.eslintrc.js +15 -0
  366. package/dist/cjs/w/messenger/crypto.d.ts +269 -0
  367. package/dist/cjs/w/messenger/crypto.js +448 -0
  368. package/dist/cjs/w/messenger/index.d.ts +23 -0
  369. package/dist/cjs/w/messenger/index.js +37 -0
  370. package/dist/cjs/w/messenger/messenger-api.d.ts +225 -0
  371. package/dist/cjs/w/messenger/messenger-api.js +1247 -0
  372. package/dist/cjs/w/messenger/messenger-manager.d.ts +80 -0
  373. package/dist/cjs/w/messenger/messenger-manager.js +1143 -0
  374. package/dist/cjs/w/messenger/messenger.d.ts +231 -0
  375. package/dist/cjs/w/messenger/messenger.js +1512 -0
  376. package/dist/cjs/w/messenger/server.d.ts +134 -0
  377. package/dist/cjs/w/messenger/server.js +535 -0
  378. package/dist/cjs/w/messenger/session.d.ts +78 -0
  379. package/dist/cjs/w/messenger/session.js +418 -0
  380. package/dist/cjs/w/messenger/storage.d.ts +192 -0
  381. package/dist/cjs/w/messenger/storage.js +964 -0
  382. package/dist/cjs/w/messenger/types.d.ts +705 -0
  383. package/dist/cjs/w/messenger/types.js +107 -0
  384. package/dist/cjs/w/messenger/utils.d.ts +15 -0
  385. package/dist/cjs/w/messenger/utils.js +37 -0
  386. package/dist/cjs/w/query/bult-in.d.ts +73 -0
  387. package/dist/cjs/w/query/bult-in.js +121 -0
  388. package/dist/cjs/w/query/event.d.ts +82 -0
  389. package/dist/cjs/w/query/event.js +157 -0
  390. package/dist/cjs/w/query/index.d.ts +5 -0
  391. package/dist/cjs/w/query/index.js +22 -0
  392. package/dist/cjs/w/query/object.d.ts +658 -0
  393. package/dist/cjs/w/query/object.js +1671 -0
  394. package/dist/cjs/w/query/received.d.ts +34 -0
  395. package/dist/cjs/w/query/received.js +93 -0
  396. package/dist/cjs/w/query/util.d.ts +5 -0
  397. package/dist/cjs/w/query/util.js +82 -0
  398. package/dist/cjs/w/util.d.ts +19 -0
  399. package/dist/cjs/w/util.js +715 -0
  400. package/dist/cjs/zklogin/address.js +93 -0
  401. package/dist/cjs/zklogin/bcs.js +41 -0
  402. package/dist/cjs/zklogin/index.js +45 -0
  403. package/dist/cjs/zklogin/jwt-decode.js +88 -0
  404. package/dist/cjs/zklogin/jwt-utils.js +128 -0
  405. package/dist/cjs/zklogin/nonce.js +60 -0
  406. package/dist/cjs/zklogin/poseidon.js +64 -0
  407. package/dist/cjs/zklogin/publickey.js +281 -0
  408. package/dist/cjs/zklogin/signature.js +57 -0
  409. package/dist/cjs/zklogin/utils.js +98 -0
  410. package/dist/esm/bcs/bcs.d.ts +1973 -0
  411. package/dist/esm/bcs/bcs.js +319 -0
  412. package/dist/esm/bcs/effects.d.ts +579 -0
  413. package/dist/esm/bcs/effects.js +211 -0
  414. package/dist/esm/bcs/index.d.ts +2589 -0
  415. package/dist/esm/bcs/index.js +98 -0
  416. package/dist/esm/bcs/pure.d.ts +22 -0
  417. package/dist/esm/bcs/pure.js +42 -0
  418. package/dist/esm/bcs/type-tag-serializer.d.ts +7 -0
  419. package/dist/esm/bcs/type-tag-serializer.js +104 -0
  420. package/dist/esm/bcs/types.d.ts +114 -0
  421. package/dist/esm/bcs/types.js +6 -0
  422. package/dist/esm/client/index.d.ts +5 -0
  423. package/dist/esm/client/index.js +23 -0
  424. package/dist/esm/client/network.d.ts +5 -0
  425. package/dist/esm/client/network.js +23 -0
  426. package/dist/esm/cryptography/index.d.ts +7 -0
  427. package/dist/esm/cryptography/index.js +46 -0
  428. package/dist/esm/cryptography/intent.d.ts +6 -0
  429. package/dist/esm/cryptography/intent.js +14 -0
  430. package/dist/esm/cryptography/keypair.d.ts +73 -0
  431. package/dist/esm/cryptography/keypair.js +108 -0
  432. package/dist/esm/cryptography/mnemonics.d.ts +27 -0
  433. package/dist/esm/cryptography/mnemonics.js +30 -0
  434. package/dist/esm/cryptography/publickey.d.ts +67 -0
  435. package/dist/esm/cryptography/publickey.js +125 -0
  436. package/dist/esm/cryptography/signature-scheme.d.ts +24 -0
  437. package/dist/esm/cryptography/signature-scheme.js +27 -0
  438. package/dist/esm/cryptography/signature.d.ts +62 -0
  439. package/dist/esm/cryptography/signature.js +54 -0
  440. package/dist/esm/experimental/cache.d.ts +12 -0
  441. package/dist/esm/experimental/client.d.ts +12 -0
  442. package/dist/esm/experimental/core.d.ts +33 -0
  443. package/dist/esm/experimental/errors.d.ts +8 -0
  444. package/dist/esm/experimental/index.d.ts +7 -0
  445. package/dist/esm/experimental/persistent-storage.d.ts +134 -0
  446. package/dist/esm/experimental/persistent-storage.test.d.ts +5 -0
  447. package/dist/esm/experimental/transports/utils.d.ts +3 -0
  448. package/dist/esm/experimental/types.d.ts +367 -0
  449. package/dist/esm/faucet/faucet.d.ts +66 -0
  450. package/dist/esm/faucet/faucet.js +118 -0
  451. package/dist/esm/faucet/index.d.ts +1 -0
  452. package/dist/esm/faucet/index.js +16 -0
  453. package/dist/esm/graphql/client.js +79 -0
  454. package/dist/esm/graphql/core.js +505 -0
  455. package/dist/esm/graphql/generated/2024.1/tada-env.js +13121 -0
  456. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +16 -0
  457. package/dist/esm/graphql/generated/2024.4/tada-env.js +13267 -0
  458. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +16 -0
  459. package/dist/esm/graphql/generated/latest/tada-env.js +12905 -0
  460. package/dist/esm/graphql/generated/latest/tsconfig.tada.js +16 -0
  461. package/dist/esm/graphql/generated/queries.js +788 -0
  462. package/dist/esm/graphql/index.js +8 -0
  463. package/dist/esm/graphql/schemas/2024.1/index.js +8 -0
  464. package/dist/esm/graphql/schemas/2024.4/index.js +8 -0
  465. package/dist/esm/graphql/schemas/latest/index.js +8 -0
  466. package/dist/esm/graphql/types.js +0 -0
  467. package/dist/esm/grpc/client.d.ts +32 -0
  468. package/dist/esm/grpc/client.js +45 -0
  469. package/dist/esm/grpc/core.d.ts +28 -0
  470. package/dist/esm/grpc/core.js +634 -0
  471. package/dist/esm/grpc/index.d.ts +4 -0
  472. package/dist/esm/grpc/index.js +6 -0
  473. package/dist/esm/grpc/proto/google/protobuf/any.d.ts +173 -0
  474. package/dist/esm/grpc/proto/google/protobuf/any.js +118 -0
  475. package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +104 -0
  476. package/dist/esm/grpc/proto/google/protobuf/duration.js +74 -0
  477. package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +25 -0
  478. package/dist/esm/grpc/proto/google/protobuf/empty.js +10 -0
  479. package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
  480. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +57 -0
  481. package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +169 -0
  482. package/dist/esm/grpc/proto/google/protobuf/struct.js +204 -0
  483. package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
  484. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +114 -0
  485. package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +525 -0
  486. package/dist/esm/grpc/proto/google/rpc/error_details.js +297 -0
  487. package/dist/esm/grpc/proto/google/rpc/status.d.ts +46 -0
  488. package/dist/esm/grpc/proto/google/rpc/status.js +32 -0
  489. package/dist/esm/grpc/proto/sui/rpc/v2/argument.d.ts +66 -0
  490. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +50 -0
  491. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.d.ts +34 -0
  492. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js +32 -0
  493. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.d.ts +30 -0
  494. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js +25 -0
  495. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.d.ts +68 -0
  496. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +57 -0
  497. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +74 -0
  498. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +64 -0
  499. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +195 -0
  500. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +150 -0
  501. package/dist/esm/grpc/proto/sui/rpc/v2/effects.d.ts +338 -0
  502. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +280 -0
  503. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.d.ts +62 -0
  504. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +67 -0
  505. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.d.ts +17 -0
  506. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js +9 -0
  507. package/dist/esm/grpc/proto/sui/rpc/v2/event.d.ts +88 -0
  508. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +66 -0
  509. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +80 -0
  510. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +67 -0
  511. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +843 -0
  512. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +499 -0
  513. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +41 -0
  514. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +43 -0
  515. package/dist/esm/grpc/proto/sui/rpc/v2/input.d.ts +98 -0
  516. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +65 -0
  517. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +70 -0
  518. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js +61 -0
  519. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +95 -0
  520. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +103 -0
  521. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.d.ts +420 -0
  522. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +348 -0
  523. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.d.ts +579 -0
  524. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +465 -0
  525. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +61 -0
  526. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +62 -0
  527. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.d.ts +229 -0
  528. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +221 -0
  529. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +41 -0
  530. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +36 -0
  531. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +144 -0
  532. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +121 -0
  533. package/dist/esm/grpc/proto/sui/rpc/v2/object.d.ts +127 -0
  534. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +94 -0
  535. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.d.ts +34 -0
  536. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +33 -0
  537. package/dist/esm/grpc/proto/sui/rpc/v2/owner.d.ts +61 -0
  538. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +43 -0
  539. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.d.ts +30 -0
  540. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +41 -0
  541. package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +630 -0
  542. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +521 -0
  543. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.d.ts +40 -0
  544. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js +13 -0
  545. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +35 -0
  546. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +31 -0
  547. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +79 -0
  548. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +70 -0
  549. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.d.ts +71 -0
  550. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +69 -0
  551. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.d.ts +690 -0
  552. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +526 -0
  553. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +55 -0
  554. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +35 -0
  555. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.d.ts +57 -0
  556. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +45 -0
  557. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +684 -0
  558. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +720 -0
  559. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +1321 -0
  560. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +985 -0
  561. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +41 -0
  562. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +30 -0
  563. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +184 -0
  564. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +157 -0
  565. package/dist/esm/index.d.ts +25 -0
  566. package/dist/esm/index.js +119 -0
  567. package/dist/esm/jsonRpc/client.d.ts +261 -0
  568. package/dist/esm/jsonRpc/client.js +734 -0
  569. package/dist/esm/jsonRpc/core.d.ts +87 -0
  570. package/dist/esm/jsonRpc/core.js +621 -0
  571. package/dist/esm/jsonRpc/errors.d.ts +12 -0
  572. package/dist/esm/jsonRpc/errors.js +46 -0
  573. package/dist/esm/jsonRpc/http-transport.d.ts +42 -0
  574. package/dist/esm/jsonRpc/http-transport.js +101 -0
  575. package/dist/esm/jsonRpc/index.d.ts +4 -0
  576. package/dist/esm/jsonRpc/index.js +20 -0
  577. package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +4 -0
  578. package/dist/esm/jsonRpc/json-rpc-resolver.js +309 -0
  579. package/dist/esm/jsonRpc/rpc-websocket-client.d.ts +43 -0
  580. package/dist/esm/jsonRpc/rpc-websocket-client.js +201 -0
  581. package/dist/esm/jsonRpc/types/chain.d.ts +99 -0
  582. package/dist/esm/jsonRpc/types/chain.js +0 -0
  583. package/dist/esm/jsonRpc/types/changes.d.ts +19 -0
  584. package/dist/esm/jsonRpc/types/changes.js +0 -0
  585. package/dist/esm/jsonRpc/types/coins.d.ts +6 -0
  586. package/dist/esm/jsonRpc/types/coins.js +0 -0
  587. package/dist/esm/jsonRpc/types/common.d.ts +2 -0
  588. package/dist/esm/jsonRpc/types/common.js +0 -0
  589. package/dist/esm/jsonRpc/types/generated.d.ts +1492 -0
  590. package/dist/esm/jsonRpc/types/generated.js +0 -0
  591. package/dist/esm/jsonRpc/types/index.d.ts +6 -0
  592. package/dist/esm/jsonRpc/types/index.js +0 -0
  593. package/dist/esm/jsonRpc/types/params.d.ts +656 -0
  594. package/dist/esm/jsonRpc/types/params.js +0 -0
  595. package/dist/esm/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
  596. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +62 -0
  597. package/dist/esm/keypairs/ed25519/index.d.ts +2 -0
  598. package/dist/esm/keypairs/ed25519/index.js +10 -0
  599. package/dist/esm/keypairs/ed25519/keypair.d.ts +74 -0
  600. package/dist/esm/keypairs/ed25519/keypair.js +158 -0
  601. package/dist/esm/keypairs/ed25519/publickey.d.ts +30 -0
  602. package/dist/esm/keypairs/ed25519/publickey.js +75 -0
  603. package/dist/esm/keypairs/index.d.ts +4 -0
  604. package/dist/esm/keypairs/index.js +4 -0
  605. package/dist/esm/keypairs/passkey/index.d.ts +3 -0
  606. package/dist/esm/keypairs/passkey/index.js +12 -0
  607. package/dist/esm/keypairs/passkey/keypair.d.ts +113 -0
  608. package/dist/esm/keypairs/passkey/keypair.js +258 -0
  609. package/dist/esm/keypairs/passkey/publickey.d.ts +72 -0
  610. package/dist/esm/keypairs/passkey/publickey.js +156 -0
  611. package/dist/esm/keypairs/passkey/types.d.ts +12 -0
  612. package/dist/esm/keypairs/passkey/types.js +0 -0
  613. package/dist/esm/keypairs/secp256k1/index.d.ts +2 -0
  614. package/dist/esm/keypairs/secp256k1/index.js +10 -0
  615. package/dist/esm/keypairs/secp256k1/keypair.d.ts +73 -0
  616. package/dist/esm/keypairs/secp256k1/keypair.js +147 -0
  617. package/dist/esm/keypairs/secp256k1/publickey.d.ts +30 -0
  618. package/dist/esm/keypairs/secp256k1/publickey.js +80 -0
  619. package/dist/esm/keypairs/secp256r1/index.d.ts +2 -0
  620. package/dist/esm/keypairs/secp256r1/index.js +10 -0
  621. package/dist/esm/keypairs/secp256r1/keypair.d.ts +73 -0
  622. package/dist/esm/keypairs/secp256r1/keypair.js +143 -0
  623. package/dist/esm/keypairs/secp256r1/publickey.d.ts +30 -0
  624. package/dist/esm/keypairs/secp256r1/publickey.js +77 -0
  625. package/dist/esm/multisig/index.d.ts +2 -0
  626. package/dist/esm/multisig/index.js +10 -0
  627. package/dist/esm/multisig/publickey.d.ts +79 -0
  628. package/dist/esm/multisig/publickey.js +280 -0
  629. package/dist/esm/multisig/signer.d.ts +20 -0
  630. package/dist/esm/multisig/signer.js +94 -0
  631. package/dist/esm/package.json +5 -0
  632. package/dist/esm/transactions/Arguments.d.ts +57 -0
  633. package/dist/esm/transactions/Arguments.js +16 -0
  634. package/dist/esm/transactions/Commands.d.ts +57 -0
  635. package/dist/esm/transactions/Commands.js +123 -0
  636. package/dist/esm/transactions/Inputs.d.ts +22 -0
  637. package/dist/esm/transactions/Inputs.js +67 -0
  638. package/dist/esm/transactions/ObjectCache.d.ts +83 -0
  639. package/dist/esm/transactions/ObjectCache.js +231 -0
  640. package/dist/esm/transactions/Transaction.d.ts +710 -0
  641. package/dist/esm/transactions/Transaction.js +731 -0
  642. package/dist/esm/transactions/TransactionData.d.ts +73 -0
  643. package/dist/esm/transactions/TransactionData.js +453 -0
  644. package/dist/esm/transactions/__tests__/Transaction.test.d.ts +1 -0
  645. package/dist/esm/transactions/__tests__/bcs.test.d.ts +1 -0
  646. package/dist/esm/transactions/data/internal.d.ts +1010 -0
  647. package/dist/esm/transactions/data/internal.js +232 -0
  648. package/dist/esm/transactions/data/v1.d.ts +312 -0
  649. package/dist/esm/transactions/data/v1.js +542 -0
  650. package/dist/esm/transactions/data/v2.d.ts +153 -0
  651. package/dist/esm/transactions/data/v2.js +126 -0
  652. package/dist/esm/transactions/executor/caching.d.ts +31 -0
  653. package/dist/esm/transactions/executor/caching.js +99 -0
  654. package/dist/esm/transactions/executor/parallel.d.ts +37 -0
  655. package/dist/esm/transactions/executor/parallel.js +375 -0
  656. package/dist/esm/transactions/executor/queue.d.ts +11 -0
  657. package/dist/esm/transactions/executor/queue.js +68 -0
  658. package/dist/esm/transactions/executor/serial.d.ts +31 -0
  659. package/dist/esm/transactions/executor/serial.js +116 -0
  660. package/dist/esm/transactions/hash.d.ts +7 -0
  661. package/dist/esm/transactions/hash.js +11 -0
  662. package/dist/esm/transactions/index.d.ts +21 -0
  663. package/dist/esm/transactions/index.js +41 -0
  664. package/dist/esm/transactions/intents/CoinWithBalance.d.ts +9 -0
  665. package/dist/esm/transactions/intents/CoinWithBalance.js +186 -0
  666. package/dist/esm/transactions/object.d.ts +24 -0
  667. package/dist/esm/transactions/object.js +96 -0
  668. package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +31 -0
  669. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +17 -0
  670. package/dist/esm/transactions/pure.d.ts +20 -0
  671. package/dist/esm/transactions/pure.js +44 -0
  672. package/dist/esm/transactions/resolve.d.ts +13 -0
  673. package/dist/esm/transactions/resolve.js +83 -0
  674. package/dist/esm/transactions/serializer.d.ts +7 -0
  675. package/dist/esm/transactions/serializer.js +169 -0
  676. package/dist/esm/transactions/utils.d.ts +10 -0
  677. package/dist/esm/transactions/utils.js +123 -0
  678. package/dist/esm/utils/constants.d.ts +17 -0
  679. package/dist/esm/utils/constants.js +37 -0
  680. package/dist/esm/utils/derived-objects.d.ts +5 -0
  681. package/dist/esm/utils/derived-objects.js +13 -0
  682. package/dist/esm/utils/dynamic-fields.d.ts +2 -0
  683. package/dist/esm/utils/dynamic-fields.js +20 -0
  684. package/dist/esm/utils/format.d.ts +2 -0
  685. package/dist/esm/utils/format.js +15 -0
  686. package/dist/esm/utils/index.d.ts +8 -0
  687. package/dist/esm/utils/index.js +76 -0
  688. package/dist/esm/utils/move-registry.d.ts +6 -0
  689. package/dist/esm/utils/move-registry.js +24 -0
  690. package/dist/esm/utils/sui-types.d.ts +26 -0
  691. package/dist/esm/utils/sui-types.js +70 -0
  692. package/dist/esm/utils/suins.d.ts +2 -0
  693. package/dist/esm/utils/suins.js +36 -0
  694. package/dist/esm/verify/index.d.ts +1 -0
  695. package/dist/esm/verify/index.js +14 -0
  696. package/dist/esm/verify/verify.d.ts +16 -0
  697. package/dist/esm/verify/verify.js +108 -0
  698. package/dist/esm/version.d.ts +2 -0
  699. package/dist/esm/version.js +6 -0
  700. package/dist/esm/w/call/allocation.d.ts +35 -0
  701. package/dist/esm/w/call/allocation.js +433 -0
  702. package/dist/esm/w/call/arb.d.ts +17 -0
  703. package/dist/esm/w/call/arb.js +138 -0
  704. package/dist/esm/w/call/arbitration.d.ts +106 -0
  705. package/dist/esm/w/call/arbitration.js +1620 -0
  706. package/dist/esm/w/call/base.d.ts +42 -0
  707. package/dist/esm/w/call/base.js +350 -0
  708. package/dist/esm/w/call/contact.d.ts +45 -0
  709. package/dist/esm/w/call/contact.js +474 -0
  710. package/dist/esm/w/call/demand.d.ts +79 -0
  711. package/dist/esm/w/call/demand.js +869 -0
  712. package/dist/esm/w/call/entity.d.ts +33 -0
  713. package/dist/esm/w/call/entity.js +220 -0
  714. package/dist/esm/w/call/guard-ins.d.ts +31 -0
  715. package/dist/esm/w/call/guard-ins.js +4371 -0
  716. package/dist/esm/w/call/guard.d.ts +254 -0
  717. package/dist/esm/w/call/guard.js +1202 -0
  718. package/dist/esm/w/call/index.d.ts +37 -0
  719. package/dist/esm/w/call/index.js +57 -0
  720. package/dist/esm/w/call/machine.d.ts +124 -0
  721. package/dist/esm/w/call/machine.js +1492 -0
  722. package/dist/esm/w/call/order.d.ts +73 -0
  723. package/dist/esm/w/call/order.js +481 -0
  724. package/dist/esm/w/call/passport.d.ts +24 -0
  725. package/dist/esm/w/call/passport.js +266 -0
  726. package/dist/esm/w/call/payment.d.ts +27 -0
  727. package/dist/esm/w/call/payment.js +233 -0
  728. package/dist/esm/w/call/permission.d.ts +222 -0
  729. package/dist/esm/w/call/permission.js +1375 -0
  730. package/dist/esm/w/call/personal.d.ts +51 -0
  731. package/dist/esm/w/call/personal.js +177 -0
  732. package/dist/esm/w/call/progress.d.ts +94 -0
  733. package/dist/esm/w/call/progress.js +827 -0
  734. package/dist/esm/w/call/proof.d.ts +27 -0
  735. package/dist/esm/w/call/proof.js +110 -0
  736. package/dist/esm/w/call/repository.d.ts +97 -0
  737. package/dist/esm/w/call/repository.js +1325 -0
  738. package/dist/esm/w/call/resource.d.ts +27 -0
  739. package/dist/esm/w/call/resource.js +135 -0
  740. package/dist/esm/w/call/reward.d.ts +52 -0
  741. package/dist/esm/w/call/reward.js +874 -0
  742. package/dist/esm/w/call/service.d.ts +184 -0
  743. package/dist/esm/w/call/service.js +2472 -0
  744. package/dist/esm/w/call/treasury.d.ts +77 -0
  745. package/dist/esm/w/call/treasury.js +1186 -0
  746. package/dist/esm/w/call/util.d.ts +12 -0
  747. package/dist/esm/w/call/util.js +646 -0
  748. package/dist/esm/w/common.d.ts +359 -0
  749. package/dist/esm/w/common.js +605 -0
  750. package/dist/esm/w/exception.d.ts +82 -0
  751. package/dist/esm/w/exception.js +585 -0
  752. package/dist/esm/w/index.d.ts +8 -0
  753. package/dist/esm/w/index.js +8 -0
  754. package/dist/esm/w/local/.eslintrc.js +23 -0
  755. package/dist/esm/w/local/account.d.ts +134 -0
  756. package/dist/esm/w/local/account.js +746 -0
  757. package/dist/esm/w/local/cache.d.ts +35 -0
  758. package/dist/esm/w/local/cache.js +162 -0
  759. package/dist/esm/w/local/config.d.ts +15 -0
  760. package/dist/esm/w/local/config.js +64 -0
  761. package/dist/esm/w/local/index.d.ts +193 -0
  762. package/dist/esm/w/local/index.js +301 -0
  763. package/dist/esm/w/local/local.d.ts +93 -0
  764. package/dist/esm/w/local/local.js +654 -0
  765. package/dist/esm/w/local/storage.d.ts +61 -0
  766. package/dist/esm/w/local/storage.js +190 -0
  767. package/dist/esm/w/local/token.d.ts +22 -0
  768. package/dist/esm/w/local/token.js +163 -0
  769. package/dist/esm/w/local/util.d.ts +5 -0
  770. package/dist/esm/w/local/util.js +27 -0
  771. package/dist/esm/w/local/wip.d.ts +218 -0
  772. package/dist/esm/w/local/wip.js +882 -0
  773. package/dist/esm/w/messenger/.eslintrc.js +23 -0
  774. package/dist/esm/w/messenger/crypto.d.ts +269 -0
  775. package/dist/esm/w/messenger/crypto.js +428 -0
  776. package/dist/esm/w/messenger/index.d.ts +23 -0
  777. package/dist/esm/w/messenger/index.js +25 -0
  778. package/dist/esm/w/messenger/messenger-api.d.ts +225 -0
  779. package/dist/esm/w/messenger/messenger-api.js +1228 -0
  780. package/dist/esm/w/messenger/messenger-manager.d.ts +80 -0
  781. package/dist/esm/w/messenger/messenger-manager.js +1118 -0
  782. package/dist/esm/w/messenger/messenger.d.ts +231 -0
  783. package/dist/esm/w/messenger/messenger.js +1492 -0
  784. package/dist/esm/w/messenger/server.d.ts +134 -0
  785. package/dist/esm/w/messenger/server.js +520 -0
  786. package/dist/esm/w/messenger/session.d.ts +78 -0
  787. package/dist/esm/w/messenger/session.js +415 -0
  788. package/dist/esm/w/messenger/storage.d.ts +192 -0
  789. package/dist/esm/w/messenger/storage.js +935 -0
  790. package/dist/esm/w/messenger/types.d.ts +705 -0
  791. package/dist/esm/w/messenger/types.js +88 -0
  792. package/dist/esm/w/messenger/utils.d.ts +15 -0
  793. package/dist/esm/w/messenger/utils.js +17 -0
  794. package/dist/esm/w/query/bult-in.d.ts +73 -0
  795. package/dist/esm/w/query/bult-in.js +112 -0
  796. package/dist/esm/w/query/event.d.ts +82 -0
  797. package/dist/esm/w/query/event.js +137 -0
  798. package/dist/esm/w/query/index.d.ts +5 -0
  799. package/dist/esm/w/query/index.js +5 -0
  800. package/dist/esm/w/query/object.d.ts +658 -0
  801. package/dist/esm/w/query/object.js +1648 -0
  802. package/dist/esm/w/query/received.d.ts +34 -0
  803. package/dist/esm/w/query/received.js +73 -0
  804. package/dist/esm/w/query/util.d.ts +5 -0
  805. package/dist/esm/w/query/util.js +62 -0
  806. package/dist/esm/w/util.d.ts +19 -0
  807. package/dist/esm/w/util.js +710 -0
  808. package/dist/esm/zklogin/address.js +78 -0
  809. package/dist/esm/zklogin/bcs.js +21 -0
  810. package/dist/esm/zklogin/index.js +38 -0
  811. package/dist/esm/zklogin/jwt-decode.js +68 -0
  812. package/dist/esm/zklogin/jwt-utils.js +108 -0
  813. package/dist/esm/zklogin/nonce.js +40 -0
  814. package/dist/esm/zklogin/poseidon.js +61 -0
  815. package/dist/esm/zklogin/publickey.js +265 -0
  816. package/dist/esm/zklogin/signature.js +37 -0
  817. package/dist/esm/zklogin/utils.js +78 -0
  818. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  819. package/dist/tsconfig.tsbuildinfo +1 -0
  820. package/package.json +295 -61
  821. package/dist/arbitration.d.ts +0 -65
  822. package/dist/arbitration.d.ts.map +0 -1
  823. package/dist/arbitration.js +0 -517
  824. package/dist/arbitration.js.map +0 -1
  825. package/dist/demand.d.ts +0 -27
  826. package/dist/demand.d.ts.map +0 -1
  827. package/dist/demand.js +0 -266
  828. package/dist/demand.js.map +0 -1
  829. package/dist/entity.d.ts +0 -46
  830. package/dist/entity.d.ts.map +0 -1
  831. package/dist/entity.js +0 -146
  832. package/dist/entity.js.map +0 -1
  833. package/dist/exception.d.ts +0 -37
  834. package/dist/exception.d.ts.map +0 -1
  835. package/dist/exception.js +0 -41
  836. package/dist/exception.js.map +0 -1
  837. package/dist/guard.d.ts +0 -110
  838. package/dist/guard.d.ts.map +0 -1
  839. package/dist/guard.js +0 -936
  840. package/dist/guard.js.map +0 -1
  841. package/dist/index.d.ts +0 -40
  842. package/dist/index.d.ts.map +0 -1
  843. package/dist/index.js +0 -28
  844. package/dist/index.js.map +0 -1
  845. package/dist/machine.d.ts +0 -68
  846. package/dist/machine.d.ts.map +0 -1
  847. package/dist/machine.js +0 -520
  848. package/dist/machine.js.map +0 -1
  849. package/dist/passport.d.ts +0 -129
  850. package/dist/passport.d.ts.map +0 -1
  851. package/dist/passport.js +0 -1233
  852. package/dist/passport.js.map +0 -1
  853. package/dist/payment.d.ts +0 -28
  854. package/dist/payment.d.ts.map +0 -1
  855. package/dist/payment.js +0 -60
  856. package/dist/payment.js.map +0 -1
  857. package/dist/permission.d.ts +0 -155
  858. package/dist/permission.d.ts.map +0 -1
  859. package/dist/permission.js +0 -462
  860. package/dist/permission.js.map +0 -1
  861. package/dist/progress.d.ts +0 -66
  862. package/dist/progress.d.ts.map +0 -1
  863. package/dist/progress.js +0 -311
  864. package/dist/progress.js.map +0 -1
  865. package/dist/protocol.d.ts +0 -247
  866. package/dist/protocol.d.ts.map +0 -1
  867. package/dist/protocol.js +0 -726
  868. package/dist/protocol.js.map +0 -1
  869. package/dist/repository.d.ts +0 -95
  870. package/dist/repository.d.ts.map +0 -1
  871. package/dist/repository.js +0 -793
  872. package/dist/repository.js.map +0 -1
  873. package/dist/resource.d.ts +0 -36
  874. package/dist/resource.d.ts.map +0 -1
  875. package/dist/resource.js +0 -129
  876. package/dist/resource.js.map +0 -1
  877. package/dist/service.d.ts +0 -144
  878. package/dist/service.d.ts.map +0 -1
  879. package/dist/service.js +0 -1303
  880. package/dist/service.js.map +0 -1
  881. package/dist/treasury.d.ts +0 -55
  882. package/dist/treasury.d.ts.map +0 -1
  883. package/dist/treasury.js +0 -393
  884. package/dist/treasury.js.map +0 -1
  885. package/dist/utils.d.ts +0 -94
  886. package/dist/utils.d.ts.map +0 -1
  887. package/dist/utils.js +0 -582
  888. package/dist/utils.js.map +0 -1
  889. package/dist/wowok.d.ts +0 -15
  890. package/dist/wowok.d.ts.map +0 -1
  891. package/dist/wowok.js +0 -66
  892. package/dist/wowok.js.map +0 -1
package/dist/passport.js DELETED
@@ -1,1233 +0,0 @@
1
- var _a;
2
- import { Inputs } from '@mysten/sui/transactions';
3
- import { Protocol, ContextType, OperatorType, ValueType, SER_VALUE, IsContextWitness, MODULES, WitnessObjectModule, WitnessForModule } from './protocol.js';
4
- import { parse_object_type, array_unique, Bcs, ulebDecode, IsValidAddress, IsValidArray, deepCopy } from './utils.js';
5
- import { ERROR, Errors } from './exception.js';
6
- import { CMD_CHECK_GUARD, Guard, GUARD_QUERIES, GuardMaker } from './guard.js';
7
- import { bcs } from '@mysten/sui/bcs';
8
- import { Service } from './service.js';
9
- import { Arbitration } from './arbitration.js';
10
- import { Progress } from './progress.js';
11
- export class GuardParser {
12
- constructor(guards) {
13
- this.guard_list = [];
14
- this.guardlist = () => { return this.guard_list; };
15
- this.future_fills = () => {
16
- const ret = [];
17
- this.guard_list.forEach((g) => {
18
- // cmd already in query_list, so filter it out.
19
- //console.log(g.constant); console.log(g.input)
20
- g.constant.filter((i) => i.bWitness).forEach((v) => {
21
- let cited = 0;
22
- g.input.forEach((k) => {
23
- if (k.identifier === v.identifier)
24
- cited++;
25
- });
26
- ret.push({ guard: g.id, witness: undefined, identifier: v.identifier, ..._a.ConstantWitnessModule(v),
27
- type: v.type, cmd: v.cmd, witnessTypes: v.witness, cited: cited, description: v?.description }); // module 很重要,需要得到
28
- });
29
- });
30
- return ret;
31
- };
32
- this.fetch_witness = async (fill) => {
33
- if (!fill || fill.length === 0)
34
- return;
35
- // 所有需要查询的witness, 根据module字段获得
36
- const witness = array_unique(fill.filter(v => v.witness_module !== undefined).map(v => v.witness));
37
- if (witness.length === 0)
38
- return;
39
- const res = await Protocol.Instance().query_raw(witness, { showType: true, showContent: true });
40
- //console.log(res);
41
- const witnessObjectInfo = new Map(); // 报错witness 类型信息等
42
- // 查询并填充cmd的witness
43
- for (let i = 0; i < res.length; ++i) {
44
- const v = res[i];
45
- const type_raw = v?.data?.type ?? undefined;
46
- const objectid = v?.data?.objectId ?? undefined;
47
- if (!type_raw || !objectid)
48
- return;
49
- const t = Protocol.Instance().object_name_from_type_repr(type_raw);
50
- switch (t) {
51
- case 'Progress': {
52
- const machine = v?.data?.content?.fields?.machine;
53
- fill.filter(v => v.witness === objectid && v.witness_module === MODULES.progress).forEach(v => {
54
- v.cmd.forEach(i => {
55
- switch (i.witness) {
56
- case ContextType.TYPE_PROGRESS_MACHINE:
57
- i.witness_object = machine;
58
- break;
59
- }
60
- });
61
- });
62
- witnessObjectInfo.set(objectid, { module: MODULES.progress });
63
- break;
64
- }
65
- case 'Order': {
66
- const service = v?.data?.content?.fields?.service;
67
- const machine = v?.data?.content?.fields?.machine;
68
- const progress = v?.data?.content?.fields?.progress;
69
- fill.filter(v => v.witness === objectid && v.witness_module === MODULES.order).forEach(v => {
70
- v.cmd.forEach(i => {
71
- switch (i.witness) {
72
- case ContextType.TYPE_ORDER_MACHINE:
73
- i.witness_object = machine;
74
- break;
75
- case ContextType.TYPE_ORDER_PROGRESS:
76
- i.witness_object = progress;
77
- break;
78
- case ContextType.TYPE_ORDER_SERVICE:
79
- i.witness_object = service;
80
- break;
81
- }
82
- });
83
- });
84
- witnessObjectInfo.set(objectid, { module: MODULES.order, type: Service.parseOrderObjectType(type_raw) });
85
- break;
86
- }
87
- case 'Arb': {
88
- const arbitration = v?.data?.content?.fields?.arbitration;
89
- const order = v?.data?.content?.fields?.order;
90
- const order_res = await Protocol.Instance().query_raw([order], { showType: true, showContent: true });
91
- const service = order_res[0]?.data?.content?.fields?.service;
92
- const machine = order_res[0]?.data?.content?.fields?.machine;
93
- const progress = order_res[0]?.data?.content?.fields?.progress;
94
- const order_type = order_res[0]?.data?.type ?? undefined;
95
- fill.filter(v => v.witness === objectid && v.witness_module === MODULES.arb).forEach(v => {
96
- v.cmd.forEach(i => {
97
- switch (i.witness) {
98
- case ContextType.TYPE_ARB_MACHINE:
99
- i.witness_object = machine;
100
- break;
101
- case ContextType.TYPE_ARB_PROGRESS:
102
- i.witness_object = progress;
103
- break;
104
- case ContextType.TYPE_ARB_SERVICE:
105
- i.witness_object = service;
106
- break;
107
- case ContextType.TYPE_ARB_ORDER:
108
- i.witness_object = order;
109
- break;
110
- case ContextType.TYPE_ARB_ARBITRATION:
111
- i.witness_object = arbitration;
112
- break;
113
- }
114
- });
115
- });
116
- witnessObjectInfo.set(objectid, { module: MODULES.arb, type: Arbitration.parseArbObjectType(type_raw),
117
- order: order, order_type: order_type
118
- });
119
- break;
120
- }
121
- }
122
- }
123
- ;
124
- // 检查结果的完整性
125
- fill.filter(v => v.witness_module !== undefined).forEach(v => {
126
- v.cmd.forEach(i => {
127
- if (i.witness && !i.witness_object) {
128
- ERROR(Errors.Fail, `fetch_witness : ${i}`);
129
- }
130
- });
131
- });
132
- return witnessObjectInfo;
133
- };
134
- this.done = async (fill, onPassportQueryReady) => {
135
- let objects = [];
136
- // 填充所有的witness object
137
- const witnessObjectInfo = await this.fetch_witness(fill);
138
- // check all witness and get all objects to query.
139
- this.guard_list.forEach((g) => {
140
- g.constant.forEach((v) => {
141
- if (v.bWitness) {
142
- const value = fill?.find((i) => i.identifier === v.identifier && i.guard === g.id);
143
- if (!value) {
144
- ERROR(Errors.Fail, 'done: invalid witness ' + v.identifier);
145
- }
146
- else {
147
- v.value = value.witness; // 写witness
148
- }
149
- }
150
- });
151
- g.input.filter((v) => v.cmd !== undefined).forEach((i) => {
152
- if (i.identifier !== undefined) {
153
- if (IsContextWitness(i.value)) { //是否是 type witness
154
- const value = fill?.find(c => c.guard === g.id && c.identifier === i.identifier);
155
- const cmd = value?.cmd.find(c => c.cmd === i.cmd);
156
- if (!value || !cmd || !IsValidAddress(cmd.witness_object))
157
- ERROR(Errors.Fail, `witness invalid or not found: ${i}`);
158
- objects.push(cmd.witness_object); // 将witness查询对象地址加入
159
- }
160
- else { // self witness
161
- const value = g.constant.find((c) => c.identifier === i.identifier && c.type === ValueType.TYPE_ADDRESS);
162
- if (!value || !IsValidAddress(value.value))
163
- ERROR(Errors.Fail, 'done: invalid identifier ' + i.identifier);
164
- objects.push(value.value); // const address(witness or not)
165
- }
166
- }
167
- else {
168
- objects.push(i.value); //@ address
169
- }
170
- });
171
- });
172
- if (onPassportQueryReady) {
173
- if (objects.length === 0) {
174
- onPassportQueryReady(this.done_helper([], fill, witnessObjectInfo));
175
- return;
176
- }
177
- Protocol.Instance().query_raw(array_unique(objects), { showType: true }).then((res) => {
178
- onPassportQueryReady(this.done_helper(res, fill, witnessObjectInfo));
179
- }).catch(e => {
180
- console.log(e);
181
- onPassportQueryReady(undefined);
182
- });
183
- return;
184
- }
185
- else {
186
- let res = [];
187
- if (objects.length > 0) {
188
- res = await Protocol.Instance().query_raw(array_unique(objects), { showType: true });
189
- }
190
- return this.done_helper(res, fill, witnessObjectInfo);
191
- }
192
- };
193
- // create onchain query for objects : object, movecall-types, id
194
- this.object_query = (data, method = 'guard_query') => {
195
- for (let k = 0; k < Protocol.Instance().WOWOK_OBJECTS_TYPE().length; k++) {
196
- if (data.type.includes(Protocol.Instance().WOWOK_OBJECTS_TYPE()[k])) { // type: pack::m::Object<...>
197
- return { target: Protocol.Instance().WOWOK_OBJECTS_PREFIX_TYPE()[k] + method,
198
- object: Inputs.SharedObjectRef({
199
- objectId: data.objectId,
200
- mutable: false,
201
- initialSharedVersion: data.version,
202
- }),
203
- types: parse_object_type(data.type),
204
- id: data.objectId, };
205
- }
206
- }
207
- };
208
- this.guards = guards;
209
- }
210
- // ============================================
211
- static Parse_Guard_Helper(guards, res) {
212
- const protocol = Protocol.Instance();
213
- const me = new _a(guards);
214
- res.forEach((r) => {
215
- const c = r.data?.content;
216
- if (!c)
217
- ERROR(Errors.Fail, 'Parse_Guard_Helper invalid content');
218
- const index = protocol.WOWOK_OBJECTS_TYPE().findIndex(v => { return v.includes('guard::Guard') && v == c.type; });
219
- if (index === -1)
220
- ERROR(Errors.Fail, 'Parse_Guard_Helper invalid type: ' + c.type);
221
- if (c.fields.input.type === (protocol.package('base') + '::bcs::BCS')) {
222
- const constants = _a.parse_constant(c.fields.constants, c.fields?.id_description?.fields?.contents); // MUST first
223
- const inputs = _a.parse_bcs(constants, Uint8Array.from(c.fields.input.fields.bytes));
224
- me.guard_list.push({ id: c.fields.id.id, input: [...inputs], constant: [...constants], digest: r.data?.digest ?? '', version: r.data?.version ?? '' });
225
- }
226
- else {
227
- ERROR(Errors.Fail, 'Parse_Guard_Helper invalid package: ' + c.fields.input.type);
228
- }
229
- });
230
- return me;
231
- }
232
- // 检查cmd(含非witness)和witness的模块一致性,并返回模块
233
- static ConstantWitnessModule(constant) {
234
- let module;
235
- let witness_module;
236
- for (let i = 0; i < constant.cmd.length; ++i) {
237
- if (constant.cmd[i].witness !== undefined) { // witness cmd
238
- if (!IsContextWitness(constant.cmd[i].witness)) {
239
- ERROR(Errors.Fail, `ConstantWitnessModule witness type invalid on identifier ${constant}`);
240
- }
241
- const m = WitnessObjectModule(constant.cmd[i].witness);
242
- if (!witness_module) {
243
- witness_module = m;
244
- }
245
- else {
246
- if (witness_module !== m) {
247
- ERROR(Errors.Fail, `ConstantWitnessModule wintesses modules are different on identifier ${constant}`);
248
- }
249
- }
250
- }
251
- else {
252
- const q = GUARD_QUERIES.find((q) => q.query_id == constant.cmd[i].cmd);
253
- if (q) {
254
- if (!module) {
255
- module = q.module;
256
- }
257
- else {
258
- if (module !== q.module) {
259
- ERROR(Errors.Fail, `ConstantWitnessModule modules are different on identifier ${constant}`);
260
- }
261
- }
262
- }
263
- else {
264
- ERROR(Errors.Fail, `ConstantWitnessModule. cmd not found on identifier ${constant}`);
265
- }
266
- }
267
- }
268
- for (let i = 0; i < constant.witness.length; ++i) {
269
- const m = WitnessObjectModule(constant.witness[i]);
270
- if (!witness_module) {
271
- witness_module = m;
272
- }
273
- else {
274
- if (witness_module !== m) {
275
- ERROR(Errors.Fail, `ConstantWitnessModule modules are different on identifier ${constant}`);
276
- }
277
- }
278
- }
279
- return { module: module, witness_module: witness_module };
280
- }
281
- static AddConstantWitness(constants, identifier, type) {
282
- const c = constants.find(i => i.bWitness && i.identifier === identifier);
283
- if (!c)
284
- ERROR(Errors.Fail, `AddConstantWitness identifier ${identifier} with witness not found`);
285
- const module = _a.ConstantWitnessModule(c);
286
- const m = WitnessObjectModule(type);
287
- if (module.witness_module && m !== module.witness_module) {
288
- ERROR(Errors.Fail, `AddConstantWitness.type module not matach ${type}`);
289
- }
290
- const n = c.witness.find(v => v === type);
291
- c.info = { module: m };
292
- if (!n)
293
- c.witness.push(type);
294
- }
295
- static AddConstantCmd(constants, identifier, cmd) {
296
- let c;
297
- if (cmd.witness !== undefined) {
298
- c = constants.find(i => i.bWitness && i.identifier === identifier);
299
- if (!c)
300
- ERROR(Errors.Fail, `AddConstantCmd identifier ${identifier} with witness not found`);
301
- const module = _a.ConstantWitnessModule(c);
302
- GuardMaker.checkCmdWitness(cmd.cmd, cmd.witness);
303
- const m = WitnessForModule(cmd.witness);
304
- if (module.witness_module && m !== module.witness_module) { // 使用module_witness字段
305
- ERROR(Errors.WitnessTypeInvalid, `AddConstantCmd module not match ${identifier} ${cmd.cmd}`);
306
- }
307
- c.info = { module: m };
308
- }
309
- else {
310
- c = constants.find(i => i.identifier === identifier);
311
- if (!c)
312
- ERROR(Errors.Fail, `AddConstantCmd identifier ${identifier} with witness not found`);
313
- const module = _a.ConstantWitnessModule(c);
314
- const m = GUARD_QUERIES.find(v => v.query_id === cmd.cmd);
315
- if (!m) {
316
- ERROR(Errors.Fail, `AddConstantCmd.cmd not found ${cmd}`);
317
- }
318
- if (module.module && m?.module !== module.module) { // 使用module字段
319
- ERROR(Errors.Fail, `AddConstantCmd module not match ${identifier} ${cmd.cmd}`);
320
- }
321
- }
322
- c.cmd.push(cmd); //@ 每个命令都添加进去,不考虑重复
323
- }
324
- done_helper(res, fill, info) {
325
- let query = [];
326
- let guards = [];
327
- this.guard_list.forEach(g => {
328
- guards.push(g.id);
329
- let object_id;
330
- g.input.filter((v) => v.cmd !== undefined).forEach(q => {
331
- if (q.identifier !== undefined) {
332
- if (IsContextWitness(q.value)) { //是否是 type witness
333
- const value = fill?.find(c => c.guard === g.id && c.identifier === q.identifier);
334
- object_id = value?.cmd.find(c => c.cmd === q.cmd)?.witness_object;
335
- }
336
- else { // self witness
337
- const value = g.constant.find((c) => c.identifier === q.identifier && c.type === ValueType.TYPE_ADDRESS);
338
- if (!value || !IsValidAddress(value.value)) {
339
- ERROR(Errors.Fail, `done_helper: invalid identifier ${q.identifier}`);
340
- }
341
- object_id = value?.value;
342
- }
343
- }
344
- else {
345
- object_id = q.value; //@ address
346
- }
347
- let r = res.find(r => r.data?.objectId == object_id);
348
- if (!r) {
349
- ERROR(Errors.Fail, 'query object not match');
350
- }
351
- let object = this.object_query(r.data); // build passport query objects
352
- if (!object) {
353
- ERROR(Errors.Fail, 'query object fail');
354
- }
355
- query.push(object);
356
- });
357
- });
358
- return { query: query, info: this.guard_list, witnessObjectInfo: info };
359
- }
360
- }
361
- _a = GuardParser;
362
- // 解析一个Guard的数据,生成树结构和表结构
363
- GuardParser.DeGuardObject_FromData = (guard_constants, guard_input_bytes, id_description) => {
364
- let constants = _a.parse_constant(guard_constants, id_description);
365
- // console.log(constants)
366
- let inputs = _a.parse_bcs(constants, guard_input_bytes);
367
- if (!inputs || inputs.length == 0)
368
- ERROR(Errors.Fail, 'GuardObject: data parsed error');
369
- let stack = [];
370
- inputs.forEach((d) => {
371
- _a.ResolveData(constants, stack, { ...d, child: [] });
372
- });
373
- if (stack.length != 1) {
374
- ERROR(Errors.Fail, 'GuardObject: parse error');
375
- }
376
- return { object: stack.pop(), constant: constants };
377
- };
378
- /// 解析一个Guard地址,生成树结构(通过ResolveData)和表结构。 用于UI对单个guard作图
379
- GuardParser.DeGuardObject = async (protocol, guard) => {
380
- if (!IsValidAddress(guard)) {
381
- ERROR(Errors.IsValidAddress, 'GuardObject guard');
382
- }
383
- let res = await protocol.query_raw([guard]);
384
- if (res.length == 0 || !res[0].data || res[0].data?.objectId != guard) {
385
- ERROR(Errors.Fail, 'GuardObject query error');
386
- }
387
- // console.log(res[0].data?.content);
388
- let content = res[0].data.content;
389
- if (content?.type != protocol.package('base') + '::guard::Guard') {
390
- ERROR(Errors.Fail, 'GuardObject object invalid');
391
- }
392
- console.log(content);
393
- return _a.DeGuardObject_FromData(content.fields.constants, content.fields.input.fields.bytes, content.fields?.id_description?.fields?.contents);
394
- };
395
- GuardParser.ResolveData = (constants, stack, current) => {
396
- switch (current.type) {
397
- case OperatorType.TYPE_LOGIC_NOT:
398
- current.ret_type = ValueType.TYPE_BOOL;
399
- if (stack.length < 1)
400
- ERROR(Errors.Fail, `ResolveData: TYPE_LOGIC_NOT`);
401
- var param = stack.pop();
402
- if (!param.ret_type || param.ret_type != ValueType.TYPE_BOOL) {
403
- ERROR(Errors.Fail, 'ResolveData: TYPE_LOGIC_NOT type invalid');
404
- }
405
- current.child.push(param);
406
- stack.push(current);
407
- current.description = `Logical NOT operation on the child node`;
408
- return;
409
- case OperatorType.TYPE_NUMBER_ADDRESS:
410
- current.ret_type = ValueType.TYPE_ADDRESS;
411
- if (stack.length < 1)
412
- ERROR(Errors.Fail, 'ResolveData: TYPE_NUMBER_ADDRESS');
413
- var param = stack.pop();
414
- if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
415
- ERROR(Errors.Fail, 'ResolveData: TYPE_NUMBER_ADDRESS type invalid');
416
- }
417
- current.child.push(param);
418
- stack.push(current);
419
- current.description = `Convert the child node to an address type`;
420
- return;
421
- case OperatorType.TYPE_SAFE_U8:
422
- current.ret_type = ValueType.TYPE_U8;
423
- if (stack.length < 1)
424
- ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U8');
425
- var param = stack.pop();
426
- if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
427
- ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U8 type invalid');
428
- }
429
- current.child.push(param);
430
- stack.push(current);
431
- current.description = `Convert the child node to a safe u8 type`;
432
- return;
433
- case OperatorType.TYPE_SAFE_U16:
434
- current.ret_type = ValueType.TYPE_U16;
435
- if (stack.length < 1)
436
- ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U16');
437
- var param = stack.pop();
438
- if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
439
- ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U16 type invalid');
440
- }
441
- current.child.push(param);
442
- stack.push(current);
443
- current.description = `Convert the child node to a safe u16 type`;
444
- return;
445
- case OperatorType.TYPE_SAFE_U64:
446
- current.ret_type = ValueType.TYPE_U64;
447
- if (stack.length < 1)
448
- ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U64');
449
- var param = stack.pop();
450
- if (!param.ret_type || !GuardMaker.match_u256(param.ret_type)) {
451
- ERROR(Errors.Fail, 'ResolveData: TYPE_SAFE_U64 type invalid');
452
- }
453
- current.child.push(param);
454
- stack.push(current);
455
- current.description = `Convert the child node to a safe u64 type`;
456
- return;
457
- case OperatorType.TYPE_STRING_LOWERCASE:
458
- current.ret_type = ValueType.TYPE_STRING;
459
- if (stack.length < 1)
460
- ERROR(Errors.Fail, 'ResolveData: TYPE_STRING_LOWERCASE');
461
- var param = stack.pop();
462
- if (!param.ret_type || param.ret_type !== ValueType.TYPE_STRING) {
463
- ERROR(Errors.Fail, 'ResolveData: TYPE_STRING_LOWERCASE type invalid');
464
- }
465
- current.child.push(param);
466
- stack.push(current);
467
- current.description = `Convert the child node to a lowercase string type`;
468
- return;
469
- case OperatorType.TYPE_LOGIC_AS_U256_GREATER:
470
- case OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL:
471
- case OperatorType.TYPE_LOGIC_AS_U256_LESSER:
472
- case OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL:
473
- case OperatorType.TYPE_LOGIC_AS_U256_EQUAL:
474
- case OperatorType.TYPE_NUMBER_ADD:
475
- case OperatorType.TYPE_NUMBER_DEVIDE:
476
- case OperatorType.TYPE_NUMBER_MOD:
477
- case OperatorType.TYPE_NUMBER_MULTIPLY:
478
- case OperatorType.TYPE_NUMBER_SUBTRACT:
479
- if (current.type === OperatorType.TYPE_LOGIC_AS_U256_GREATER || current.type === OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL ||
480
- current.type === OperatorType.TYPE_LOGIC_AS_U256_LESSER || current.type === OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL ||
481
- current.type === OperatorType.TYPE_LOGIC_AS_U256_EQUAL) {
482
- current.ret_type = ValueType.TYPE_BOOL;
483
- }
484
- else {
485
- current.ret_type = ValueType.TYPE_U256;
486
- }
487
- if (stack.length < current.value || current.value < 2)
488
- ERROR(Errors.Fail, 'ResolveData: ' + current.type);
489
- for (let i = 0; i < current.value; ++i) {
490
- var p = stack.pop();
491
- if (!p.ret_type || !GuardMaker.match_u256(p.ret_type))
492
- ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
493
- current.child.push(p);
494
- }
495
- stack.push(current);
496
- switch (current.type) {
497
- case OperatorType.TYPE_LOGIC_AS_U256_GREATER:
498
- current.description = `When the value of the first node is greater than the value of each subsequent node, return True; Otherwise, it is False.`;
499
- break;
500
- case OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL:
501
- current.description = `When the value of the first node is greater than or equal to the value of each subsequent node, return True; Otherwise, it is False.`;
502
- break;
503
- case OperatorType.TYPE_LOGIC_AS_U256_LESSER:
504
- current.description = `When the value of the first node is less than the value of each subsequent node, return True; Otherwise, it is False.`;
505
- break;
506
- case OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL:
507
- current.description = `When the value of the first node is less than or equal to the value of each subsequent node, return True; Otherwise, it is False.`;
508
- break;
509
- case OperatorType.TYPE_LOGIC_AS_U256_EQUAL:
510
- current.description = `When the value of the first node is equal to the value of each subsequent node, return True; Otherwise, it is False.`;
511
- break;
512
- case OperatorType.TYPE_NUMBER_ADD:
513
- current.description = `The value of the first child node is added to the values of each subsequent child node, returning a ${current.ret_type} type result.`;
514
- break;
515
- case OperatorType.TYPE_NUMBER_DEVIDE:
516
- current.description = `The value of the first child node is successively divided by the values of each subsequent child node, returning a ${current.ret_type} type result.`;
517
- break;
518
- case OperatorType.TYPE_NUMBER_MOD:
519
- current.description = `The first child node performs a modulus operation with the value of each subsequent child node in sequence. `;
520
- break;
521
- case OperatorType.TYPE_NUMBER_MULTIPLY:
522
- current.description = `The value of the first child node is multiplied by the values of each subsequent child node, returning a ${current.ret_type} type result.`;
523
- break;
524
- case OperatorType.TYPE_NUMBER_SUBTRACT:
525
- current.description = `The value of the first child node is subtracted by the values of each subsequent child node, returning a ${current.ret_type} type result.`;
526
- break;
527
- }
528
- return;
529
- case OperatorType.TYPE_LOGIC_EQUAL:
530
- current.ret_type = ValueType.TYPE_BOOL;
531
- if (stack.length < current.value || current.value < 2)
532
- ERROR(Errors.Fail, 'ResolveData: ' + current.type);
533
- var p0 = stack.pop();
534
- current.child.push(p0);
535
- for (let i = 1; i < current.value; ++i) {
536
- var p = stack.pop();
537
- if (!p.ret_type || (p.ret_type != p0.ret_type))
538
- ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
539
- current.child.push(p);
540
- }
541
- stack.push(current);
542
- current.description = `When the value and type of the first node is equal to the value and type of each subsequent node, return True; Otherwise, it is False.`;
543
- return;
544
- case OperatorType.TYPE_LOGIC_HAS_SUBSTRING:
545
- current.ret_type = ValueType.TYPE_BOOL;
546
- if (stack.length < current.value || current.value < 2)
547
- ERROR(Errors.Fail, 'ResolveData: ' + current.type);
548
- for (let i = 0; i < current.value; ++i) {
549
- var p = stack.pop();
550
- if (!p.ret_type || (p.ret_type != ValueType.TYPE_STRING))
551
- ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
552
- current.child.push(p);
553
- }
554
- stack.push(current);
555
- current.description = `When the first node contains the substring of each subsequent node, return True; Otherwise, it is False.`;
556
- return;
557
- case OperatorType.TYPE_LOGIC_AND:
558
- case OperatorType.TYPE_LOGIC_OR:
559
- current.ret_type = ValueType.TYPE_BOOL;
560
- if (stack.length < current.value || current.value < 2)
561
- ERROR(Errors.Fail, 'ResolveData: ' + current.type);
562
- for (let i = 0; i < current.value; ++i) {
563
- var p = stack.pop();
564
- if (!p.ret_type || (p.ret_type != ValueType.TYPE_BOOL))
565
- ERROR(Errors.Fail, 'ResolveData: ' + current.type + ' INVALID param type');
566
- current.child.push(p);
567
- }
568
- stack.push(current);
569
- switch (current.type) {
570
- case OperatorType.TYPE_LOGIC_AND:
571
- current.description = `When the value of all child nodes is True, return True; Otherwise, it is False.`;
572
- break;
573
- case OperatorType.TYPE_LOGIC_OR:
574
- current.description = `When the value of at least one child node is True, return True; Otherwise, it is False.`;
575
- break;
576
- }
577
- return;
578
- case OperatorType.TYPE_QUERY:
579
- if (!current?.cmd)
580
- ERROR(Errors.Fail, 'ResolveData: cmd invalid ' + current.type);
581
- let r = Guard.GetCmd(current.cmd);
582
- if (!r)
583
- ERROR(Errors.Fail, 'ResolveData: cmd not supported ' + current.type);
584
- current.ret_type = r?.return;
585
- if (stack.length < r.parameters.length)
586
- ERROR(Errors.Fail, 'ResolveData: cmd param lost ' + current.type);
587
- r.parameters.forEach((e) => {
588
- let d = stack.pop();
589
- if (!d?.ret_type || d.ret_type != e) {
590
- ERROR(Errors.Fail, 'ResolveData: cmd param not match ' + current.type);
591
- }
592
- current.child.push(d);
593
- });
594
- stack.push(current);
595
- const d = current?.identifier !== undefined ? constants.find((e) => e.identifier == current?.identifier) : undefined;
596
- current.description = d?.bWitness ? `Query the ${r?.module} object with a witness object(provided by the Guard verifier) for the constant identifier ${current?.identifier}: '${r?.description}'` :
597
- `Query the ${r?.module} object ${current?.value}: '${r?.description}'`;
598
- current.description += ` The return type is ${SER_VALUE.find(s => s.type === current.ret_type)?.description}. And parameters are ${current.child.length > 0 ? current.child.map((e) => e.description).join(', ') : 'none'}.`;
599
- return;
600
- case ValueType.TYPE_ADDRESS:
601
- case ValueType.TYPE_BOOL:
602
- case ValueType.TYPE_U128:
603
- case ValueType.TYPE_U256:
604
- case ValueType.TYPE_U64:
605
- case ValueType.TYPE_U8:
606
- case ValueType.TYPE_VEC_ADDRESS:
607
- case ValueType.TYPE_VEC_BOOL:
608
- case ValueType.TYPE_VEC_U128:
609
- case ValueType.TYPE_VEC_U256:
610
- case ValueType.TYPE_VEC_U64:
611
- case ValueType.TYPE_VEC_U8:
612
- case ValueType.TYPE_VEC_VEC_U8:
613
- case ValueType.TYPE_VEC_STRING:
614
- case ValueType.TYPE_U16:
615
- case ValueType.TYPE_VEC_U16:
616
- /*case ValueType.TYPE_OPTION_ADDRESS:
617
- case ValueType.TYPE_OPTION_BOOL:
618
- case ValueType.TYPE_OPTION_U128:
619
- case ValueType.TYPE_OPTION_U256:
620
- case ValueType.TYPE_OPTION_U64:
621
- case ValueType.TYPE_OPTION_U8:*/
622
- case ValueType.TYPE_STRING:
623
- current.ret_type = current.type;
624
- stack.push(current);
625
- switch (current.type) {
626
- case ValueType.TYPE_ADDRESS:
627
- current.description = `'${current?.value}' (address type)`;
628
- break;
629
- case ValueType.TYPE_BOOL:
630
- current.description = `'${current?.value}' (boolean type)`;
631
- break;
632
- case ValueType.TYPE_U128:
633
- current.description = `'${current?.value}' (128-bit unsigned integer type)`;
634
- break;
635
- case ValueType.TYPE_U256:
636
- current.description = `'${current?.value}' (256-bit unsigned integer type)`;
637
- break;
638
- case ValueType.TYPE_U64:
639
- current.description = `'${current?.value}' (64-bit unsigned integer type)`;
640
- break;
641
- case ValueType.TYPE_U8:
642
- current.description = `'${current?.value}' (8-bit unsigned integer type)`;
643
- break;
644
- case ValueType.TYPE_U16:
645
- current.description = `'${current?.value}' (16-bit unsigned integer type)`;
646
- break;
647
- case ValueType.TYPE_VEC_ADDRESS:
648
- current.description = `'${current?.value}' (array of address types)`;
649
- break;
650
- case ValueType.TYPE_VEC_BOOL:
651
- current.description = `'${current?.value}' (array of boolean types)`;
652
- break;
653
- case ValueType.TYPE_VEC_U128:
654
- current.description = `'${current?.value}' (array of 128-bit unsigned integer types)`;
655
- break;
656
- case ValueType.TYPE_VEC_U16:
657
- current.description = `'${current?.value}' (array of 16-bit unsigned integer types)`;
658
- break;
659
- case ValueType.TYPE_VEC_U256:
660
- current.description = `'${current?.value}' (array of 256-bit unsigned integer types)`;
661
- break;
662
- case ValueType.TYPE_VEC_U64:
663
- current.description = `'${current?.value}' (array of 64-bit unsigned integer types)`;
664
- break;
665
- case ValueType.TYPE_VEC_U8:
666
- current.description = `'${current?.value}' (array of 8-bit unsigned integer types)`;
667
- break;
668
- case ValueType.TYPE_VEC_VEC_U8:
669
- current.description = `'${current?.value}' (array of arrays of 8-bit unsigned integer types)`;
670
- break;
671
- case ValueType.TYPE_VEC_STRING:
672
- current.description = `'${current?.value}' (array of string types)`;
673
- break;
674
- case ValueType.TYPE_STRING:
675
- current.description = `'${current?.value}' (string type)`;
676
- break;
677
- }
678
- return;
679
- case ContextType.TYPE_CLOCK:
680
- current.ret_type = ValueType.TYPE_U64;
681
- stack.push(current);
682
- current.description = `Representing the current time in microseconds since the Unix epoch.`;
683
- return;
684
- case ContextType.TYPE_SIGNER:
685
- current.ret_type = ValueType.TYPE_ADDRESS;
686
- stack.push(current);
687
- current.description = `Representing the address of the signer.`;
688
- return;
689
- case ContextType.TYPE_GUARD:
690
- current.ret_type = ValueType.TYPE_ADDRESS;
691
- stack.push(current);
692
- current.description = `Representing the address of the current guard object address.`;
693
- return;
694
- case ContextType.TYPE_CONSTANT:
695
- let v = constants.find((e) => e.identifier == current?.identifier);
696
- if (!v)
697
- ERROR(Errors.Fail, 'ResolveData: identifier invalid ' + current.type);
698
- current.ret_type = v?.type;
699
- stack.push(current);
700
- current.description = v?.bWitness ? `Representing a witness constant(provided by the Guard verifier) with identifier ${current?.identifier} and type ${SER_VALUE.find(s => s.type === current.ret_type)?.description}.` :
701
- `Representing a constant '${v?.value}' with identifier ${current?.identifier}.`;
702
- return;
703
- case ContextType.TYPE_ARB_ARBITRATION:
704
- case ContextType.TYPE_ARB_MACHINE:
705
- case ContextType.TYPE_ARB_ORDER:
706
- case ContextType.TYPE_ARB_PROGRESS:
707
- case ContextType.TYPE_ARB_SERVICE:
708
- case ContextType.TYPE_ORDER_MACHINE:
709
- case ContextType.TYPE_ORDER_PROGRESS:
710
- case ContextType.TYPE_ORDER_SERVICE:
711
- case ContextType.TYPE_PROGRESS_MACHINE: {
712
- current.ret_type = ValueType.TYPE_ADDRESS;
713
- stack.push(current);
714
- switch (current.type) {
715
- case ContextType.TYPE_ARB_ARBITRATION:
716
- current.description = `Representing its Arbitration object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
717
- break;
718
- case ContextType.TYPE_ARB_MACHINE:
719
- current.description = `Representing its Machine object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
720
- break;
721
- case ContextType.TYPE_ARB_ORDER:
722
- current.description = `Representing its Order object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
723
- break;
724
- case ContextType.TYPE_ARB_PROGRESS:
725
- current.description = `Representing its Progress object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
726
- break;
727
- case ContextType.TYPE_ARB_SERVICE:
728
- current.description = `Representing its Service object address, When the user provides a witness(provided by the Guard verifier) for an Arb object.`;
729
- break;
730
- case ContextType.TYPE_ORDER_MACHINE:
731
- current.description = `Representing its Machine object address, When the user provides a witness(provided by the Guard verifier) for an Order object.`;
732
- break;
733
- case ContextType.TYPE_ORDER_PROGRESS:
734
- current.description = `Representing its Progress object address, When the user provides a witness(provided by the Guard verifier) for an Order object.`;
735
- break;
736
- case ContextType.TYPE_ORDER_SERVICE:
737
- current.description = `Representing its Service object address, When the user provides a witness(provided by the Guard verifier) for an Order object.`;
738
- break;
739
- case ContextType.TYPE_PROGRESS_MACHINE:
740
- current.description = `Representing its Machine object address, When the user provides a witness(provided by the Guard verifier) for a Progress object.`;
741
- break;
742
- }
743
- return;
744
- }
745
- }
746
- ERROR(Errors.Fail, 'ResolveData: type invalid ' + current.type);
747
- };
748
- // 解析一些Guards,生成parser结构。用于生成fill数据或进行passport验证。
749
- GuardParser.Create = async (guards) => {
750
- if (guards.length == 0)
751
- return;
752
- if (!IsValidArray(guards, IsValidAddress)) {
753
- ERROR(Errors.InvalidParam, `GuardParser.Create guards invalid: ${guards}`);
754
- }
755
- let guard_list = array_unique(guards);
756
- let check_guards = [...guard_list];
757
- let i = 0;
758
- const parsers = [];
759
- for (; i < _a.MAX_REPOSITORY_DEPTH; ++i) {
760
- const res = await Protocol.Instance().query_raw(check_guards);
761
- const p = _a.Parse_Guard_Helper(guards, res);
762
- const repositories = [];
763
- p.guardlist().forEach((g) => {
764
- g.input.forEach((i) => {
765
- if (i.cmd !== undefined && CMD_CHECK_GUARD.includes(i.cmd)) {
766
- if (i.identifier !== undefined) {
767
- const id = g.constant.find((c) => c.identifier === i.identifier);
768
- if (id && id.value) {
769
- repositories.push(id.value);
770
- }
771
- }
772
- else if (i.value) {
773
- repositories.push(i.value);
774
- }
775
- }
776
- });
777
- });
778
- parsers.push(p);
779
- if (repositories.length === 0) {
780
- break;
781
- }
782
- check_guards = await _a.RepositoryGuards(repositories);
783
- if (check_guards.length === 0) {
784
- break;
785
- }
786
- }
787
- if (i >= _a.MAX_REPOSITORY_DEPTH) {
788
- ERROR(Errors.Fail, `GuardParser.Create: Retrieve guards from the Repository with a maximum depth of more than ${_a.MAX_REPOSITORY_DEPTH} levels.`);
789
- }
790
- // concatenate all parsers
791
- for (let i = 1; i < parsers.length; ++i) {
792
- parsers[0].guard_list = parsers[0].guard_list.concat(deepCopy(parsers[i].guard_list));
793
- parsers[0].guards = parsers[0].guards.concat(parsers[i].guards);
794
- }
795
- if (parsers.length > 0) {
796
- return parsers[0];
797
- }
798
- };
799
- // fetch repository guards
800
- GuardParser.RepositoryGuards = async (repositories) => {
801
- const res = await Protocol.Instance().query_raw(repositories);
802
- const guards = [];
803
- for (let i = 0; i < res.length; ++i) {
804
- if (res[i].data?.content?.fields?.guard) {
805
- guards.push((res[i].data?.content).fields.guard);
806
- }
807
- }
808
- return guards;
809
- };
810
- GuardParser.parse_constant = (constants, id_description) => {
811
- let ret = [];
812
- constants.forEach((c) => {
813
- let v = c?.fields ?? c; // graphql dosnot 'fields', but rpcall has.
814
- const data = Uint8Array.from(v.value);
815
- const type = data.slice(0, 1)[0];
816
- const description = id_description.find((i) => i.fields?.key == v.identifier)?.fields?.value;
817
- if (v.bWitness) { //@ witness
818
- ret.push({ identifier: v.identifier, type: type, bWitness: v.bWitness, value: undefined, cmd: [], witness: [], description: description });
819
- return;
820
- }
821
- var value = data.slice(1);
822
- switch (type) {
823
- case ValueType.TYPE_ADDRESS:
824
- value = Bcs.getInstance().de(ValueType.TYPE_ADDRESS, Uint8Array.from(value)).toString();
825
- break;
826
- case ValueType.TYPE_BOOL:
827
- case ValueType.TYPE_U8:
828
- case ValueType.TYPE_U64:
829
- case ValueType.TYPE_U128:
830
- case ValueType.TYPE_U256:
831
- case ValueType.TYPE_VEC_U8:
832
- case ValueType.TYPE_VEC_U64:
833
- case ValueType.TYPE_VEC_U128:
834
- case ValueType.TYPE_VEC_ADDRESS:
835
- case ValueType.TYPE_VEC_BOOL:
836
- case ValueType.TYPE_VEC_VEC_U8:
837
- case ValueType.TYPE_VEC_U256:
838
- case ValueType.TYPE_STRING:
839
- case ValueType.TYPE_U16:
840
- case ValueType.TYPE_VEC_U16:
841
- case ValueType.TYPE_VEC_STRING:
842
- let de = SER_VALUE.find(s => s.type == type);
843
- if (!de)
844
- ERROR(Errors.Fail, 'GuardObject de error');
845
- value = Bcs.getInstance().de(type, Uint8Array.from(value));
846
- break;
847
- default:
848
- ERROR(Errors.Fail, 'GuardObject constant type invalid:' + type);
849
- }
850
- ret.push({ identifier: v.identifier, type: type, bWitness: v.bWitness, value: value, witness: [], cmd: [], description: description });
851
- });
852
- return ret;
853
- };
854
- GuardParser.parse_bcs = (constants, chain_bytes) => {
855
- let bytes = Uint8Array.from(chain_bytes);
856
- let arr = [].slice.call(bytes.reverse());
857
- let data = [];
858
- while (arr.length > 0) {
859
- let type = arr.shift();
860
- let value;
861
- let cmd;
862
- let identifier;
863
- switch (type) {
864
- case ContextType.TYPE_SIGNER:
865
- case ContextType.TYPE_CLOCK:
866
- case ContextType.TYPE_GUARD:
867
- case OperatorType.TYPE_LOGIC_NOT:
868
- case OperatorType.TYPE_NUMBER_ADDRESS:
869
- case OperatorType.TYPE_STRING_LOWERCASE:
870
- case OperatorType.TYPE_SAFE_U64:
871
- case OperatorType.TYPE_SAFE_U8:
872
- case OperatorType.TYPE_SAFE_U16:
873
- break;
874
- case OperatorType.TYPE_LOGIC_AS_U256_GREATER:
875
- case OperatorType.TYPE_LOGIC_AS_U256_GREATER_EQUAL:
876
- case OperatorType.TYPE_LOGIC_AS_U256_LESSER:
877
- case OperatorType.TYPE_LOGIC_AS_U256_LESSER_EQUAL:
878
- case OperatorType.TYPE_LOGIC_AS_U256_EQUAL:
879
- case OperatorType.TYPE_LOGIC_EQUAL:
880
- case OperatorType.TYPE_LOGIC_HAS_SUBSTRING:
881
- case OperatorType.TYPE_NUMBER_ADD:
882
- case OperatorType.TYPE_NUMBER_DEVIDE:
883
- case OperatorType.TYPE_NUMBER_MOD:
884
- case OperatorType.TYPE_NUMBER_MULTIPLY:
885
- case OperatorType.TYPE_NUMBER_SUBTRACT:
886
- case OperatorType.TYPE_LOGIC_AND: //@ with logics count
887
- case OperatorType.TYPE_LOGIC_OR:
888
- value = arr.shift();
889
- break;
890
- case ContextType.TYPE_ARB_ARBITRATION:
891
- case ContextType.TYPE_ARB_MACHINE:
892
- case ContextType.TYPE_ARB_ORDER:
893
- case ContextType.TYPE_ARB_PROGRESS:
894
- case ContextType.TYPE_ARB_SERVICE:
895
- case ContextType.TYPE_ORDER_MACHINE:
896
- case ContextType.TYPE_ORDER_PROGRESS:
897
- case ContextType.TYPE_ORDER_SERVICE:
898
- case ContextType.TYPE_PROGRESS_MACHINE:
899
- identifier = arr.shift(); // identifier
900
- let v = constants.find((v) => (v.identifier == identifier) &&
901
- ((v.type == ValueType.TYPE_ADDRESS)));
902
- if (!v) {
903
- ERROR(Errors.Fail, `GuardParser.parse_bcs: indentifier ${identifier} with type ${ValueType.TYPE_ADDRESS} not in constant`);
904
- }
905
- value = type; //@ type used
906
- //@ 将witness数据加入到常量中
907
- _a.AddConstantWitness(constants, identifier, type);
908
- break;
909
- case ContextType.TYPE_CONSTANT:
910
- identifier = arr.shift(); // identifier
911
- break;
912
- case ValueType.TYPE_ADDRESS:
913
- value = Bcs.getInstance().de(ValueType.TYPE_ADDRESS, Uint8Array.from(arr)).toString();
914
- arr.splice(0, 32); // address
915
- break;
916
- case ValueType.TYPE_BOOL:
917
- case ValueType.TYPE_U8:
918
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
919
- arr.shift();
920
- break;
921
- case ValueType.TYPE_U16:
922
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
923
- arr.splice(0, 2);
924
- break;
925
- case ValueType.TYPE_U64:
926
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
927
- arr.splice(0, 8);
928
- break;
929
- case ValueType.TYPE_U128:
930
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
931
- arr.splice(0, 16);
932
- break;
933
- case ValueType.TYPE_U256:
934
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
935
- arr.splice(0, 32);
936
- break;
937
- case ValueType.TYPE_VEC_U8:
938
- case ValueType.TYPE_VEC_BOOL:
939
- case ValueType.TYPE_STRING:
940
- let r = ulebDecode(Uint8Array.from(arr));
941
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
942
- arr.splice(0, r.value + r.length);
943
- break;
944
- case ValueType.TYPE_VEC_ADDRESS:
945
- r = ulebDecode(Uint8Array.from(arr));
946
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
947
- arr.splice(0, r.value * 32 + r.length);
948
- break;
949
- case ValueType.TYPE_VEC_U16:
950
- r = ulebDecode(Uint8Array.from(arr));
951
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
952
- arr.splice(0, r.value * 2 + r.length);
953
- break;
954
- case ValueType.TYPE_VEC_U128:
955
- r = ulebDecode(Uint8Array.from(arr));
956
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
957
- arr.splice(0, r.value * 16 + r.length);
958
- break;
959
- case ValueType.TYPE_VEC_U256:
960
- r = ulebDecode(Uint8Array.from(arr));
961
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
962
- arr.splice(0, r.value * 32 + r.length);
963
- break;
964
- case ValueType.TYPE_VEC_U64:
965
- r = ulebDecode(Uint8Array.from(arr));
966
- value = Bcs.getInstance().de(type, Uint8Array.from(arr));
967
- arr.splice(0, r.value * 8 + r.length);
968
- break;
969
- case ValueType.TYPE_VEC_VEC_U8:
970
- case ValueType.TYPE_VEC_STRING:
971
- r = ulebDecode(Uint8Array.from(arr));
972
- arr.splice(0, r.length);
973
- let res = [];
974
- for (let i = 0; i < r.value; i++) {
975
- let r2 = ulebDecode(Uint8Array.from(arr));
976
- res.push(Bcs.getInstance().de(ValueType.TYPE_VEC_U8, Uint8Array.from(arr)));
977
- arr.splice(0, r2.length + r2.value);
978
- }
979
- value = res;
980
- break;
981
- case OperatorType.TYPE_QUERY:
982
- let t = arr.splice(0, 1); // data-type
983
- switch (t[0]) {
984
- case ValueType.TYPE_ADDRESS: {
985
- let addr = Bcs.getInstance().de(ValueType.TYPE_ADDRESS, Uint8Array.from(arr)).toString();
986
- arr.splice(0, 32); // address
987
- value = addr;
988
- cmd = bcs.u16().parse(Uint8Array.from(arr.splice(0, 2))); // cmd(u16)
989
- break;
990
- }
991
- case ContextType.TYPE_CONSTANT: {
992
- let id = arr.splice(0, 1); // key
993
- let v = constants.find((v) => (v.identifier == id[0]) &&
994
- ((v.type == ValueType.TYPE_ADDRESS)));
995
- if (!v) {
996
- ERROR(Errors.Fail, `GuardParser.parse_bcs: indentifier ${id[0]} with type ${ValueType.TYPE_ADDRESS} not in constant`);
997
- }
998
- identifier = id[0];
999
- cmd = bcs.u16().parse(Uint8Array.from(arr.splice(0, 2))); // cmd(u16)
1000
- _a.AddConstantCmd(constants, identifier, { cmd: cmd }); //@ witness的cmd都添加(Self类型)
1001
- break;
1002
- }
1003
- case ContextType.TYPE_ARB_ARBITRATION:
1004
- case ContextType.TYPE_ARB_MACHINE:
1005
- case ContextType.TYPE_ARB_ORDER:
1006
- case ContextType.TYPE_ARB_PROGRESS:
1007
- case ContextType.TYPE_ARB_SERVICE:
1008
- case ContextType.TYPE_ORDER_MACHINE:
1009
- case ContextType.TYPE_ORDER_PROGRESS:
1010
- case ContextType.TYPE_ORDER_SERVICE:
1011
- case ContextType.TYPE_PROGRESS_MACHINE: {
1012
- let id = arr.splice(0, 1); // key
1013
- let v = constants.find((v) => (v.identifier == id[0]) && v.bWitness &&
1014
- ((v.type == ValueType.TYPE_ADDRESS))); // witness, address type
1015
- if (!v) {
1016
- ERROR(Errors.Fail, `GuardParser.parse_bcs: indentifier ${id[0]} with type ${ValueType.TYPE_ADDRESS} not in constant`);
1017
- }
1018
- identifier = id[0];
1019
- cmd = bcs.u16().parse(Uint8Array.from(arr.splice(0, 2))); // cmd(u16)
1020
- value = t[0]; //@ value used
1021
- // 添加witness cmd(witness类型)
1022
- _a.AddConstantCmd(constants, identifier, { witness: t[0], cmd: cmd });
1023
- break;
1024
- }
1025
- default:
1026
- ERROR(Errors.Fail, 'GuardObject: type invalid');
1027
- }
1028
- break;
1029
- /*case ValueType.TYPE_OPTION_ADDRESS:
1030
- let read = readOption(arr, ValueType.TYPE_ADDRESS);
1031
- value = read.value;
1032
- if (!read.bNone) arr.splice(0, 32);
1033
- break;
1034
- case ValueType.TYPE_OPTION_BOOL:
1035
- read = readOption(arr, ValueType.TYPE_BOOL);
1036
- value = read.value;
1037
- if (!read.bNone) arr.splice(0, 1);
1038
- break;
1039
- case ValueType.TYPE_OPTION_U8:
1040
- read = readOption(arr, ValueType.TYPE_U8);
1041
- value = read.value;
1042
- if (!read.bNone) arr.splice(0, 1);
1043
- break;
1044
- case ValueType.TYPE_OPTION_U128:
1045
- read = readOption(arr, ValueType.TYPE_U128);
1046
- value = read.value;
1047
- if (!read.bNone) arr.splice(0, 16);
1048
- break;
1049
- case ValueType.TYPE_OPTION_U256:
1050
- read = readOption(arr, ValueType.TYPE_U256);
1051
- value = read.value;
1052
- if (!read.bNone) arr.splice(0, 32);
1053
- break;
1054
- case ValueType.TYPE_OPTION_U64:
1055
- read = readOption(arr, ValueType.TYPE_U64);
1056
- value = read.value;
1057
- if (!read.bNone) arr.splice(0, 8);
1058
- break;
1059
- case ValueType.TYPE_OPTION_STRING:
1060
- read = readOptionString(arr); // splice in it
1061
- value = read.value;
1062
- break;*/
1063
- default:
1064
- ERROR(Errors.Fail, 'GuardObject: parse_bcs types ' + type);
1065
- }
1066
- data.push({ type: type, value: value, cmd: cmd, identifier: identifier });
1067
- }
1068
- return data;
1069
- };
1070
- GuardParser.MAX_REPOSITORY_DEPTH = 3;
1071
- export class Passport {
1072
- get_object() { return this.passport; }
1073
- // return passport object used
1074
- // bObject(true) in cmd env; (false) in service env
1075
- constructor(txb, query) {
1076
- this.query_result_async = async (sender) => {
1077
- this.txb.moveCall({
1078
- target: Protocol.Instance().passportFn('query_result'),
1079
- arguments: [this.passport]
1080
- });
1081
- const res = await Protocol.Client().devInspectTransactionBlock({ sender: sender, transactionBlock: this.txb });
1082
- //console.log(res)
1083
- return Passport.ResolveQueryRes(this.txb, res);
1084
- };
1085
- if (query.info.length > Passport.MAX_GUARD_COUNT) {
1086
- ERROR(Errors.InvalidParam, `Passport: guards count max ${Passport.MAX_GUARD_COUNT}`);
1087
- }
1088
- this.txb = txb; //console.log(query)
1089
- this.passport = this.txb.moveCall({
1090
- target: Protocol.Instance().passportFn('new'),
1091
- arguments: []
1092
- });
1093
- // add others guards, if any
1094
- query.info.forEach((g, guard_index) => {
1095
- const ids = g.constant.filter((i) => i.bWitness).map((v) => v.identifier);
1096
- const values = g.constant.filter((i) => i.bWitness).map((v) => {
1097
- const bcs = Bcs.getInstance().ser(v.type, v.value);
1098
- let r = new Uint8Array(bcs.length + 1);
1099
- r.set([v.type], 0);
1100
- r.set(bcs, 1);
1101
- return [].slice.call(r);
1102
- });
1103
- const guard = g.version !== undefined && g.digest !== undefined ?
1104
- txb.objectRef({ objectId: g.id, version: g.version, digest: g.digest }) :
1105
- txb.object(g.id);
1106
- //console.log(ids); console.log(values)
1107
- this.txb.moveCall({
1108
- target: Protocol.Instance().passportFn('guard_add'),
1109
- arguments: [this.passport, guard, this.txb.pure.vector('u8', [].slice.call(ids)),
1110
- this.txb.pure(bcs.vector(bcs.vector(bcs.u8())).serialize([...values]).toBytes())]
1111
- });
1112
- // 对每个witness object处理所有的witness类型请求
1113
- const witness_objects = new Map();
1114
- g.constant.forEach(v => {
1115
- const types = [];
1116
- v.cmd.forEach(i => {
1117
- if (i.witness && IsContextWitness(i.witness) && !types.includes(i.witness)) {
1118
- types.push(i.witness);
1119
- }
1120
- });
1121
- v.witness.forEach(i => {
1122
- if (i && IsContextWitness(i) && !types.includes(i)) {
1123
- types.push(i);
1124
- }
1125
- });
1126
- if (types.length > 0) {
1127
- let obj = witness_objects.get(v.value); // 用户提供的witness地址
1128
- if (obj) {
1129
- obj.types = array_unique(types.concat(obj.types));
1130
- obj.identifier.push(v.identifier); // identifier加入
1131
- }
1132
- else {
1133
- witness_objects.set(v.value, { types: types, identifier: [v.identifier] });
1134
- }
1135
- }
1136
- });
1137
- // 调用witness object的witness
1138
- witness_objects.forEach((v, k) => {
1139
- const r = query.witnessObjectInfo?.get(k);
1140
- if (!r) {
1141
- ERROR(Errors.Fail, `Passport: witness not found ${k}`);
1142
- }
1143
- switch (r?.module) {
1144
- case MODULES.progress:
1145
- Progress.witness(txb, k, guard_index, v.identifier, this.passport);
1146
- break;
1147
- case MODULES.order:
1148
- Service.witness(txb, k, r.type, guard_index, v.identifier, v.types, this.passport);
1149
- break;
1150
- case MODULES.arb:
1151
- Arbitration.witness(txb, k, r.type, guard_index, v.identifier, v.types, r.order, r.order_type, this.passport);
1152
- break;
1153
- default:
1154
- ERROR(Errors.Fail, `Passport: witness type invalid ${r?.module}`);
1155
- }
1156
- });
1157
- });
1158
- const clock = this.txb.sharedObjectRef(Protocol.CLOCK_OBJECT);
1159
- // rules: 'verify' & 'query' in turns; 'verify' at final end.
1160
- query?.query.forEach((q) => {
1161
- this.txb.moveCall({
1162
- target: Protocol.Instance().passportFn('passport_verify'),
1163
- arguments: [this.passport, this.txb.object(clock)]
1164
- });
1165
- this.txb.moveCall({
1166
- target: q.target,
1167
- arguments: [this.txb.object(q.id), this.passport],
1168
- typeArguments: q.types,
1169
- });
1170
- });
1171
- this.txb.moveCall({
1172
- target: Protocol.Instance().passportFn('passport_verify'),
1173
- arguments: [this.passport, this.txb.object(clock)]
1174
- });
1175
- }
1176
- destroy() {
1177
- this.txb.moveCall({
1178
- target: Protocol.Instance().passportFn('destroy'),
1179
- arguments: [this.passport]
1180
- });
1181
- }
1182
- freeze() {
1183
- this.txb.moveCall({
1184
- target: Protocol.Instance().passportFn('freezen'),
1185
- arguments: [this.passport]
1186
- });
1187
- }
1188
- query_result(sender, handleResult) {
1189
- this.txb.moveCall({
1190
- target: Protocol.Instance().passportFn('query_result'),
1191
- arguments: [this.passport]
1192
- });
1193
- Protocol.Client().devInspectTransactionBlock({ sender: sender, transactionBlock: this.txb }).then((res) => {
1194
- const r = Passport.ResolveQueryRes(this.txb, res);
1195
- if (r)
1196
- handleResult(r);
1197
- }).catch(e => {
1198
- console.log(e);
1199
- });
1200
- }
1201
- static ResolveQueryRes(txb, res) {
1202
- for (let i = 0; i < res.results?.length; ++i) {
1203
- const v = res.results[i];
1204
- if (v?.returnValues && v.returnValues.length === 2 &&
1205
- v.returnValues[0][1] === 'bool' && v.returnValues[1][1] === 'vector<address>') { // (bool, vector<address>)
1206
- const result = bcs.bool().parse(Uint8Array.from(v.returnValues[0][0]));
1207
- const guards = bcs.vector(bcs.Address).parse(Uint8Array.from(v.returnValues[1][0])).map((v) => '0x' + v);
1208
- return { txb: txb, result: result, guards: guards };
1209
- }
1210
- }
1211
- return undefined;
1212
- }
1213
- static getPayloadValue(payload, parser) {
1214
- if (payload && parser) {
1215
- payload.forEach((v) => {
1216
- const val = parser.guardlist().find((i) => i.id === v.guard)?.constant?.find((j) => j.identifier === v.identifier);
1217
- if (val !== undefined) {
1218
- v.value = val.value;
1219
- v.value_type = val.type;
1220
- v.bWitness = val.bWitness;
1221
- }
1222
- else {
1223
- v.value = null;
1224
- v.value_type = undefined;
1225
- v.bWitness = undefined;
1226
- }
1227
- });
1228
- return payload;
1229
- }
1230
- }
1231
- }
1232
- Passport.MAX_GUARD_COUNT = 8;
1233
- //# sourceMappingURL=passport.js.map