@haneullabs/haneul 2.5.2 → 2.13.0

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 (442) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +36 -36
  3. package/dist/bcs/bcs.d.mts +6 -7
  4. package/dist/bcs/bcs.d.mts.map +1 -1
  5. package/dist/bcs/bcs.mjs.map +1 -1
  6. package/dist/bcs/effects.mjs.map +1 -1
  7. package/dist/bcs/index.d.mts +2 -2
  8. package/dist/bcs/index.d.mts.map +1 -1
  9. package/dist/bcs/index.mjs +2 -2
  10. package/dist/bcs/index.mjs.map +1 -1
  11. package/dist/bcs/pure.d.mts.map +1 -1
  12. package/dist/bcs/type-tag-serializer.d.mts.map +1 -1
  13. package/dist/bcs/types.d.mts +0 -1
  14. package/dist/bcs/types.d.mts.map +1 -1
  15. package/dist/client/cache.d.mts.map +1 -1
  16. package/dist/client/client.d.mts.map +1 -1
  17. package/dist/client/core-resolver.d.mts.map +1 -1
  18. package/dist/client/core-resolver.mjs +87 -68
  19. package/dist/client/core-resolver.mjs.map +1 -1
  20. package/dist/client/core.d.mts +9 -8
  21. package/dist/client/core.d.mts.map +1 -1
  22. package/dist/client/core.mjs +29 -10
  23. package/dist/client/core.mjs.map +1 -1
  24. package/dist/client/errors.d.mts.map +1 -1
  25. package/dist/client/mvr.d.mts +0 -1
  26. package/dist/client/mvr.d.mts.map +1 -1
  27. package/dist/client/types.d.mts +110 -24
  28. package/dist/client/types.d.mts.map +1 -1
  29. package/dist/client/utils.d.mts.map +1 -1
  30. package/dist/client/utils.mjs +7 -7
  31. package/dist/client/utils.mjs.map +1 -1
  32. package/dist/cryptography/index.d.mts +2 -2
  33. package/dist/cryptography/index.mjs +2 -2
  34. package/dist/cryptography/intent.d.mts +2 -2
  35. package/dist/cryptography/intent.d.mts.map +1 -1
  36. package/dist/cryptography/intent.mjs +2 -2
  37. package/dist/cryptography/intent.mjs.map +1 -1
  38. package/dist/cryptography/keypair.d.mts +3 -3
  39. package/dist/cryptography/keypair.d.mts.map +1 -1
  40. package/dist/cryptography/keypair.mjs +3 -3
  41. package/dist/cryptography/keypair.mjs.map +1 -1
  42. package/dist/cryptography/mnemonics.d.mts +5 -5
  43. package/dist/cryptography/mnemonics.d.mts.map +1 -1
  44. package/dist/cryptography/mnemonics.mjs +7 -7
  45. package/dist/cryptography/mnemonics.mjs.map +1 -1
  46. package/dist/cryptography/publickey.d.mts +1 -2
  47. package/dist/cryptography/publickey.d.mts.map +1 -1
  48. package/dist/cryptography/publickey.mjs +7 -7
  49. package/dist/cryptography/publickey.mjs.map +1 -1
  50. package/dist/cryptography/signature-scheme.d.mts.map +1 -1
  51. package/dist/cryptography/signature.d.mts +10 -13
  52. package/dist/cryptography/signature.d.mts.map +1 -1
  53. package/dist/cryptography/signature.mjs +2 -2
  54. package/dist/cryptography/signature.mjs.map +1 -1
  55. package/dist/faucet/faucet.d.mts +2 -2
  56. package/dist/faucet/faucet.d.mts.map +1 -1
  57. package/dist/faucet/faucet.mjs +2 -2
  58. package/dist/faucet/faucet.mjs.map +1 -1
  59. package/dist/faucet/index.d.mts +2 -2
  60. package/dist/faucet/index.mjs +2 -2
  61. package/dist/graphql/client.d.mts +20 -5
  62. package/dist/graphql/client.d.mts.map +1 -1
  63. package/dist/graphql/client.mjs +55 -7
  64. package/dist/graphql/client.mjs.map +1 -1
  65. package/dist/graphql/core.d.mts +6 -5
  66. package/dist/graphql/core.d.mts.map +1 -1
  67. package/dist/graphql/core.mjs +43 -47
  68. package/dist/graphql/core.mjs.map +1 -1
  69. package/dist/graphql/generated/queries.d.mts +0 -1
  70. package/dist/graphql/generated/queries.d.mts.map +1 -1
  71. package/dist/graphql/generated/queries.mjs +46 -10
  72. package/dist/graphql/generated/queries.mjs.map +1 -1
  73. package/dist/graphql/generated/tada-env.d.mts +706 -98
  74. package/dist/graphql/generated/tada-env.d.mts.map +1 -1
  75. package/dist/graphql/index.d.mts +2 -2
  76. package/dist/graphql/index.mjs +2 -2
  77. package/dist/graphql/schema/index.d.mts +0 -1
  78. package/dist/graphql/schema/index.d.mts.map +1 -1
  79. package/dist/graphql/types.d.mts.map +1 -1
  80. package/dist/grpc/client.d.mts +20 -5
  81. package/dist/grpc/client.d.mts.map +1 -1
  82. package/dist/grpc/client.mjs +47 -7
  83. package/dist/grpc/client.mjs.map +1 -1
  84. package/dist/grpc/core.d.mts +6 -5
  85. package/dist/grpc/core.d.mts.map +1 -1
  86. package/dist/grpc/core.mjs +35 -34
  87. package/dist/grpc/core.mjs.map +1 -1
  88. package/dist/grpc/index.d.mts +2 -2
  89. package/dist/grpc/index.mjs +2 -2
  90. package/dist/grpc/proto/google/protobuf/any.d.mts +0 -1
  91. package/dist/grpc/proto/google/protobuf/any.d.mts.map +1 -1
  92. package/dist/grpc/proto/google/protobuf/duration.d.mts +0 -1
  93. package/dist/grpc/proto/google/protobuf/duration.d.mts.map +1 -1
  94. package/dist/grpc/proto/google/protobuf/field_mask.d.mts +0 -1
  95. package/dist/grpc/proto/google/protobuf/field_mask.d.mts.map +1 -1
  96. package/dist/grpc/proto/google/protobuf/struct.d.mts +1 -2
  97. package/dist/grpc/proto/google/protobuf/struct.d.mts.map +1 -1
  98. package/dist/grpc/proto/google/protobuf/timestamp.d.mts +0 -1
  99. package/dist/grpc/proto/google/protobuf/timestamp.d.mts.map +1 -1
  100. package/dist/grpc/proto/google/rpc/status.d.mts +0 -1
  101. package/dist/grpc/proto/google/rpc/status.d.mts.map +1 -1
  102. package/dist/grpc/proto/haneul/rpc/v2/argument.d.mts +1 -2
  103. package/dist/grpc/proto/haneul/rpc/v2/argument.d.mts.map +1 -1
  104. package/dist/grpc/proto/haneul/rpc/v2/balance_change.d.mts +0 -1
  105. package/dist/grpc/proto/haneul/rpc/v2/balance_change.d.mts.map +1 -1
  106. package/dist/grpc/proto/haneul/rpc/v2/bcs.d.mts +1 -2
  107. package/dist/grpc/proto/haneul/rpc/v2/bcs.d.mts.map +1 -1
  108. package/dist/grpc/proto/haneul/rpc/v2/bcs.mjs.map +1 -1
  109. package/dist/grpc/proto/haneul/rpc/v2/checkpoint.d.mts +0 -1
  110. package/dist/grpc/proto/haneul/rpc/v2/checkpoint.d.mts.map +1 -1
  111. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.mts +0 -1
  112. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.mts.map +1 -1
  113. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.mts +1 -2
  114. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.mts.map +1 -1
  115. package/dist/grpc/proto/haneul/rpc/v2/effects.d.mts +5 -6
  116. package/dist/grpc/proto/haneul/rpc/v2/effects.d.mts.map +1 -1
  117. package/dist/grpc/proto/haneul/rpc/v2/epoch.d.mts +0 -1
  118. package/dist/grpc/proto/haneul/rpc/v2/epoch.d.mts.map +1 -1
  119. package/dist/grpc/proto/haneul/rpc/v2/error_reason.d.mts +1 -1
  120. package/dist/grpc/proto/haneul/rpc/v2/error_reason.d.mts.map +1 -1
  121. package/dist/grpc/proto/haneul/rpc/v2/event.d.mts +0 -1
  122. package/dist/grpc/proto/haneul/rpc/v2/event.d.mts.map +1 -1
  123. package/dist/grpc/proto/haneul/rpc/v2/executed_transaction.d.mts +0 -1
  124. package/dist/grpc/proto/haneul/rpc/v2/executed_transaction.d.mts.map +1 -1
  125. package/dist/grpc/proto/haneul/rpc/v2/execution_status.d.mts +8 -9
  126. package/dist/grpc/proto/haneul/rpc/v2/execution_status.d.mts.map +1 -1
  127. package/dist/grpc/proto/haneul/rpc/v2/execution_status.mjs +4 -4
  128. package/dist/grpc/proto/haneul/rpc/v2/execution_status.mjs.map +1 -1
  129. package/dist/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.mts +0 -1
  130. package/dist/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.mts.map +1 -1
  131. package/dist/grpc/proto/haneul/rpc/v2/input.d.mts +3 -4
  132. package/dist/grpc/proto/haneul/rpc/v2/input.d.mts.map +1 -1
  133. package/dist/grpc/proto/haneul/rpc/v2/jwk.d.mts +0 -1
  134. package/dist/grpc/proto/haneul/rpc/v2/jwk.d.mts.map +1 -1
  135. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.client.d.mts +4 -5
  136. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.client.d.mts.map +1 -1
  137. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.d.mts +0 -1
  138. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.d.mts.map +1 -1
  139. package/dist/grpc/proto/haneul/rpc/v2/move_package.d.mts +5 -6
  140. package/dist/grpc/proto/haneul/rpc/v2/move_package.d.mts.map +1 -1
  141. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.client.d.mts +4 -5
  142. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.client.d.mts.map +1 -1
  143. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.d.mts +0 -1
  144. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.d.mts.map +1 -1
  145. package/dist/grpc/proto/haneul/rpc/v2/name_service.client.d.mts +4 -5
  146. package/dist/grpc/proto/haneul/rpc/v2/name_service.client.d.mts.map +1 -1
  147. package/dist/grpc/proto/haneul/rpc/v2/name_service.d.mts +0 -1
  148. package/dist/grpc/proto/haneul/rpc/v2/name_service.d.mts.map +1 -1
  149. package/dist/grpc/proto/haneul/rpc/v2/object.d.mts +38 -2
  150. package/dist/grpc/proto/haneul/rpc/v2/object.d.mts.map +1 -1
  151. package/dist/grpc/proto/haneul/rpc/v2/object.mjs +26 -1
  152. package/dist/grpc/proto/haneul/rpc/v2/object.mjs.map +1 -1
  153. package/dist/grpc/proto/haneul/rpc/v2/object_reference.d.mts +0 -1
  154. package/dist/grpc/proto/haneul/rpc/v2/object_reference.d.mts.map +1 -1
  155. package/dist/grpc/proto/haneul/rpc/v2/owner.d.mts +1 -2
  156. package/dist/grpc/proto/haneul/rpc/v2/owner.d.mts.map +1 -1
  157. package/dist/grpc/proto/haneul/rpc/v2/protocol_config.d.mts +0 -1
  158. package/dist/grpc/proto/haneul/rpc/v2/protocol_config.d.mts.map +1 -1
  159. package/dist/grpc/proto/haneul/rpc/v2/signature.d.mts +1 -2
  160. package/dist/grpc/proto/haneul/rpc/v2/signature.d.mts.map +1 -1
  161. package/dist/grpc/proto/haneul/rpc/v2/signature.mjs.map +1 -1
  162. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.d.mts +2 -2
  163. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.d.mts.map +1 -1
  164. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.mjs +1 -1
  165. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.mjs.map +1 -1
  166. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.mts +0 -1
  167. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.mts.map +1 -1
  168. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.d.mts +0 -1
  169. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.d.mts.map +1 -1
  170. package/dist/grpc/proto/haneul/rpc/v2/state_service.client.d.mts +4 -5
  171. package/dist/grpc/proto/haneul/rpc/v2/state_service.client.d.mts.map +1 -1
  172. package/dist/grpc/proto/haneul/rpc/v2/state_service.d.mts +4 -5
  173. package/dist/grpc/proto/haneul/rpc/v2/state_service.d.mts.map +1 -1
  174. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.client.d.mts +4 -5
  175. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.client.d.mts.map +1 -1
  176. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.d.mts +0 -1
  177. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.d.mts.map +1 -1
  178. package/dist/grpc/proto/haneul/rpc/v2/system_state.d.mts +3 -4
  179. package/dist/grpc/proto/haneul/rpc/v2/system_state.d.mts.map +1 -1
  180. package/dist/grpc/proto/haneul/rpc/v2/system_state.mjs +1 -1
  181. package/dist/grpc/proto/haneul/rpc/v2/system_state.mjs.map +1 -1
  182. package/dist/grpc/proto/haneul/rpc/v2/transaction.d.mts +4 -5
  183. package/dist/grpc/proto/haneul/rpc/v2/transaction.d.mts.map +1 -1
  184. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.mts +0 -1
  185. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.mts.map +1 -1
  186. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.mts +9 -2
  187. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.mts.map +1 -1
  188. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.mjs +23 -12
  189. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.mjs.map +1 -1
  190. package/dist/grpc/proto/types.d.mts +2 -2
  191. package/dist/grpc/proto/types.d.mts.map +1 -1
  192. package/dist/grpc/proto/types.mjs +2 -1
  193. package/dist/jsonRpc/client.d.mts +4 -7
  194. package/dist/jsonRpc/client.d.mts.map +1 -1
  195. package/dist/jsonRpc/client.mjs +4 -33
  196. package/dist/jsonRpc/client.mjs.map +1 -1
  197. package/dist/jsonRpc/core.d.mts +8 -15
  198. package/dist/jsonRpc/core.d.mts.map +1 -1
  199. package/dist/jsonRpc/core.mjs +81 -34
  200. package/dist/jsonRpc/core.mjs.map +1 -1
  201. package/dist/jsonRpc/errors.d.mts.map +1 -1
  202. package/dist/jsonRpc/http-transport.d.mts +1 -17
  203. package/dist/jsonRpc/http-transport.d.mts.map +1 -1
  204. package/dist/jsonRpc/http-transport.mjs +0 -23
  205. package/dist/jsonRpc/http-transport.mjs.map +1 -1
  206. package/dist/jsonRpc/index.d.mts +3 -3
  207. package/dist/jsonRpc/network.d.mts.map +1 -1
  208. package/dist/jsonRpc/types/chain.d.mts.map +1 -1
  209. package/dist/jsonRpc/types/changes.d.mts.map +1 -1
  210. package/dist/jsonRpc/types/coins.d.mts.map +1 -1
  211. package/dist/jsonRpc/types/common.d.mts +1 -2
  212. package/dist/jsonRpc/types/common.d.mts.map +1 -1
  213. package/dist/jsonRpc/types/generated.d.mts +101 -129
  214. package/dist/jsonRpc/types/generated.d.mts.map +1 -1
  215. package/dist/jsonRpc/types/index.d.mts +1 -1
  216. package/dist/jsonRpc/types/params.d.mts +9 -14
  217. package/dist/jsonRpc/types/params.d.mts.map +1 -1
  218. package/dist/keypairs/ed25519/keypair.d.mts +8 -6
  219. package/dist/keypairs/ed25519/keypair.d.mts.map +1 -1
  220. package/dist/keypairs/ed25519/keypair.mjs +13 -9
  221. package/dist/keypairs/ed25519/keypair.mjs.map +1 -1
  222. package/dist/keypairs/ed25519/publickey.d.mts +0 -1
  223. package/dist/keypairs/ed25519/publickey.d.mts.map +1 -1
  224. package/dist/keypairs/passkey/keypair.d.mts +12 -5
  225. package/dist/keypairs/passkey/keypair.d.mts.map +1 -1
  226. package/dist/keypairs/passkey/keypair.mjs +20 -7
  227. package/dist/keypairs/passkey/keypair.mjs.map +1 -1
  228. package/dist/keypairs/passkey/publickey.d.mts +0 -1
  229. package/dist/keypairs/passkey/publickey.d.mts.map +1 -1
  230. package/dist/keypairs/passkey/types.d.mts.map +1 -1
  231. package/dist/keypairs/secp256k1/keypair.d.mts +3 -3
  232. package/dist/keypairs/secp256k1/keypair.d.mts.map +1 -1
  233. package/dist/keypairs/secp256k1/keypair.mjs +6 -6
  234. package/dist/keypairs/secp256k1/keypair.mjs.map +1 -1
  235. package/dist/keypairs/secp256k1/publickey.d.mts +0 -1
  236. package/dist/keypairs/secp256k1/publickey.d.mts.map +1 -1
  237. package/dist/keypairs/secp256r1/keypair.d.mts +3 -3
  238. package/dist/keypairs/secp256r1/keypair.d.mts.map +1 -1
  239. package/dist/keypairs/secp256r1/keypair.mjs +6 -6
  240. package/dist/keypairs/secp256r1/keypair.mjs.map +1 -1
  241. package/dist/keypairs/secp256r1/publickey.d.mts +0 -1
  242. package/dist/keypairs/secp256r1/publickey.d.mts.map +1 -1
  243. package/dist/multisig/publickey.d.mts +1 -0
  244. package/dist/multisig/publickey.d.mts.map +1 -1
  245. package/dist/multisig/publickey.mjs +7 -7
  246. package/dist/multisig/publickey.mjs.map +1 -1
  247. package/dist/multisig/signer.d.mts.map +1 -1
  248. package/dist/transactions/Arguments.d.mts.map +1 -1
  249. package/dist/transactions/Commands.d.mts +1 -1
  250. package/dist/transactions/Commands.d.mts.map +1 -1
  251. package/dist/transactions/Commands.mjs.map +1 -1
  252. package/dist/transactions/Inputs.d.mts.map +1 -1
  253. package/dist/transactions/ObjectCache.d.mts +3 -3
  254. package/dist/transactions/ObjectCache.d.mts.map +1 -1
  255. package/dist/transactions/Transaction.d.mts +26 -0
  256. package/dist/transactions/Transaction.d.mts.map +1 -1
  257. package/dist/transactions/Transaction.mjs +23 -1
  258. package/dist/transactions/Transaction.mjs.map +1 -1
  259. package/dist/transactions/TransactionData.d.mts.map +1 -1
  260. package/dist/transactions/TransactionData.mjs +8 -8
  261. package/dist/transactions/TransactionData.mjs.map +1 -1
  262. package/dist/transactions/data/internal.d.mts +109 -109
  263. package/dist/transactions/data/internal.d.mts.map +1 -1
  264. package/dist/transactions/data/internal.mjs.map +1 -1
  265. package/dist/transactions/data/v1.d.mts +220 -221
  266. package/dist/transactions/data/v1.d.mts.map +1 -1
  267. package/dist/transactions/data/v2.d.mts.map +1 -1
  268. package/dist/transactions/data/v2.mjs.map +1 -1
  269. package/dist/transactions/executor/caching.mjs +2 -2
  270. package/dist/transactions/executor/caching.mjs.map +1 -1
  271. package/dist/transactions/executor/parallel.d.mts +1 -1
  272. package/dist/transactions/executor/parallel.d.mts.map +1 -1
  273. package/dist/transactions/executor/parallel.mjs +1 -1
  274. package/dist/transactions/executor/parallel.mjs.map +1 -1
  275. package/dist/transactions/executor/serial.d.mts +3 -3
  276. package/dist/transactions/executor/serial.d.mts.map +1 -1
  277. package/dist/transactions/executor/serial.mjs.map +1 -1
  278. package/dist/transactions/intents/CoinWithBalance.d.mts.map +1 -1
  279. package/dist/transactions/intents/CoinWithBalance.mjs +174 -97
  280. package/dist/transactions/intents/CoinWithBalance.mjs.map +1 -1
  281. package/dist/transactions/object.d.mts.map +1 -1
  282. package/dist/transactions/pure.d.mts.map +1 -1
  283. package/dist/transactions/pure.mjs +12 -12
  284. package/dist/transactions/pure.mjs.map +1 -1
  285. package/dist/transactions/resolve.d.mts.map +1 -1
  286. package/dist/transactions/resolve.mjs +3 -3
  287. package/dist/transactions/resolve.mjs.map +1 -1
  288. package/dist/transactions/serializer.d.mts.map +1 -1
  289. package/dist/transactions/serializer.mjs +15 -15
  290. package/dist/transactions/serializer.mjs.map +1 -1
  291. package/dist/transactions/utils.d.mts +0 -1
  292. package/dist/transactions/utils.d.mts.map +1 -1
  293. package/dist/utils/coin-reservation.mjs +67 -0
  294. package/dist/utils/coin-reservation.mjs.map +1 -0
  295. package/dist/utils/constants.d.mts +2 -1
  296. package/dist/utils/constants.d.mts.map +1 -1
  297. package/dist/utils/constants.mjs +2 -1
  298. package/dist/utils/constants.mjs.map +1 -1
  299. package/dist/utils/derived-objects.d.mts +0 -1
  300. package/dist/utils/derived-objects.d.mts.map +1 -1
  301. package/dist/utils/dynamic-fields.d.mts.map +1 -1
  302. package/dist/utils/dynamic-fields.mjs +4 -4
  303. package/dist/utils/dynamic-fields.mjs.map +1 -1
  304. package/dist/utils/format.d.mts.map +1 -1
  305. package/dist/utils/haneul-types.d.mts.map +1 -1
  306. package/dist/utils/haneul-types.mjs +8 -0
  307. package/dist/utils/haneul-types.mjs.map +1 -1
  308. package/dist/utils/haneulns.d.mts.map +1 -1
  309. package/dist/utils/index.d.mts +2 -2
  310. package/dist/utils/index.mjs +2 -2
  311. package/dist/utils/move-registry.d.mts.map +1 -1
  312. package/dist/verify/verify.d.mts.map +1 -1
  313. package/dist/version.mjs +1 -1
  314. package/dist/version.mjs.map +1 -1
  315. package/dist/zklogin/address.d.mts.map +1 -1
  316. package/dist/zklogin/bcs.d.mts +14 -14
  317. package/dist/zklogin/bcs.d.mts.map +1 -1
  318. package/dist/zklogin/jwt-decode.d.mts +0 -1
  319. package/dist/zklogin/jwt-decode.d.mts.map +1 -1
  320. package/dist/zklogin/jwt-utils.d.mts +0 -1
  321. package/dist/zklogin/jwt-utils.d.mts.map +1 -1
  322. package/dist/zklogin/nonce.d.mts.map +1 -1
  323. package/dist/zklogin/poseidon.d.mts.map +1 -1
  324. package/dist/zklogin/publickey.d.mts +0 -1
  325. package/dist/zklogin/publickey.d.mts.map +1 -1
  326. package/dist/zklogin/signature.d.mts.map +1 -1
  327. package/dist/zklogin/utils.d.mts.map +1 -1
  328. package/dist/zklogin/utils.mjs +1 -1
  329. package/dist/zklogin/utils.mjs.map +1 -1
  330. package/docs/bcs.md +132 -0
  331. package/docs/clients/core.md +616 -0
  332. package/docs/clients/graphql.md +99 -0
  333. package/docs/clients/grpc.md +152 -0
  334. package/docs/clients/index.md +93 -0
  335. package/docs/clients/json-rpc.md +235 -0
  336. package/docs/cryptography/keypairs.md +259 -0
  337. package/docs/cryptography/multisig.md +192 -0
  338. package/docs/cryptography/passkey.md +111 -0
  339. package/docs/cryptography/webcrypto-signer.md +81 -0
  340. package/docs/executors.md +148 -0
  341. package/docs/faucet.md +26 -0
  342. package/docs/hello-haneul.md +115 -0
  343. package/docs/index.md +56 -0
  344. package/docs/install.md +61 -0
  345. package/docs/llm-docs.md +32 -0
  346. package/docs/llms-index.md +66 -0
  347. package/docs/migrations/0.38.md +57 -0
  348. package/docs/migrations/haneul-1.0.md +454 -0
  349. package/docs/migrations/haneul-2.0/agent-prompt.md +42 -0
  350. package/docs/migrations/haneul-2.0/dapp-kit.md +350 -0
  351. package/docs/migrations/haneul-2.0/deepbook-v3.md +33 -0
  352. package/docs/migrations/haneul-2.0/haneul.md +341 -0
  353. package/docs/migrations/haneul-2.0/haneulns.md +42 -0
  354. package/docs/migrations/haneul-2.0/index.md +161 -0
  355. package/docs/migrations/haneul-2.0/json-rpc-migration.md +399 -0
  356. package/docs/migrations/haneul-2.0/kiosk.md +120 -0
  357. package/docs/migrations/haneul-2.0/sdk-maintainers.md +91 -0
  358. package/docs/migrations/haneul-2.0/seal.md +14 -0
  359. package/docs/migrations/haneul-2.0/wallet-builders.md +66 -0
  360. package/docs/migrations/haneul-2.0/walrus.md +41 -0
  361. package/docs/migrations/haneul-2.0/zksend.md +94 -0
  362. package/docs/plugins.md +255 -0
  363. package/docs/sdk-building.md +341 -0
  364. package/docs/transaction-building/basics.md +297 -0
  365. package/docs/transaction-building/gas.md +62 -0
  366. package/docs/transaction-building/intents.md +61 -0
  367. package/docs/transaction-building/offline.md +71 -0
  368. package/docs/transaction-building/sponsored-transactions.md +22 -0
  369. package/docs/utils/derived_objects.md +80 -0
  370. package/docs/utils/index.md +53 -0
  371. package/docs/zklogin.md +78 -0
  372. package/package.json +199 -199
  373. package/src/bcs/bcs.ts +13 -13
  374. package/src/bcs/effects.ts +20 -20
  375. package/src/bcs/index.ts +2 -2
  376. package/src/client/core-resolver.ts +150 -100
  377. package/src/client/core.ts +62 -22
  378. package/src/client/types.ts +109 -24
  379. package/src/cryptography/index.ts +2 -2
  380. package/src/cryptography/keypair.ts +2 -2
  381. package/src/cryptography/mnemonics.ts +7 -7
  382. package/src/cryptography/publickey.ts +5 -5
  383. package/src/faucet/faucet.ts +1 -1
  384. package/src/faucet/index.ts +1 -1
  385. package/src/graphql/client.ts +100 -8
  386. package/src/graphql/core.ts +73 -80
  387. package/src/graphql/generated/queries.ts +301 -51
  388. package/src/graphql/generated/schema.graphql +407 -104
  389. package/src/graphql/generated/tada-env.ts +779 -58
  390. package/src/graphql/index.ts +1 -1
  391. package/src/graphql/queries/getAllBalances.graphql +1 -1
  392. package/src/graphql/queries/getBalance.graphql +1 -1
  393. package/src/graphql/queries/getCoins.graphql +2 -2
  394. package/src/graphql/queries/getDynamicFields.graphql +9 -1
  395. package/src/graphql/queries/getMoveFunction.graphql +1 -1
  396. package/src/graphql/queries/getProtocolConfig.graphql +18 -0
  397. package/src/graphql/queries/nameService.graphql +1 -1
  398. package/src/graphql/queries/objects.graphql +11 -1
  399. package/src/graphql/queries/transactions.graphql +1 -3
  400. package/src/graphql/queries/verifyZkLoginSignature.graphql +1 -2
  401. package/src/grpc/client.ts +66 -8
  402. package/src/grpc/core.ts +74 -35
  403. package/src/grpc/index.ts +1 -1
  404. package/src/grpc/proto/haneul/rpc/v2/bcs.ts +1 -1
  405. package/src/grpc/proto/haneul/rpc/v2/execution_status.ts +4 -4
  406. package/src/grpc/proto/haneul/rpc/v2/object.ts +44 -0
  407. package/src/grpc/proto/haneul/rpc/v2/signature.ts +1 -1
  408. package/src/grpc/proto/haneul/rpc/v2/signature_scheme.ts +1 -1
  409. package/src/grpc/proto/haneul/rpc/v2/system_state.ts +4 -4
  410. package/src/grpc/proto/haneul/rpc/v2/transaction_execution_service.ts +16 -0
  411. package/src/jsonRpc/client.ts +5 -23
  412. package/src/jsonRpc/core.ts +114 -41
  413. package/src/jsonRpc/http-transport.ts +0 -52
  414. package/src/jsonRpc/index.ts +0 -1
  415. package/src/jsonRpc/types/common.ts +0 -1
  416. package/src/jsonRpc/types/generated.ts +2 -2
  417. package/src/jsonRpc/types/params.ts +6 -6
  418. package/src/keypairs/ed25519/keypair.ts +14 -10
  419. package/src/keypairs/passkey/keypair.ts +22 -8
  420. package/src/keypairs/secp256k1/keypair.ts +6 -6
  421. package/src/keypairs/secp256r1/keypair.ts +6 -6
  422. package/src/transactions/Commands.ts +1 -1
  423. package/src/transactions/Transaction.ts +38 -1
  424. package/src/transactions/TransactionData.ts +3 -3
  425. package/src/transactions/__tests__/bcs.test.ts +3 -3
  426. package/src/transactions/data/internal.ts +12 -12
  427. package/src/transactions/data/v2.ts +6 -6
  428. package/src/transactions/executor/caching.ts +2 -2
  429. package/src/transactions/executor/parallel.ts +1 -2
  430. package/src/transactions/executor/serial.ts +1 -1
  431. package/src/transactions/intents/CoinWithBalance.ts +247 -121
  432. package/src/utils/coin-reservation.ts +84 -0
  433. package/src/utils/constants.ts +2 -0
  434. package/src/utils/haneul-types.ts +16 -1
  435. package/src/utils/index.ts +1 -0
  436. package/src/version.ts +1 -1
  437. package/src/zklogin/utils.ts +1 -1
  438. package/dist/jsonRpc/rpc-websocket-client.d.mts +0 -26
  439. package/dist/jsonRpc/rpc-websocket-client.d.mts.map +0 -1
  440. package/dist/jsonRpc/rpc-websocket-client.mjs +0 -135
  441. package/dist/jsonRpc/rpc-websocket-client.mjs.map +0 -1
  442. package/src/jsonRpc/rpc-websocket-client.ts +0 -241
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.mts","names":[],"sources":["../../src/jsonRpc/client.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../../src/jsonRpc/client.ts"],"mappings":"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"}
@@ -4,47 +4,18 @@ import { isValidHaneulAddress, isValidHaneulObjectId, isValidTransactionDigest,
4
4
  import { BaseClient } from "../client/client.mjs";
5
5
  import { hasMvrName } from "../client/mvr.mjs";
6
6
  import { JsonRpcHTTPTransport } from "./http-transport.mjs";
7
+ import { isCoinReservationDigest } from "../utils/coin-reservation.mjs";
7
8
  import { isTransaction } from "../transactions/Transaction.mjs";
8
9
  import { JSONRpcCoreClient } from "./core.mjs";
9
10
  import { fromBase58, toBase64, toHex } from "@haneullabs/bcs";
10
11
 
11
12
  //#region src/jsonRpc/client.ts
12
- const SUI_CLIENT_BRAND = Symbol.for("@haneullabs/HaneulJsonRpcClient");
13
- const COIN_RESERVATION_MAGIC = new Uint8Array([
14
- 172,
15
- 172,
16
- 172,
17
- 172,
18
- 172,
19
- 172,
20
- 172,
21
- 172,
22
- 172,
23
- 172,
24
- 172,
25
- 172,
26
- 172,
27
- 172,
28
- 172,
29
- 172,
30
- 172,
31
- 172,
32
- 172,
33
- 172
34
- ]);
35
- /**
36
- * Checks if a digest indicates a fake address balance coin.
37
- * These "coins" are created by the JSON RPC to represent address balances
38
- * and should be filtered out from coin listings.
39
- */
40
- function isCoinReservationDigest(digestBase58) {
41
- return fromBase58(digestBase58).slice(12, 32).every((byte, i) => byte === COIN_RESERVATION_MAGIC[i]);
42
- }
13
+ const HANEUL_CLIENT_BRAND = Symbol.for("@haneullabs/HaneulJsonRpcClient");
43
14
  function isHaneulJsonRpcClient(client) {
44
- return typeof client === "object" && client !== null && client[SUI_CLIENT_BRAND] === true;
15
+ return typeof client === "object" && client !== null && client[HANEUL_CLIENT_BRAND] === true;
45
16
  }
46
17
  var HaneulJsonRpcClient = class extends BaseClient {
47
- get [SUI_CLIENT_BRAND]() {
18
+ get [HANEUL_CLIENT_BRAND]() {
48
19
  return true;
49
20
  }
50
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","names":[],"sources":["../../src/jsonRpc/client.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromBase58, toBase64, toHex } from '@haneullabs/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport { BaseClient } from '../client/client.js';\nimport type { HaneulClientTypes } from '../client/types.js';\nimport type { Transaction } from '../transactions/Transaction.js';\nimport { isTransaction } from '../transactions/Transaction.js';\nimport {\n\tisValidHaneulAddress,\n\tisValidHaneulObjectId,\n\tisValidTransactionDigest,\n\tnormalizeHaneulAddress,\n\tnormalizeHaneulObjectId,\n} from '../utils/haneul-types.js';\nimport { normalizeHaneulNSName } from '../utils/haneulns.js';\nimport { JsonRpcHTTPTransport } from './http-transport.js';\nimport type { JsonRpcTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetLatestCheckpointSequenceNumberParams,\n\tGetLatestHaneulSystemStateParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetReferenceGasPriceParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tHaneulMoveFunctionArgType,\n\tHaneulMoveNormalizedFunction,\n\tHaneulMoveNormalizedModule,\n\tHaneulMoveNormalizedModules,\n\tHaneulMoveNormalizedStruct,\n\tHaneulObjectResponse,\n\tHaneulObjectResponseQuery,\n\tHaneulSystemStateSummary,\n\tHaneulTransactionBlockResponse,\n\tHaneulTransactionBlockResponseQuery,\n\tTryGetPastObjectParams,\n\tValidatorsApy,\n\tVerifyZkLoginSignatureParams,\n\tZkLoginVerifyResult,\n} from './types/index.js';\nimport { isValidNamedPackage } from '../utils/move-registry.js';\nimport { hasMvrName } from '../client/mvr.js';\nimport { JSONRpcCoreClient } from './core.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the HaneulJsonRpcClient\n * You must provide either a `url` or a `transport`\n */\nexport type HaneulJsonRpcClientOptions = NetworkOrTransport & {\n\tnetwork: HaneulClientTypes.Network;\n\tmvr?: HaneulClientTypes.MvrOptions;\n};\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: JsonRpcTransport;\n\t\t\turl?: never;\n\t };\n\nconst SUI_CLIENT_BRAND = Symbol.for('@haneullabs/HaneulJsonRpcClient') as never;\n\n// Magic number used to identify fake address balance coins (last 20 bytes of the digest)\n// See: haneul/crate./haneul-types/src/coin_reservation.rs\nconst COIN_RESERVATION_MAGIC = new Uint8Array([\n\t0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,\n\t0xac, 0xac, 0xac, 0xac,\n]);\n\n/**\n * Checks if a digest indicates a fake address balance coin.\n * These \"coins\" are created by the JSON RPC to represent address balances\n * and should be filtered out from coin listings.\n */\nfunction isCoinReservationDigest(digestBase58: string): boolean {\n\tconst digestBytes = fromBase58(digestBase58);\n\t// Check if the last 20 bytes match the magic number\n\tconst last20Bytes = digestBytes.slice(12, 32);\n\treturn last20Bytes.every((byte, i) => byte === COIN_RESERVATION_MAGIC[i]);\n}\n\nexport function isHaneulJsonRpcClient(client: unknown): client is HaneulJsonRpcClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport class HaneulJsonRpcClient extends BaseClient {\n\tcore: JSONRpcCoreClient;\n\tjsonRpc = this;\n\tprotected transport: JsonRpcTransport;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Haneul RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: HaneulJsonRpcClientOptions) {\n\t\tsuper({ network: options.network });\n\t\tthis.transport = options.transport ?? new JsonRpcHTTPTransport({ url: options.url });\n\t\tthis.core = new JSONRpcCoreClient({\n\t\t\tjsonRpcClient: this,\n\t\t\tmvr: options.mvr,\n\t\t});\n\t}\n\n\tasync getRpcApiVersion({ signal }: { signal?: AbortSignal } = {}): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins({\n\t\tcoinType,\n\t\towner,\n\t\tcursor,\n\t\tlimit,\n\t\tsignal,\n\t}: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!owner || !isValidHaneulAddress(normalizeHaneulAddress(owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\tconst result: PaginatedCoins = await this.transport.request({\n\t\t\tmethod: 'haneulx_getCoins',\n\t\t\tparams: [owner, coinType, cursor, limit],\n\t\t\tsignal: signal,\n\t\t});\n\n\t\treturn {\n\t\t\t...result,\n\t\t\tdata: result.data.filter((coin) => !isCoinReservationDigest(coin.digest)),\n\t\t};\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tconst result: PaginatedCoins = await this.transport.request({\n\t\t\tmethod: 'haneulx_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t\tsignal: input.signal,\n\t\t});\n\n\t\treturn {\n\t\t\t...result,\n\t\t\tdata: result.data.filter((coin) => !isCoinReservationDigest(coin.digest)),\n\t\t};\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance({ owner, coinType, signal }: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!owner || !isValidHaneulAddress(normalizeHaneulAddress(owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getBalance',\n\t\t\tparams: [owner, coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getAllBalances',\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata({ coinType, signal }: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getCoinMetadata',\n\t\t\tparams: [coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply({ coinType, signal }: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getTotalSupply',\n\t\t\tparams: [coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(\n\t\tmethod: string,\n\t\tparams: unknown[],\n\t\t{ signal }: { signal?: AbortSignal } = {},\n\t): Promise<T> {\n\t\treturn await this.transport.request({ method, params, signal });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tfunction: fn,\n\t\tsignal,\n\t}: GetMoveFunctionArgTypesParams): Promise<HaneulMoveFunctionArgType[]> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getMoveFunctionArgTypes',\n\t\t\tparams: [pkg, module, fn],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage({\n\t\tpackage: pkg,\n\t\tsignal,\n\t}: GetNormalizedMoveModulesByPackageParams): Promise<HaneulMoveNormalizedModules> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [pkg],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tsignal,\n\t}: GetNormalizedMoveModuleParams): Promise<HaneulMoveNormalizedModule> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveModule',\n\t\t\tparams: [pkg, module],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tfunction: fn,\n\t\tsignal,\n\t}: GetNormalizedMoveFunctionParams): Promise<HaneulMoveNormalizedFunction> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveFunction',\n\t\t\tparams: [pkg, module, fn],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tstruct,\n\t\tsignal,\n\t}: GetNormalizedMoveStructParams): Promise<HaneulMoveNormalizedStruct> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveStruct',\n\t\t\tparams: [pkg, module, struct],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tconst filter = input.filter\n\t\t\t? {\n\t\t\t\t\t...input.filter,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\t\tif (filter && 'MoveModule' in filter && isValidNamedPackage(filter.MoveModule.package)) {\n\t\t\tfilter.MoveModule = {\n\t\t\t\tmodule: filter.MoveModule.module,\n\t\t\t\tpackage: (\n\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\tpackage: filter.MoveModule.package,\n\t\t\t\t\t})\n\t\t\t\t).package,\n\t\t\t};\n\t\t} else if (filter && 'StructType' in filter && hasMvrName(filter.StructType)) {\n\t\t\tfilter.StructType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: filter.StructType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as HaneulObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<HaneulObjectResponse> {\n\t\tif (!input.id || !isValidHaneulObjectId(normalizeHaneulObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Haneul Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<HaneulObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidHaneulObjectId(normalizeHaneulObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Haneul Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks({\n\t\tfilter,\n\t\toptions,\n\t\tcursor,\n\t\tlimit,\n\t\torder,\n\t\tsignal,\n\t}: QueryTransactionBlocksParams): Promise<PaginatedTransactionResponse> {\n\t\tif (filter && 'MoveFunction' in filter && isValidNamedPackage(filter.MoveFunction.package)) {\n\t\t\tfilter = {\n\t\t\t\t...filter,\n\t\t\t\tMoveFunction: {\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: filter.MoveFunction.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions,\n\t\t\t\t} as HaneulTransactionBlockResponseQuery,\n\t\t\t\tcursor,\n\t\t\t\tlimit,\n\t\t\t\t(order || 'descending') === 'descending',\n\t\t\t],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<HaneulTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<HaneulTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync executeTransactionBlock({\n\t\ttransactionBlock,\n\t\tsignature,\n\t\toptions,\n\t\tsignal,\n\t}: ExecuteTransactionBlockParams): Promise<HaneulTransactionBlockResponse> {\n\t\tconst result: HaneulTransactionBlockResponse = await this.transport.request({\n\t\t\tmethod: 'haneul_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof transactionBlock === 'string' ? transactionBlock : toBase64(transactionBlock),\n\t\t\t\tArray.isArray(signature) ? signature : [signature],\n\t\t\t\toptions,\n\t\t\t],\n\t\t\tsignal,\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<HaneulTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toHaneulAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks({ signal }: { signal?: AbortSignal } = {}): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'haneul_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice({ signal }: GetReferenceGasPriceParams = {}): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'haneulx_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getStakes',\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedHaneulIds.forEach((id) => {\n\t\t\tif (!id || !isValidHaneulObjectId(normalizeHaneulObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Haneul Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getStakesByIds',\n\t\t\tparams: [input.stakedHaneulIds],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestHaneulSystemState({\n\t\tsignal,\n\t}: GetLatestHaneulSystemStateParams = {}): Promise<HaneulSystemStateSummary> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getLatestHaneulSystemState',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents({\n\t\tquery,\n\t\tcursor,\n\t\tlimit,\n\t\torder,\n\t\tsignal,\n\t}: QueryEventsParams): Promise<PaginatedEvents> {\n\t\tif (query && 'MoveEventType' in query && hasMvrName(query.MoveEventType)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveEventType: (\n\t\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\t\ttype: query.MoveEventType,\n\t\t\t\t\t})\n\t\t\t\t).type,\n\t\t\t};\n\t\t}\n\n\t\tif (query && 'MoveEventModule' in query && isValidNamedPackage(query.MoveEventModule.package)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveEventModule: {\n\t\t\t\t\tmodule: query.MoveEventModule.module,\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: query.MoveEventModule.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif ('MoveModule' in query && isValidNamedPackage(query.MoveModule.package)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveModule: {\n\t\t\t\t\tmodule: query.MoveModule.module,\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: query.MoveModule.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_queryEvents',\n\t\t\tparams: [query, cursor, limit, (order || 'descending') === 'descending'],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toBase64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toBase64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\tinput.signal?.throwIfAborted();\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toBase64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidHaneulObjectId(normalizeHaneulObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Haneul Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<HaneulObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber({\n\t\tsignal,\n\t}: GetLatestCheckpointSequenceNumberParams = {}): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'haneul_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getCheckpoint',\n\t\t\tparams: [input.id],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync getNetworkMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getNetworkMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getAddressMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getLatestAddressMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t\tsignal?: AbortSignal;\n\t\t} & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t\tsignal?: AbortSignal;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t\tsignal?: AbortSignal;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getMoveCallMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch({ signal }: { signal?: AbortSignal } = {}): Promise<EpochInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getCurrentEpoch',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy({ signal }: { signal?: AbortSignal } = {}): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getValidatorsApy',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier({ signal }: { signal?: AbortSignal } = {}): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0', signal });\n\t\tconst bytes = fromBase58(checkpoint.digest);\n\t\treturn toHex(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'haneulx_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t\tsignal: input.signal,\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeHaneulNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync verifyZkLoginSignature(input: VerifyZkLoginSignatureParams): Promise<ZkLoginVerifyResult> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_verifyZkLoginSignature',\n\t\t\tparams: [input.bytes, input.signature, input.intentScope, input.author],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<\n\t\tHaneulJsonRpcClient['getTransactionBlock']\n\t>[0]): Promise<HaneulTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.mjs","names":[],"sources":["../../src/jsonRpc/client.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromBase58, toBase64, toHex } from '@haneullabs/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport { BaseClient } from '../client/client.js';\nimport type { HaneulClientTypes } from '../client/types.js';\nimport { isCoinReservationDigest } from '../utils/coin-reservation.js';\nimport type { Transaction } from '../transactions/Transaction.js';\nimport { isTransaction } from '../transactions/Transaction.js';\nimport {\n\tisValidHaneulAddress,\n\tisValidHaneulObjectId,\n\tisValidTransactionDigest,\n\tnormalizeHaneulAddress,\n\tnormalizeHaneulObjectId,\n} from '../utils/haneul-types.js';\nimport { normalizeHaneulNSName } from '../utils/haneulns.js';\nimport { JsonRpcHTTPTransport } from './http-transport.js';\nimport type { JsonRpcTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetLatestCheckpointSequenceNumberParams,\n\tGetLatestHaneulSystemStateParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetReferenceGasPriceParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tHaneulMoveFunctionArgType,\n\tHaneulMoveNormalizedFunction,\n\tHaneulMoveNormalizedModule,\n\tHaneulMoveNormalizedModules,\n\tHaneulMoveNormalizedStruct,\n\tHaneulObjectResponse,\n\tHaneulObjectResponseQuery,\n\tHaneulSystemStateSummary,\n\tHaneulTransactionBlockResponse,\n\tHaneulTransactionBlockResponseQuery,\n\tTryGetPastObjectParams,\n\tValidatorsApy,\n\tVerifyZkLoginSignatureParams,\n\tZkLoginVerifyResult,\n} from './types/index.js';\nimport { isValidNamedPackage } from '../utils/move-registry.js';\nimport { hasMvrName } from '../client/mvr.js';\nimport { JSONRpcCoreClient } from './core.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the HaneulJsonRpcClient\n * You must provide either a `url` or a `transport`\n */\nexport type HaneulJsonRpcClientOptions = NetworkOrTransport & {\n\tnetwork: HaneulClientTypes.Network;\n\tmvr?: HaneulClientTypes.MvrOptions;\n};\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: JsonRpcTransport;\n\t\t\turl?: never;\n\t };\n\nconst HANEUL_CLIENT_BRAND = Symbol.for('@haneullabs/HaneulJsonRpcClient') as never;\n\nexport function isHaneulJsonRpcClient(client: unknown): client is HaneulJsonRpcClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[HANEUL_CLIENT_BRAND] === true\n\t);\n}\n\nexport class HaneulJsonRpcClient extends BaseClient {\n\tcore: JSONRpcCoreClient;\n\tjsonRpc = this;\n\tprotected transport: JsonRpcTransport;\n\n\tget [HANEUL_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Haneul RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: HaneulJsonRpcClientOptions) {\n\t\tsuper({ network: options.network });\n\t\tthis.transport = options.transport ?? new JsonRpcHTTPTransport({ url: options.url });\n\t\tthis.core = new JSONRpcCoreClient({\n\t\t\tjsonRpcClient: this,\n\t\t\tmvr: options.mvr,\n\t\t});\n\t}\n\n\tasync getRpcApiVersion({ signal }: { signal?: AbortSignal } = {}): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins({\n\t\tcoinType,\n\t\towner,\n\t\tcursor,\n\t\tlimit,\n\t\tsignal,\n\t}: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!owner || !isValidHaneulAddress(normalizeHaneulAddress(owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\tconst result: PaginatedCoins = await this.transport.request({\n\t\t\tmethod: 'haneulx_getCoins',\n\t\t\tparams: [owner, coinType, cursor, limit],\n\t\t\tsignal: signal,\n\t\t});\n\n\t\treturn {\n\t\t\t...result,\n\t\t\tdata: result.data.filter((coin) => !isCoinReservationDigest(coin.digest)),\n\t\t};\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tconst result: PaginatedCoins = await this.transport.request({\n\t\t\tmethod: 'haneulx_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t\tsignal: input.signal,\n\t\t});\n\n\t\treturn {\n\t\t\t...result,\n\t\t\tdata: result.data.filter((coin) => !isCoinReservationDigest(coin.digest)),\n\t\t};\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance({ owner, coinType, signal }: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!owner || !isValidHaneulAddress(normalizeHaneulAddress(owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getBalance',\n\t\t\tparams: [owner, coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getAllBalances',\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata({ coinType, signal }: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getCoinMetadata',\n\t\t\tparams: [coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply({ coinType, signal }: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\tif (coinType && hasMvrName(coinType)) {\n\t\t\tcoinType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: coinType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getTotalSupply',\n\t\t\tparams: [coinType],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(\n\t\tmethod: string,\n\t\tparams: unknown[],\n\t\t{ signal }: { signal?: AbortSignal } = {},\n\t): Promise<T> {\n\t\treturn await this.transport.request({ method, params, signal });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tfunction: fn,\n\t\tsignal,\n\t}: GetMoveFunctionArgTypesParams): Promise<HaneulMoveFunctionArgType[]> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getMoveFunctionArgTypes',\n\t\t\tparams: [pkg, module, fn],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage({\n\t\tpackage: pkg,\n\t\tsignal,\n\t}: GetNormalizedMoveModulesByPackageParams): Promise<HaneulMoveNormalizedModules> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [pkg],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tsignal,\n\t}: GetNormalizedMoveModuleParams): Promise<HaneulMoveNormalizedModule> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveModule',\n\t\t\tparams: [pkg, module],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tfunction: fn,\n\t\tsignal,\n\t}: GetNormalizedMoveFunctionParams): Promise<HaneulMoveNormalizedFunction> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveFunction',\n\t\t\tparams: [pkg, module, fn],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct({\n\t\tpackage: pkg,\n\t\tmodule,\n\t\tstruct,\n\t\tsignal,\n\t}: GetNormalizedMoveStructParams): Promise<HaneulMoveNormalizedStruct> {\n\t\tif (pkg && isValidNamedPackage(pkg)) {\n\t\t\tpkg = (\n\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\tpackage: pkg,\n\t\t\t\t})\n\t\t\t).package;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getNormalizedMoveStruct',\n\t\t\tparams: [pkg, module, struct],\n\t\t\tsignal: signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\n\t\tconst filter = input.filter\n\t\t\t? {\n\t\t\t\t\t...input.filter,\n\t\t\t\t}\n\t\t\t: undefined;\n\n\t\tif (filter && 'MoveModule' in filter && isValidNamedPackage(filter.MoveModule.package)) {\n\t\t\tfilter.MoveModule = {\n\t\t\t\tmodule: filter.MoveModule.module,\n\t\t\t\tpackage: (\n\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\tpackage: filter.MoveModule.package,\n\t\t\t\t\t})\n\t\t\t\t).package,\n\t\t\t};\n\t\t} else if (filter && 'StructType' in filter && hasMvrName(filter.StructType)) {\n\t\t\tfilter.StructType = (\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: filter.StructType,\n\t\t\t\t})\n\t\t\t).type;\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as HaneulObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<HaneulObjectResponse> {\n\t\tif (!input.id || !isValidHaneulObjectId(normalizeHaneulObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Haneul Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<HaneulObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidHaneulObjectId(normalizeHaneulObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Haneul Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks({\n\t\tfilter,\n\t\toptions,\n\t\tcursor,\n\t\tlimit,\n\t\torder,\n\t\tsignal,\n\t}: QueryTransactionBlocksParams): Promise<PaginatedTransactionResponse> {\n\t\tif (filter && 'MoveFunction' in filter && isValidNamedPackage(filter.MoveFunction.package)) {\n\t\t\tfilter = {\n\t\t\t\t...filter,\n\t\t\t\tMoveFunction: {\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: filter.MoveFunction.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter,\n\t\t\t\t\toptions,\n\t\t\t\t} as HaneulTransactionBlockResponseQuery,\n\t\t\t\tcursor,\n\t\t\t\tlimit,\n\t\t\t\t(order || 'descending') === 'descending',\n\t\t\t],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<HaneulTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<HaneulTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync executeTransactionBlock({\n\t\ttransactionBlock,\n\t\tsignature,\n\t\toptions,\n\t\tsignal,\n\t}: ExecuteTransactionBlockParams): Promise<HaneulTransactionBlockResponse> {\n\t\tconst result: HaneulTransactionBlockResponse = await this.transport.request({\n\t\t\tmethod: 'haneul_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof transactionBlock === 'string' ? transactionBlock : toBase64(transactionBlock),\n\t\t\t\tArray.isArray(signature) ? signature : [signature],\n\t\t\t\toptions,\n\t\t\t],\n\t\t\tsignal,\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<HaneulTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toHaneulAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks({ signal }: { signal?: AbortSignal } = {}): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'haneul_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice({ signal }: GetReferenceGasPriceParams = {}): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'haneulx_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidHaneulAddress(normalizeHaneulAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Haneul address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getStakes',\n\t\t\tparams: [input.owner],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedHaneulIds.forEach((id) => {\n\t\t\tif (!id || !isValidHaneulObjectId(normalizeHaneulObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Haneul Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getStakesByIds',\n\t\t\tparams: [input.stakedHaneulIds],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestHaneulSystemState({\n\t\tsignal,\n\t}: GetLatestHaneulSystemStateParams = {}): Promise<HaneulSystemStateSummary> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getLatestHaneulSystemState',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents({\n\t\tquery,\n\t\tcursor,\n\t\tlimit,\n\t\torder,\n\t\tsignal,\n\t}: QueryEventsParams): Promise<PaginatedEvents> {\n\t\tif (query && 'MoveEventType' in query && hasMvrName(query.MoveEventType)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveEventType: (\n\t\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\t\ttype: query.MoveEventType,\n\t\t\t\t\t})\n\t\t\t\t).type,\n\t\t\t};\n\t\t}\n\n\t\tif (query && 'MoveEventModule' in query && isValidNamedPackage(query.MoveEventModule.package)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveEventModule: {\n\t\t\t\t\tmodule: query.MoveEventModule.module,\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: query.MoveEventModule.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tif ('MoveModule' in query && isValidNamedPackage(query.MoveModule.package)) {\n\t\t\tquery = {\n\t\t\t\t...query,\n\t\t\t\tMoveModule: {\n\t\t\t\t\tmodule: query.MoveModule.module,\n\t\t\t\t\tpackage: (\n\t\t\t\t\t\tawait this.core.mvr.resolvePackage({\n\t\t\t\t\t\t\tpackage: query.MoveModule.package,\n\t\t\t\t\t\t})\n\t\t\t\t\t).package,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_queryEvents',\n\t\t\tparams: [query, cursor, limit, (order || 'descending') === 'descending'],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toBase64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toBase64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\tinput.signal?.throwIfAborted();\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toBase64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidHaneulObjectId(normalizeHaneulObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Haneul Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<HaneulObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber({\n\t\tsignal,\n\t}: GetLatestCheckpointSequenceNumberParams = {}): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'haneul_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getCheckpoint',\n\t\t\tparams: [input.id],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync getNetworkMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getNetworkMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getAddressMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getLatestAddressMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t\tsignal?: AbortSignal;\n\t\t} & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t\tsignal?: AbortSignal;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t\tsignal?: AbortSignal;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics({ signal }: { signal?: AbortSignal } = {}): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getMoveCallMetrics',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch({ signal }: { signal?: AbortSignal } = {}): Promise<EpochInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getCurrentEpoch',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy({ signal }: { signal?: AbortSignal } = {}): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_getValidatorsApy',\n\t\t\tparams: [],\n\t\t\tsignal,\n\t\t});\n\t}\n\n\t// TODO: Migrate this to `haneul_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier({ signal }: { signal?: AbortSignal } = {}): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0', signal });\n\t\tconst bytes = fromBase58(checkpoint.digest);\n\t\treturn toHex(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneulx_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'haneulx_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t\tsignal: input.signal,\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeHaneulNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t\tsignal: input?.signal,\n\t\t});\n\t}\n\n\tasync verifyZkLoginSignature(input: VerifyZkLoginSignatureParams): Promise<ZkLoginVerifyResult> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'haneul_verifyZkLoginSignature',\n\t\t\tparams: [input.bytes, input.signature, input.intentScope, input.author],\n\t\t\tsignal: input.signal,\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<\n\t\tHaneulJsonRpcClient['getTransactionBlock']\n\t>[0]): Promise<HaneulTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n}\n"],"mappings":"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"}
@@ -13,11 +13,11 @@ declare class JSONRpcCoreClient extends CoreClient {
13
13
  jsonRpcClient: HaneulJsonRpcClient;
14
14
  mvr?: HaneulClientTypes.MvrOptions;
15
15
  });
16
- getObjects<Include extends HaneulClientTypes.ObjectInclude = object>(options: HaneulClientTypes.GetObjectsOptions<Include>): Promise<{
16
+ getObjects<Include extends HaneulClientTypes.ObjectInclude = {}>(options: HaneulClientTypes.GetObjectsOptions<Include>): Promise<{
17
17
  objects: (Error | HaneulClientTypes.Object<Include>)[];
18
18
  }>;
19
- listOwnedObjects<Include extends HaneulClientTypes.ObjectInclude = object>(options: HaneulClientTypes.ListOwnedObjectsOptions<Include>): Promise<{
20
- objects: HaneulClientTypes.Object<Include>[];
19
+ listOwnedObjects<Include extends HaneulClientTypes.ObjectInclude = {}>(options: HaneulClientTypes.ListOwnedObjectsOptions<Include>): Promise<{
20
+ objects: HaneulClientTypes.Object<Include & HaneulClientTypes.ObjectInclude>[];
21
21
  hasNextPage: boolean;
22
22
  cursor: string | null;
23
23
  }>;
@@ -45,23 +45,16 @@ declare class JSONRpcCoreClient extends CoreClient {
45
45
  hasNextPage: boolean;
46
46
  cursor: null;
47
47
  }>;
48
- getTransaction<Include extends HaneulClientTypes.TransactionInclude = object>(options: HaneulClientTypes.GetTransactionOptions<Include>): Promise<HaneulClientTypes.TransactionResult<Include>>;
49
- executeTransaction<Include extends HaneulClientTypes.TransactionInclude = object>(options: HaneulClientTypes.ExecuteTransactionOptions<Include>): Promise<HaneulClientTypes.TransactionResult<Include>>;
50
- simulateTransaction<Include extends HaneulClientTypes.SimulateTransactionInclude = object>(options: HaneulClientTypes.SimulateTransactionOptions<Include>): Promise<HaneulClientTypes.SimulateTransactionResult<Include>>;
48
+ getTransaction<Include extends HaneulClientTypes.TransactionInclude = {}>(options: HaneulClientTypes.GetTransactionOptions<Include>): Promise<HaneulClientTypes.TransactionResult<Include>>;
49
+ executeTransaction<Include extends HaneulClientTypes.TransactionInclude = {}>(options: HaneulClientTypes.ExecuteTransactionOptions<Include>): Promise<HaneulClientTypes.TransactionResult<Include>>;
50
+ simulateTransaction<Include extends HaneulClientTypes.SimulateTransactionInclude = {}>(options: HaneulClientTypes.SimulateTransactionOptions<Include>): Promise<HaneulClientTypes.SimulateTransactionResult<Include>>;
51
51
  getReferenceGasPrice(options?: HaneulClientTypes.GetReferenceGasPriceOptions): Promise<{
52
52
  referenceGasPrice: string;
53
53
  }>;
54
+ getProtocolConfig(options?: HaneulClientTypes.GetProtocolConfigOptions): Promise<HaneulClientTypes.GetProtocolConfigResponse>;
54
55
  getCurrentSystemState(options?: HaneulClientTypes.GetCurrentSystemStateOptions): Promise<HaneulClientTypes.GetCurrentSystemStateResponse>;
55
56
  listDynamicFields(options: HaneulClientTypes.ListDynamicFieldsOptions): Promise<{
56
- dynamicFields: {
57
- fieldId: string;
58
- type: string;
59
- name: {
60
- type: string;
61
- bcs: Uint8Array<ArrayBuffer>;
62
- };
63
- valueType: string;
64
- }[];
57
+ dynamicFields: HaneulClientTypes.DynamicFieldEntry[];
65
58
  hasNextPage: boolean;
66
59
  cursor: string | null;
67
60
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.mts","names":[],"sources":["../../src/jsonRpc/core.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.mts","names":[],"sources":["../../src/jsonRpc/core.ts"],"mappings":";;;;;;cAyGa,iBAAA,SAA0B,UAAA;EAAA;;IAIrC,aAAA;IACA;EAAA;IAEA,aAAA,EAAe,mBAAA;IACf,GAAA,GAAM,iBAAA,CAAkB,UAAA;EAAA;EAMnB,UAAA,iBAA2B,iBAAA,CAAkB,aAAA,MAAA,CAClD,OAAA,EAAS,iBAAA,CAAkB,iBAAA,CAAkB,OAAA,IAAQ,OAAA;;;EAiChD,gBAAA,iBAAiC,iBAAA,CAAkB,aAAA,MAAA,CACxD,OAAA,EAAS,iBAAA,CAAkB,uBAAA,CAAwB,OAAA,IAAQ,OAAA;;;;;EA6CtD,SAAA,CAAU,OAAA,EAAS,iBAAA,CAAkB,gBAAA,GAAgB,OAAA;;;;;EA4BrD,UAAA,CAAW,OAAA,EAAS,iBAAA,CAAkB,iBAAA,GAAiB,OAAA;;;;;;;;EAmBvD,eAAA,CACL,OAAA,EAAS,iBAAA,CAAkB,sBAAA,GACzB,OAAA,CAAQ,iBAAA,CAAkB,uBAAA;EAwBvB,YAAA,CAAa,OAAA,EAAS,iBAAA,CAAkB,mBAAA,GAAmB,OAAA;;;;;;;;;;EAqB3D,cAAA,iBAA+B,iBAAA,CAAkB,kBAAA,MAAA,CACtD,OAAA,EAAS,iBAAA,CAAkB,qBAAA,CAAsB,OAAA,IAC/C,OAAA,CAAQ,iBAAA,CAAkB,iBAAA,CAAkB,OAAA;EAkBzC,kBAAA,iBAAmC,iBAAA,CAAkB,kBAAA,MAAA,CAC1D,OAAA,EAAS,iBAAA,CAAkB,yBAAA,CAA0B,OAAA,IACnD,OAAA,CAAQ,iBAAA,CAAkB,iBAAA,CAAkB,OAAA;EAmBzC,mBAAA,iBAAoC,iBAAA,CAAkB,0BAAA,MAAA,CAC3D,OAAA,EAAS,iBAAA,CAAkB,0BAAA,CAA2B,OAAA,IACpD,OAAA,CAAQ,iBAAA,CAAkB,yBAAA,CAA0B,OAAA;EAsIjD,oBAAA,CAAqB,OAAA,GAAU,iBAAA,CAAkB,2BAAA,GAA2B,OAAA;;;EAU5E,iBAAA,CACL,OAAA,GAAU,iBAAA,CAAkB,wBAAA,GAC1B,OAAA,CAAQ,iBAAA,CAAkB,yBAAA;EAgCvB,qBAAA,CACL,OAAA,GAAU,iBAAA,CAAkB,4BAAA,GAC1B,OAAA,CAAQ,iBAAA,CAAkB,6BAAA;EAwCvB,iBAAA,CAAkB,OAAA,EAAS,iBAAA,CAAkB,wBAAA,GAAwB,OAAA;;;;;EAmCrE,sBAAA,CAAuB,OAAA,EAAS,iBAAA,CAAkB,6BAAA,GAA6B,OAAA;;;;EAc/E,sBAAA,CACL,OAAA,EAAS,iBAAA,CAAkB,6BAAA,GACzB,OAAA,CAAQ,iBAAA,CAAkB,8BAAA;EAS7B,wBAAA,CAAA,UAAwB,kCAAA;EAIlB,eAAA,CACL,OAAA,EAAS,iBAAA,CAAkB,sBAAA,GACzB,OAAA,CAAQ,iBAAA,CAAkB,uBAAA;EA0BvB,kBAAA,CACL,QAAA,GAAW,iBAAA,CAAkB,yBAAA,GAC3B,OAAA,CAAQ,iBAAA,CAAkB,0BAAA;AAAA"}
@@ -1,6 +1,7 @@
1
1
  import { normalizeHaneulAddress, normalizeStructTag } from "../utils/haneul-types.mjs";
2
2
  import { TypeTagSerializer } from "../bcs/type-tag-serializer.mjs";
3
- import { bcs as suiBcs } from "../bcs/index.mjs";
3
+ import { bcs as haneulBcs } from "../bcs/index.mjs";
4
+ import { deriveDynamicFieldID } from "../utils/dynamic-fields.mjs";
4
5
  import { CoreClient } from "../client/core.mjs";
5
6
  import { TransactionDataBuilder } from "../transactions/TransactionData.mjs";
6
7
  import { formatMoveAbortMessage, parseTransactionBcs, parseTransactionEffectsBcs } from "../client/utils.mjs";
@@ -86,7 +87,8 @@ var JSONRpcCoreClient = class extends CoreClient {
86
87
  showBcs: options.include?.content || options.include?.objectBcs ? true : false,
87
88
  showPreviousTransaction: options.include?.previousTransaction || options.include?.objectBcs ? true : false,
88
89
  showStorageRebate: options.include?.objectBcs ?? false,
89
- showContent: options.include?.json ?? false
90
+ showContent: options.include?.json ?? false,
91
+ showDisplay: options.include?.display ?? false
90
92
  },
91
93
  signal: options.signal
92
94
  });
@@ -116,7 +118,8 @@ var JSONRpcCoreClient = class extends CoreClient {
116
118
  showBcs: options.include?.content || options.include?.objectBcs ? true : false,
117
119
  showPreviousTransaction: options.include?.previousTransaction || options.include?.objectBcs ? true : false,
118
120
  showStorageRebate: options.include?.objectBcs ?? false,
119
- showContent: options.include?.json ?? false
121
+ showContent: options.include?.json ?? false,
122
+ showDisplay: options.include?.display ?? false
120
123
  },
121
124
  filter,
122
125
  signal: options.signal
@@ -234,7 +237,10 @@ var JSONRpcCoreClient = class extends CoreClient {
234
237
  }), options.include);
235
238
  }
236
239
  async simulateTransaction(options) {
237
- if (!(options.transaction instanceof Uint8Array)) await options.transaction.prepareForSerialization({ client: this });
240
+ if (!(options.transaction instanceof Uint8Array)) await options.transaction.build({
241
+ client: this,
242
+ onlyTransactionKind: true
243
+ });
238
244
  const tx = Transaction.from(options.transaction);
239
245
  const data = options.transaction instanceof Uint8Array ? null : TransactionDataBuilder.restore(options.transaction.getData());
240
246
  const transactionBytes = data ? data.build({ overrides: { gasData: {
@@ -242,13 +248,31 @@ var JSONRpcCoreClient = class extends CoreClient {
242
248
  price: data.gasData.price ?? String(await this.#jsonRpcClient.getReferenceGasPrice()),
243
249
  payment: data.gasData.payment ?? []
244
250
  } } }) : options.transaction;
245
- const result = await this.#jsonRpcClient.dryRunTransactionBlock({
246
- transactionBlock: transactionBytes,
247
- signal: options.signal
248
- });
251
+ const sender = tx.getData().sender ?? normalizeHaneulAddress("0x0");
252
+ const checksDisabled = options.checksEnabled === false;
253
+ let dryRunResult = null;
254
+ try {
255
+ dryRunResult = await this.#jsonRpcClient.dryRunTransactionBlock({
256
+ transactionBlock: transactionBytes,
257
+ signal: options.signal
258
+ });
259
+ } catch (e) {
260
+ if (!checksDisabled) throw e;
261
+ }
262
+ let devInspectResult = null;
263
+ if (options.include?.commandResults || checksDisabled) try {
264
+ devInspectResult = await this.#jsonRpcClient.devInspectTransactionBlock({
265
+ sender,
266
+ transactionBlock: tx,
267
+ signal: options.signal
268
+ });
269
+ } catch {}
270
+ const dryRunFailed = !dryRunResult || dryRunResult.effects.status.status !== "success";
271
+ const effectsSource = checksDisabled && dryRunFailed && devInspectResult ? devInspectResult : dryRunResult ?? devInspectResult;
272
+ if (!effectsSource) throw new Error("simulateTransaction failed: no results from dryRun or devInspect");
249
273
  const { effects, objectTypes } = parseTransactionEffectsJson({
250
- effects: result.effects,
251
- objectChanges: result.objectChanges
274
+ effects: effectsSource.effects,
275
+ objectChanges: dryRunResult?.objectChanges ?? []
252
276
  });
253
277
  const transactionData = {
254
278
  digest: TransactionDataBuilder.getDigestFromBytes(transactionBytes),
@@ -259,32 +283,25 @@ var JSONRpcCoreClient = class extends CoreClient {
259
283
  signatures: [],
260
284
  transaction: options.include?.transaction ? parseTransactionBcs(options.transaction instanceof Uint8Array ? options.transaction : await options.transaction.build({ client: this }).catch(() => null)) : void 0,
261
285
  bcs: options.include?.bcs ? transactionBytes : void 0,
262
- balanceChanges: options.include?.balanceChanges ? result.balanceChanges.map((change) => ({
286
+ balanceChanges: options.include?.balanceChanges && dryRunResult ? dryRunResult.balanceChanges.map((change) => ({
263
287
  coinType: normalizeStructTag(change.coinType),
264
288
  address: parseOwnerAddress(change.owner),
265
289
  amount: change.amount
266
290
  })) : void 0,
267
- events: options.include?.events ? result.events?.map((event) => ({
291
+ events: options.include?.events ? effectsSource.events?.map((event) => ({
268
292
  packageId: event.packageId,
269
293
  module: event.transactionModule,
270
294
  sender: event.sender,
271
295
  eventType: event.type,
272
- bcs: "bcs" in event ? fromBase64(event.bcs) : new Uint8Array()
296
+ bcs: "bcs" in event ? fromBase64(event.bcs) : new Uint8Array(),
297
+ json: event.parsedJson ?? null
273
298
  })) ?? [] : void 0
274
299
  };
275
300
  let commandResults;
276
- if (options.include?.commandResults) try {
277
- const sender = tx.getData().sender ?? normalizeHaneulAddress("0x0");
278
- const devInspectResult = await this.#jsonRpcClient.devInspectTransactionBlock({
279
- sender,
280
- transactionBlock: tx,
281
- signal: options.signal
282
- });
283
- if (devInspectResult.results) commandResults = devInspectResult.results.map((result$1) => ({
284
- returnValues: (result$1.returnValues ?? []).map(([bytes]) => ({ bcs: new Uint8Array(bytes) })),
285
- mutatedReferences: (result$1.mutableReferenceOutputs ?? []).map(([, bytes]) => ({ bcs: new Uint8Array(bytes) }))
286
- }));
287
- } catch {}
301
+ if (options.include?.commandResults && devInspectResult?.results) commandResults = devInspectResult.results.map((result) => ({
302
+ returnValues: (result.returnValues ?? []).map(([bytes]) => ({ bcs: new Uint8Array(bytes) })),
303
+ mutatedReferences: (result.mutableReferenceOutputs ?? []).map(([, bytes]) => ({ bcs: new Uint8Array(bytes) }))
304
+ }));
288
305
  return effects.status.success ? {
289
306
  $kind: "Transaction",
290
307
  Transaction: transactionData,
@@ -299,6 +316,25 @@ var JSONRpcCoreClient = class extends CoreClient {
299
316
  const referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({ signal: options?.signal });
300
317
  return { referenceGasPrice: String(referenceGasPrice) };
301
318
  }
319
+ async getProtocolConfig(options) {
320
+ const result = await this.#jsonRpcClient.getProtocolConfig({ signal: options?.signal });
321
+ const attributes = {};
322
+ for (const [key, value] of Object.entries(result.attributes)) if (value === null) attributes[key] = null;
323
+ else if ("u16" in value) attributes[key] = value.u16;
324
+ else if ("u32" in value) attributes[key] = value.u32;
325
+ else if ("u64" in value) attributes[key] = value.u64;
326
+ else if ("f64" in value) attributes[key] = value.f64;
327
+ else if ("bool" in value) attributes[key] = value.bool;
328
+ else {
329
+ const entries = Object.entries(value);
330
+ attributes[key] = entries.length === 1 ? String(entries[0][1]) : JSON.stringify(value);
331
+ }
332
+ return { protocolConfig: {
333
+ protocolVersion: result.protocolVersion,
334
+ featureFlags: { ...result.featureFlags },
335
+ attributes
336
+ } };
337
+ }
302
338
  async getCurrentSystemState(options) {
303
339
  const systemState = await this.#jsonRpcClient.getLatestHaneulSystemState({ signal: options?.signal });
304
340
  return { systemState: {
@@ -341,15 +377,20 @@ var JSONRpcCoreClient = class extends CoreClient {
341
377
  });
342
378
  return {
343
379
  dynamicFields: dynamicFields.data.map((dynamicField) => {
344
- const fullType = dynamicField.type === "DynamicObject" ? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>, 0x2::object::ID>` : `0x2::dynamic_field::Field<${dynamicField.name.type}, ${dynamicField.objectType}>`;
380
+ const isDynamicObject = dynamicField.type === "DynamicObject";
381
+ const fullType = isDynamicObject ? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>, 0x2::object::ID>` : `0x2::dynamic_field::Field<${dynamicField.name.type}, ${dynamicField.objectType}>`;
382
+ const bcsBytes = fromBase64(dynamicField.bcsName);
383
+ const derivedNameType = isDynamicObject ? `0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>` : dynamicField.name.type;
345
384
  return {
346
- fieldId: dynamicField.objectId,
385
+ $kind: isDynamicObject ? "DynamicObject" : "DynamicField",
386
+ fieldId: deriveDynamicFieldID(options.parentId, derivedNameType, bcsBytes),
347
387
  type: normalizeStructTag(fullType),
348
388
  name: {
349
389
  type: dynamicField.name.type,
350
- bcs: fromBase64(dynamicField.bcsName)
390
+ bcs: bcsBytes
351
391
  },
352
- valueType: dynamicField.objectType
392
+ valueType: dynamicField.objectType,
393
+ childId: isDynamicObject ? dynamicField.objectId : void 0
353
394
  };
354
395
  }),
355
396
  hasNextPage: dynamicFields.hasNextPage,
@@ -423,7 +464,7 @@ function serializeObjectToBcs(object) {
423
464
  }
424
465
  const contents = fromBase64(object.bcs.bcsBytes);
425
466
  const owner = convertOwnerToBcs(object.owner);
426
- return suiBcs.Object.serialize({
467
+ return haneulBcs.Object.serialize({
427
468
  data: { Move: {
428
469
  type: moveObjectType,
429
470
  hasPublicTransfer: object.bcs.hasPublicTransfer,
@@ -443,6 +484,10 @@ function parseObject(object, include) {
443
484
  const objectBcs = include?.objectBcs ? serializeObjectToBcs(object) : void 0;
444
485
  const type = object.type && object.type.includes("::") ? normalizeStructTag(object.type) : object.type ?? "";
445
486
  const jsonContent = include?.json && object.content?.dataType === "moveObject" ? object.content.fields : include?.json ? null : void 0;
487
+ const displayData = include?.display ? object.display?.data != null ? {
488
+ output: object.display.data,
489
+ errors: null
490
+ } : null : void 0;
446
491
  return {
447
492
  objectId: object.objectId,
448
493
  version: object.version,
@@ -452,7 +497,8 @@ function parseObject(object, include) {
452
497
  owner: parseOwner(object.owner),
453
498
  previousTransaction: include?.previousTransaction ? object.previousTransaction ?? void 0 : void 0,
454
499
  objectBcs,
455
- json: jsonContent
500
+ json: jsonContent,
501
+ display: displayData
456
502
  };
457
503
  }
458
504
  function parseOwner(owner) {
@@ -509,10 +555,10 @@ function parseTransaction(transaction, include) {
509
555
  let signatures = [];
510
556
  let bcsBytes;
511
557
  if (transaction.rawTransaction) {
512
- const parsedTx = suiBcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction))[0];
558
+ const parsedTx = haneulBcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction))[0];
513
559
  signatures = parsedTx.txSignatures;
514
560
  if (include?.transaction || include?.bcs) {
515
- const bytes = suiBcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();
561
+ const bytes = haneulBcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();
516
562
  if (include?.bcs) bcsBytes = bytes;
517
563
  if (include?.transaction) transactionData = { ...TransactionDataBuilder.restore({
518
564
  version: 2,
@@ -552,7 +598,8 @@ function parseTransaction(transaction, include) {
552
598
  module: event.transactionModule,
553
599
  sender: event.sender,
554
600
  eventType: event.type,
555
- bcs: "bcs" in event ? fromBase64(event.bcs) : new Uint8Array()
601
+ bcs: "bcs" in event ? fromBase64(event.bcs) : new Uint8Array(),
602
+ json: event.parsedJson ?? null
556
603
  })) ?? [] : void 0
557
604
  };
558
605
  return status.success ? {