@mysten/sui 1.40.0 → 1.41.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 (524) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/client/index.d.ts +4 -4
  3. package/dist/cjs/client/index.js +6 -6
  4. package/dist/cjs/client/index.js.map +1 -1
  5. package/dist/cjs/experimental/core.js +1 -1
  6. package/dist/cjs/experimental/core.js.map +2 -2
  7. package/dist/cjs/faucet/faucet.d.ts +3 -3
  8. package/dist/cjs/faucet/faucet.js +1 -1
  9. package/dist/cjs/faucet/faucet.js.map +2 -2
  10. package/dist/cjs/graphql/client.d.ts +2 -2
  11. package/dist/cjs/graphql/client.js +2 -2
  12. package/dist/cjs/graphql/client.js.map +3 -3
  13. package/dist/cjs/{experimental/transports/graphql.d.ts → graphql/core.d.ts} +4 -4
  14. package/dist/cjs/{experimental/transports/graphql.js → graphql/core.js} +28 -28
  15. package/dist/cjs/graphql/core.js.map +7 -0
  16. package/dist/cjs/grpc/client.d.ts +31 -0
  17. package/dist/cjs/grpc/client.js +51 -0
  18. package/dist/cjs/grpc/client.js.map +7 -0
  19. package/dist/cjs/grpc/core.d.ts +27 -0
  20. package/dist/cjs/grpc/core.js +644 -0
  21. package/dist/cjs/grpc/core.js.map +7 -0
  22. package/dist/cjs/grpc/index.d.ts +4 -0
  23. package/dist/cjs/grpc/index.js +27 -0
  24. package/dist/cjs/grpc/index.js.map +7 -0
  25. package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +173 -0
  26. package/dist/cjs/grpc/proto/google/protobuf/any.js +139 -0
  27. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +7 -0
  28. package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +104 -0
  29. package/dist/cjs/grpc/proto/google/protobuf/duration.js +88 -0
  30. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +7 -0
  31. package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +25 -0
  32. package/dist/cjs/grpc/proto/google/protobuf/empty.js +31 -0
  33. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +7 -0
  34. package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
  35. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +73 -0
  36. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +7 -0
  37. package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +169 -0
  38. package/dist/cjs/grpc/proto/google/protobuf/struct.js +199 -0
  39. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +7 -0
  40. package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
  41. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +123 -0
  42. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +7 -0
  43. package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +525 -0
  44. package/dist/cjs/grpc/proto/google/rpc/error_details.js +332 -0
  45. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +7 -0
  46. package/dist/cjs/grpc/proto/google/rpc/status.d.ts +46 -0
  47. package/dist/cjs/grpc/proto/google/rpc/status.js +48 -0
  48. package/dist/cjs/grpc/proto/google/rpc/status.js.map +7 -0
  49. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/argument.d.ts +66 -0
  50. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/argument.js +71 -0
  51. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/argument.js.map +7 -0
  52. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/balance_change.d.ts +34 -0
  53. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/balance_change.js +56 -0
  54. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/balance_change.js.map +7 -0
  55. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/bcs.d.ts +30 -0
  56. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/bcs.js +48 -0
  57. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/bcs.js.map +7 -0
  58. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint.d.ts +55 -0
  59. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint.js +62 -0
  60. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint.js.map +7 -0
  61. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.d.ts +74 -0
  62. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js +89 -0
  63. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js.map +7 -0
  64. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.d.ts +195 -0
  65. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js +165 -0
  66. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js.map +7 -0
  67. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/effects.d.ts +333 -0
  68. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/effects.js +286 -0
  69. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/effects.js.map +7 -0
  70. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/epoch.d.ts +62 -0
  71. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/epoch.js +73 -0
  72. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/epoch.js.map +7 -0
  73. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/error_reason.d.ts +17 -0
  74. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/error_reason.js +30 -0
  75. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/error_reason.js.map +7 -0
  76. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/event.d.ts +88 -0
  77. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/event.js +86 -0
  78. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/event.js.map +7 -0
  79. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/executed_transaction.d.ts +85 -0
  80. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/executed_transaction.js +87 -0
  81. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/executed_transaction.js.map +7 -0
  82. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/execution_status.d.ts +843 -0
  83. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/execution_status.js +513 -0
  84. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/execution_status.js.map +7 -0
  85. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.d.ts +41 -0
  86. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js +64 -0
  87. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js.map +7 -0
  88. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/input.d.ts +98 -0
  89. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/input.js +90 -0
  90. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/input.js.map +7 -0
  91. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.client.d.ts +95 -0
  92. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js +127 -0
  93. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js.map +7 -0
  94. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.d.ts +420 -0
  95. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.js +327 -0
  96. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/ledger_service.js.map +7 -0
  97. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.client.d.ts +81 -0
  98. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js +0 -0
  99. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js.map +7 -0
  100. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.d.ts +808 -0
  101. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.js +652 -0
  102. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/live_data_service.js.map +7 -0
  103. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package.d.ts +579 -0
  104. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package.js +483 -0
  105. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package.js.map +7 -0
  106. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.client.d.ts +61 -0
  107. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js +86 -0
  108. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js.map +7 -0
  109. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.d.ts +229 -0
  110. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.js +226 -0
  111. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/move_package_service.js.map +7 -0
  112. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.client.d.ts +41 -0
  113. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.client.js +60 -0
  114. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.client.js.map +7 -0
  115. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.d.ts +144 -0
  116. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.js +138 -0
  117. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/name_service.js.map +7 -0
  118. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object.d.ts +107 -0
  119. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object.js +104 -0
  120. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object.js.map +7 -0
  121. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object_reference.d.ts +34 -0
  122. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object_reference.js +56 -0
  123. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/object_reference.js.map +7 -0
  124. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/owner.d.ts +61 -0
  125. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/owner.js +65 -0
  126. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/owner.js.map +7 -0
  127. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/protocol_config.d.ts +30 -0
  128. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/protocol_config.js +62 -0
  129. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/protocol_config.js.map +7 -0
  130. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature.d.ts +617 -0
  131. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature.js +509 -0
  132. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature.js.map +7 -0
  133. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_scheme.d.ts +40 -0
  134. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_scheme.js +34 -0
  135. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_scheme.js.map +7 -0
  136. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.d.ts +35 -0
  137. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js +49 -0
  138. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js.map +7 -0
  139. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.d.ts +79 -0
  140. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js +76 -0
  141. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js.map +7 -0
  142. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.client.d.ts +55 -0
  143. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js +59 -0
  144. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js.map +7 -0
  145. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.d.ts +57 -0
  146. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.js +63 -0
  147. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/subscription_service.js.map +7 -0
  148. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/system_state.d.ts +684 -0
  149. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/system_state.js +674 -0
  150. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/system_state.js.map +7 -0
  151. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction.d.ts +1301 -0
  152. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction.js +987 -0
  153. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction.js.map +7 -0
  154. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.d.ts +37 -0
  155. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js +50 -0
  156. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js.map +7 -0
  157. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.d.ts +115 -0
  158. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js +94 -0
  159. package/dist/cjs/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js.map +7 -0
  160. package/dist/cjs/{client → jsonRpc}/client.d.ts +12 -12
  161. package/dist/cjs/{client → jsonRpc}/client.js +9 -9
  162. package/dist/cjs/jsonRpc/client.js.map +7 -0
  163. package/dist/cjs/{experimental/transports/jsonRPC.d.ts → jsonRpc/core.d.ts} +7 -7
  164. package/dist/cjs/{experimental/transports/jsonRPC.js → jsonRpc/core.js} +18 -18
  165. package/dist/cjs/jsonRpc/core.js.map +7 -0
  166. package/dist/cjs/{client → jsonRpc}/errors.js.map +1 -1
  167. package/dist/{esm/client → cjs/jsonRpc}/http-transport.d.ts +10 -10
  168. package/dist/cjs/{client → jsonRpc}/http-transport.js +6 -6
  169. package/dist/cjs/jsonRpc/http-transport.js.map +7 -0
  170. package/dist/cjs/jsonRpc/index.d.ts +4 -0
  171. package/dist/cjs/jsonRpc/index.js +32 -0
  172. package/dist/cjs/jsonRpc/index.js.map +7 -0
  173. package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +4 -0
  174. package/dist/cjs/{experimental/transports → jsonRpc}/json-rpc-resolver.js +6 -6
  175. package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +7 -0
  176. package/dist/cjs/{client → jsonRpc}/rpc-websocket-client.js.map +1 -1
  177. package/dist/cjs/{client → jsonRpc}/types/chain.js.map +1 -1
  178. package/dist/cjs/{client → jsonRpc}/types/changes.js.map +1 -1
  179. package/dist/cjs/{client → jsonRpc}/types/coins.js.map +1 -1
  180. package/dist/cjs/{client → jsonRpc}/types/common.js.map +1 -1
  181. package/dist/cjs/{client → jsonRpc}/types/generated.js.map +1 -1
  182. package/dist/cjs/{client → jsonRpc}/types/index.js.map +1 -1
  183. package/dist/cjs/{client → jsonRpc}/types/params.js.map +1 -1
  184. package/dist/cjs/multisig/signer.d.ts +1 -0
  185. package/dist/cjs/multisig/signer.js +1 -0
  186. package/dist/cjs/multisig/signer.js.map +2 -2
  187. package/dist/cjs/transactions/ObjectCache.js +1 -1
  188. package/dist/cjs/transactions/ObjectCache.js.map +2 -2
  189. package/dist/cjs/transactions/Transaction.js +2 -2
  190. package/dist/cjs/transactions/Transaction.js.map +2 -2
  191. package/dist/cjs/transactions/resolve.js +2 -2
  192. package/dist/cjs/transactions/resolve.js.map +2 -2
  193. package/dist/cjs/utils/sui-types.js +1 -1
  194. package/dist/cjs/utils/sui-types.js.map +2 -2
  195. package/dist/cjs/version.d.ts +1 -1
  196. package/dist/cjs/version.js +1 -1
  197. package/dist/cjs/version.js.map +1 -1
  198. package/dist/cjs/zklogin/jwt-decode.js +1 -1
  199. package/dist/cjs/zklogin/jwt-decode.js.map +2 -2
  200. package/dist/esm/client/index.d.ts +4 -4
  201. package/dist/esm/client/index.js +9 -9
  202. package/dist/esm/client/index.js.map +2 -2
  203. package/dist/esm/experimental/core.js +1 -1
  204. package/dist/esm/experimental/core.js.map +2 -2
  205. package/dist/esm/faucet/faucet.d.ts +3 -3
  206. package/dist/esm/faucet/faucet.js +1 -1
  207. package/dist/esm/faucet/faucet.js.map +2 -2
  208. package/dist/esm/graphql/client.d.ts +2 -2
  209. package/dist/esm/graphql/client.js +2 -2
  210. package/dist/esm/graphql/client.js.map +2 -2
  211. package/dist/esm/{experimental/transports/graphql.d.ts → graphql/core.d.ts} +4 -4
  212. package/dist/esm/{experimental/transports/graphql.js → graphql/core.js} +28 -25
  213. package/dist/esm/graphql/core.js.map +7 -0
  214. package/dist/esm/grpc/client.d.ts +31 -0
  215. package/dist/esm/grpc/client.js +31 -0
  216. package/dist/esm/grpc/client.js.map +7 -0
  217. package/dist/esm/grpc/core.d.ts +27 -0
  218. package/dist/esm/grpc/core.js +633 -0
  219. package/dist/esm/grpc/core.js.map +7 -0
  220. package/dist/esm/grpc/index.d.ts +4 -0
  221. package/dist/esm/grpc/index.js +7 -0
  222. package/dist/esm/grpc/index.js.map +7 -0
  223. package/dist/esm/grpc/proto/google/protobuf/any.d.ts +173 -0
  224. package/dist/esm/grpc/proto/google/protobuf/any.js +119 -0
  225. package/dist/esm/grpc/proto/google/protobuf/any.js.map +7 -0
  226. package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +104 -0
  227. package/dist/esm/grpc/proto/google/protobuf/duration.js +68 -0
  228. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +7 -0
  229. package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +25 -0
  230. package/dist/esm/grpc/proto/google/protobuf/empty.js +11 -0
  231. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +7 -0
  232. package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
  233. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +53 -0
  234. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +7 -0
  235. package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +169 -0
  236. package/dist/esm/grpc/proto/google/protobuf/struct.js +179 -0
  237. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +7 -0
  238. package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
  239. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +103 -0
  240. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +7 -0
  241. package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +525 -0
  242. package/dist/esm/grpc/proto/google/rpc/error_details.js +312 -0
  243. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +7 -0
  244. package/dist/esm/grpc/proto/google/rpc/status.d.ts +46 -0
  245. package/dist/esm/grpc/proto/google/rpc/status.js +28 -0
  246. package/dist/esm/grpc/proto/google/rpc/status.js.map +7 -0
  247. package/dist/esm/grpc/proto/sui/rpc/v2beta2/argument.d.ts +66 -0
  248. package/dist/esm/grpc/proto/sui/rpc/v2beta2/argument.js +51 -0
  249. package/dist/esm/grpc/proto/sui/rpc/v2beta2/argument.js.map +7 -0
  250. package/dist/esm/grpc/proto/sui/rpc/v2beta2/balance_change.d.ts +34 -0
  251. package/dist/esm/grpc/proto/sui/rpc/v2beta2/balance_change.js +36 -0
  252. package/dist/esm/grpc/proto/sui/rpc/v2beta2/balance_change.js.map +7 -0
  253. package/dist/esm/grpc/proto/sui/rpc/v2beta2/bcs.d.ts +30 -0
  254. package/dist/esm/grpc/proto/sui/rpc/v2beta2/bcs.js +28 -0
  255. package/dist/esm/grpc/proto/sui/rpc/v2beta2/bcs.js.map +7 -0
  256. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint.d.ts +55 -0
  257. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint.js +42 -0
  258. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint.js.map +7 -0
  259. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.d.ts +74 -0
  260. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js +69 -0
  261. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.js.map +7 -0
  262. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.d.ts +195 -0
  263. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js +145 -0
  264. package/dist/esm/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.js.map +7 -0
  265. package/dist/esm/grpc/proto/sui/rpc/v2beta2/effects.d.ts +333 -0
  266. package/dist/esm/grpc/proto/sui/rpc/v2beta2/effects.js +266 -0
  267. package/dist/esm/grpc/proto/sui/rpc/v2beta2/effects.js.map +7 -0
  268. package/dist/esm/grpc/proto/sui/rpc/v2beta2/epoch.d.ts +62 -0
  269. package/dist/esm/grpc/proto/sui/rpc/v2beta2/epoch.js +53 -0
  270. package/dist/esm/grpc/proto/sui/rpc/v2beta2/epoch.js.map +7 -0
  271. package/dist/esm/grpc/proto/sui/rpc/v2beta2/error_reason.d.ts +17 -0
  272. package/dist/esm/grpc/proto/sui/rpc/v2beta2/error_reason.js +10 -0
  273. package/dist/esm/grpc/proto/sui/rpc/v2beta2/error_reason.js.map +7 -0
  274. package/dist/esm/grpc/proto/sui/rpc/v2beta2/event.d.ts +88 -0
  275. package/dist/esm/grpc/proto/sui/rpc/v2beta2/event.js +66 -0
  276. package/dist/esm/grpc/proto/sui/rpc/v2beta2/event.js.map +7 -0
  277. package/dist/esm/grpc/proto/sui/rpc/v2beta2/executed_transaction.d.ts +85 -0
  278. package/dist/esm/grpc/proto/sui/rpc/v2beta2/executed_transaction.js +67 -0
  279. package/dist/esm/grpc/proto/sui/rpc/v2beta2/executed_transaction.js.map +7 -0
  280. package/dist/esm/grpc/proto/sui/rpc/v2beta2/execution_status.d.ts +843 -0
  281. package/dist/esm/grpc/proto/sui/rpc/v2beta2/execution_status.js +493 -0
  282. package/dist/esm/grpc/proto/sui/rpc/v2beta2/execution_status.js.map +7 -0
  283. package/dist/esm/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.d.ts +41 -0
  284. package/dist/esm/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js +44 -0
  285. package/dist/esm/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.js.map +7 -0
  286. package/dist/esm/grpc/proto/sui/rpc/v2beta2/input.d.ts +98 -0
  287. package/dist/esm/grpc/proto/sui/rpc/v2beta2/input.js +70 -0
  288. package/dist/esm/grpc/proto/sui/rpc/v2beta2/input.js.map +7 -0
  289. package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.client.d.ts +95 -0
  290. package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js +107 -0
  291. package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.client.js.map +7 -0
  292. package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.d.ts +420 -0
  293. package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.js +307 -0
  294. package/dist/esm/grpc/proto/sui/rpc/v2beta2/ledger_service.js.map +7 -0
  295. package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.client.d.ts +81 -0
  296. package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js +92 -0
  297. package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.client.js.map +7 -0
  298. package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.d.ts +808 -0
  299. package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.js +632 -0
  300. package/dist/esm/grpc/proto/sui/rpc/v2beta2/live_data_service.js.map +7 -0
  301. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package.d.ts +579 -0
  302. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package.js +463 -0
  303. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package.js.map +7 -0
  304. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.client.d.ts +61 -0
  305. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js +66 -0
  306. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.client.js.map +7 -0
  307. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.d.ts +229 -0
  308. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.js +206 -0
  309. package/dist/esm/grpc/proto/sui/rpc/v2beta2/move_package_service.js.map +7 -0
  310. package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.client.d.ts +41 -0
  311. package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.client.js +40 -0
  312. package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.client.js.map +7 -0
  313. package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.d.ts +144 -0
  314. package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.js +118 -0
  315. package/dist/esm/grpc/proto/sui/rpc/v2beta2/name_service.js.map +7 -0
  316. package/dist/esm/grpc/proto/sui/rpc/v2beta2/object.d.ts +107 -0
  317. package/dist/esm/grpc/proto/sui/rpc/v2beta2/object.js +84 -0
  318. package/dist/esm/grpc/proto/sui/rpc/v2beta2/object.js.map +7 -0
  319. package/dist/esm/grpc/proto/sui/rpc/v2beta2/object_reference.d.ts +34 -0
  320. package/dist/esm/grpc/proto/sui/rpc/v2beta2/object_reference.js +36 -0
  321. package/dist/esm/grpc/proto/sui/rpc/v2beta2/object_reference.js.map +7 -0
  322. package/dist/esm/grpc/proto/sui/rpc/v2beta2/owner.d.ts +61 -0
  323. package/dist/esm/grpc/proto/sui/rpc/v2beta2/owner.js +45 -0
  324. package/dist/esm/grpc/proto/sui/rpc/v2beta2/owner.js.map +7 -0
  325. package/dist/esm/grpc/proto/sui/rpc/v2beta2/protocol_config.d.ts +30 -0
  326. package/dist/esm/grpc/proto/sui/rpc/v2beta2/protocol_config.js +42 -0
  327. package/dist/esm/grpc/proto/sui/rpc/v2beta2/protocol_config.js.map +7 -0
  328. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature.d.ts +617 -0
  329. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature.js +489 -0
  330. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature.js.map +7 -0
  331. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_scheme.d.ts +40 -0
  332. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_scheme.js +14 -0
  333. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_scheme.js.map +7 -0
  334. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.d.ts +35 -0
  335. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js +29 -0
  336. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.js.map +7 -0
  337. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.d.ts +79 -0
  338. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js +56 -0
  339. package/dist/esm/grpc/proto/sui/rpc/v2beta2/signature_verification_service.js.map +7 -0
  340. package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.client.d.ts +55 -0
  341. package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js +39 -0
  342. package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.client.js.map +7 -0
  343. package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.d.ts +57 -0
  344. package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.js +43 -0
  345. package/dist/esm/grpc/proto/sui/rpc/v2beta2/subscription_service.js.map +7 -0
  346. package/dist/esm/grpc/proto/sui/rpc/v2beta2/system_state.d.ts +684 -0
  347. package/dist/esm/grpc/proto/sui/rpc/v2beta2/system_state.js +654 -0
  348. package/dist/esm/grpc/proto/sui/rpc/v2beta2/system_state.js.map +7 -0
  349. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction.d.ts +1301 -0
  350. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction.js +967 -0
  351. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction.js.map +7 -0
  352. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.d.ts +37 -0
  353. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js +30 -0
  354. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.js.map +7 -0
  355. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.d.ts +115 -0
  356. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js +74 -0
  357. package/dist/esm/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.js.map +7 -0
  358. package/dist/esm/{client → jsonRpc}/client.d.ts +12 -12
  359. package/dist/esm/{client → jsonRpc}/client.js +10 -10
  360. package/dist/esm/jsonRpc/client.js.map +7 -0
  361. package/dist/esm/{experimental/transports/jsonRPC.d.ts → jsonRpc/core.d.ts} +7 -7
  362. package/dist/esm/{experimental/transports/jsonRPC.js → jsonRpc/core.js} +12 -12
  363. package/dist/esm/jsonRpc/core.js.map +7 -0
  364. package/dist/esm/{client → jsonRpc}/errors.js.map +1 -1
  365. package/dist/{cjs/client → esm/jsonRpc}/http-transport.d.ts +10 -10
  366. package/dist/esm/{client → jsonRpc}/http-transport.js +6 -6
  367. package/dist/esm/jsonRpc/http-transport.js.map +7 -0
  368. package/dist/esm/jsonRpc/index.d.ts +4 -0
  369. package/dist/esm/jsonRpc/index.js +17 -0
  370. package/dist/esm/jsonRpc/index.js.map +7 -0
  371. package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +4 -0
  372. package/dist/esm/{experimental/transports → jsonRpc}/json-rpc-resolver.js +6 -6
  373. package/dist/esm/jsonRpc/json-rpc-resolver.js.map +7 -0
  374. package/dist/esm/{client → jsonRpc}/rpc-websocket-client.js.map +1 -1
  375. package/dist/esm/multisig/signer.d.ts +1 -0
  376. package/dist/esm/multisig/signer.js +1 -0
  377. package/dist/esm/multisig/signer.js.map +2 -2
  378. package/dist/esm/transactions/ObjectCache.js +1 -1
  379. package/dist/esm/transactions/ObjectCache.js.map +2 -2
  380. package/dist/esm/transactions/Transaction.js +2 -2
  381. package/dist/esm/transactions/Transaction.js.map +2 -2
  382. package/dist/esm/transactions/resolve.js +2 -2
  383. package/dist/esm/transactions/resolve.js.map +2 -2
  384. package/dist/esm/utils/sui-types.js +1 -1
  385. package/dist/esm/utils/sui-types.js.map +2 -2
  386. package/dist/esm/version.d.ts +1 -1
  387. package/dist/esm/version.js +1 -1
  388. package/dist/esm/version.js.map +1 -1
  389. package/dist/esm/zklogin/jwt-decode.js +1 -1
  390. package/dist/esm/zklogin/jwt-decode.js.map +2 -2
  391. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  392. package/dist/tsconfig.tsbuildinfo +1 -1
  393. package/grpc/package.json +6 -0
  394. package/jsonRpc/package.json +6 -0
  395. package/package.json +20 -3
  396. package/src/client/index.ts +12 -12
  397. package/src/experimental/core.ts +1 -1
  398. package/src/faucet/faucet.ts +4 -4
  399. package/src/graphql/client.ts +3 -3
  400. package/src/{experimental/transports/graphql.ts → graphql/core.ts} +14 -11
  401. package/src/grpc/client.ts +59 -0
  402. package/src/grpc/core.ts +727 -0
  403. package/src/grpc/index.ts +7 -0
  404. package/src/grpc/proto/google/protobuf/any.ts +296 -0
  405. package/src/grpc/proto/google/protobuf/duration.ts +187 -0
  406. package/src/grpc/proto/google/protobuf/empty.ts +64 -0
  407. package/src/grpc/proto/google/protobuf/field_mask.ts +309 -0
  408. package/src/grpc/proto/google/protobuf/struct.ts +327 -0
  409. package/src/grpc/proto/google/protobuf/timestamp.ts +260 -0
  410. package/src/grpc/proto/google/rpc/error_details.ts +667 -0
  411. package/src/grpc/proto/google/rpc/status.ts +74 -0
  412. package/src/grpc/proto/sui/rpc/v2beta2/argument.ts +90 -0
  413. package/src/grpc/proto/sui/rpc/v2beta2/balance_change.ts +51 -0
  414. package/src/grpc/proto/sui/rpc/v2beta2/bcs.ts +46 -0
  415. package/src/grpc/proto/sui/rpc/v2beta2/checkpoint.ts +88 -0
  416. package/src/grpc/proto/sui/rpc/v2beta2/checkpoint_contents.ts +111 -0
  417. package/src/grpc/proto/sui/rpc/v2beta2/checkpoint_summary.ts +295 -0
  418. package/src/grpc/proto/sui/rpc/v2beta2/effects.ts +479 -0
  419. package/src/grpc/proto/sui/rpc/v2beta2/epoch.ts +113 -0
  420. package/src/grpc/proto/sui/rpc/v2beta2/error_reason.ts +28 -0
  421. package/src/grpc/proto/sui/rpc/v2beta2/event.ts +115 -0
  422. package/src/grpc/proto/sui/rpc/v2beta2/executed_transaction.ts +140 -0
  423. package/src/grpc/proto/sui/rpc/v2beta2/execution_status.ts +1079 -0
  424. package/src/grpc/proto/sui/rpc/v2beta2/gas_cost_summary.ts +87 -0
  425. package/src/grpc/proto/sui/rpc/v2beta2/input.ts +132 -0
  426. package/src/grpc/proto/sui/rpc/v2beta2/ledger_service.client.ts +217 -0
  427. package/src/grpc/proto/sui/rpc/v2beta2/ledger_service.ts +625 -0
  428. package/src/grpc/proto/sui/rpc/v2beta2/live_data_service.client.ts +187 -0
  429. package/src/grpc/proto/sui/rpc/v2beta2/live_data_service.ts +1066 -0
  430. package/src/grpc/proto/sui/rpc/v2beta2/move_package.ts +803 -0
  431. package/src/grpc/proto/sui/rpc/v2beta2/move_package_service.client.ts +135 -0
  432. package/src/grpc/proto/sui/rpc/v2beta2/move_package_service.ts +315 -0
  433. package/src/grpc/proto/sui/rpc/v2beta2/name_service.client.ts +83 -0
  434. package/src/grpc/proto/sui/rpc/v2beta2/name_service.ts +198 -0
  435. package/src/grpc/proto/sui/rpc/v2beta2/object.ts +161 -0
  436. package/src/grpc/proto/sui/rpc/v2beta2/object_reference.ts +58 -0
  437. package/src/grpc/proto/sui/rpc/v2beta2/owner.ts +91 -0
  438. package/src/grpc/proto/sui/rpc/v2beta2/protocol_config.ts +66 -0
  439. package/src/grpc/proto/sui/rpc/v2beta2/signature.ts +861 -0
  440. package/src/grpc/proto/sui/rpc/v2beta2/signature_scheme.ts +51 -0
  441. package/src/grpc/proto/sui/rpc/v2beta2/signature_verification_service.client.ts +63 -0
  442. package/src/grpc/proto/sui/rpc/v2beta2/signature_verification_service.ts +106 -0
  443. package/src/grpc/proto/sui/rpc/v2beta2/subscription_service.client.ts +81 -0
  444. package/src/grpc/proto/sui/rpc/v2beta2/subscription_service.ts +93 -0
  445. package/src/grpc/proto/sui/rpc/v2beta2/system_state.ts +1184 -0
  446. package/src/grpc/proto/sui/rpc/v2beta2/transaction.ts +2012 -0
  447. package/src/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.client.ts +65 -0
  448. package/src/grpc/proto/sui/rpc/v2beta2/transaction_execution_service.ts +178 -0
  449. package/src/{client → jsonRpc}/client.ts +21 -16
  450. package/src/{experimental/transports/jsonRPC.ts → jsonRpc/core.ts} +15 -15
  451. package/src/{client → jsonRpc}/http-transport.ts +13 -11
  452. package/src/jsonRpc/index.ts +20 -0
  453. package/src/{experimental/transports → jsonRpc}/json-rpc-resolver.ts +17 -14
  454. package/src/multisig/signer.ts +1 -0
  455. package/src/transactions/ObjectCache.ts +1 -1
  456. package/src/transactions/Transaction.ts +2 -2
  457. package/src/transactions/resolve.ts +3 -3
  458. package/src/utils/sui-types.ts +1 -1
  459. package/src/version.ts +1 -1
  460. package/src/zklogin/jwt-decode.ts +2 -1
  461. package/dist/cjs/client/client.js.map +0 -7
  462. package/dist/cjs/client/http-transport.js.map +0 -7
  463. package/dist/cjs/experimental/transports/graphql.js.map +0 -7
  464. package/dist/cjs/experimental/transports/json-rpc-resolver.d.ts +0 -4
  465. package/dist/cjs/experimental/transports/json-rpc-resolver.js.map +0 -7
  466. package/dist/cjs/experimental/transports/jsonRPC.js.map +0 -7
  467. package/dist/esm/client/client.js.map +0 -7
  468. package/dist/esm/client/http-transport.js.map +0 -7
  469. package/dist/esm/experimental/transports/graphql.js.map +0 -7
  470. package/dist/esm/experimental/transports/json-rpc-resolver.d.ts +0 -4
  471. package/dist/esm/experimental/transports/json-rpc-resolver.js.map +0 -7
  472. package/dist/esm/experimental/transports/jsonRPC.js.map +0 -7
  473. /package/dist/cjs/{client → jsonRpc}/errors.d.ts +0 -0
  474. /package/dist/cjs/{client → jsonRpc}/errors.js +0 -0
  475. /package/dist/cjs/{client → jsonRpc}/rpc-websocket-client.d.ts +0 -0
  476. /package/dist/cjs/{client → jsonRpc}/rpc-websocket-client.js +0 -0
  477. /package/dist/cjs/{client → jsonRpc}/types/chain.d.ts +0 -0
  478. /package/dist/cjs/{client → jsonRpc}/types/chain.js +0 -0
  479. /package/dist/cjs/{client → jsonRpc}/types/changes.d.ts +0 -0
  480. /package/dist/cjs/{client → jsonRpc}/types/changes.js +0 -0
  481. /package/dist/cjs/{client → jsonRpc}/types/coins.d.ts +0 -0
  482. /package/dist/cjs/{client → jsonRpc}/types/coins.js +0 -0
  483. /package/dist/cjs/{client → jsonRpc}/types/common.d.ts +0 -0
  484. /package/dist/cjs/{client → jsonRpc}/types/common.js +0 -0
  485. /package/dist/cjs/{client → jsonRpc}/types/generated.d.ts +0 -0
  486. /package/dist/cjs/{client → jsonRpc}/types/generated.js +0 -0
  487. /package/dist/cjs/{client → jsonRpc}/types/index.d.ts +0 -0
  488. /package/dist/cjs/{client → jsonRpc}/types/index.js +0 -0
  489. /package/dist/cjs/{client → jsonRpc}/types/params.d.ts +0 -0
  490. /package/dist/cjs/{client → jsonRpc}/types/params.js +0 -0
  491. /package/dist/esm/{client → jsonRpc}/errors.d.ts +0 -0
  492. /package/dist/esm/{client → jsonRpc}/errors.js +0 -0
  493. /package/dist/esm/{client → jsonRpc}/rpc-websocket-client.d.ts +0 -0
  494. /package/dist/esm/{client → jsonRpc}/rpc-websocket-client.js +0 -0
  495. /package/dist/esm/{client → jsonRpc}/types/chain.d.ts +0 -0
  496. /package/dist/esm/{client → jsonRpc}/types/chain.js +0 -0
  497. /package/dist/esm/{client → jsonRpc}/types/chain.js.map +0 -0
  498. /package/dist/esm/{client → jsonRpc}/types/changes.d.ts +0 -0
  499. /package/dist/esm/{client → jsonRpc}/types/changes.js +0 -0
  500. /package/dist/esm/{client → jsonRpc}/types/changes.js.map +0 -0
  501. /package/dist/esm/{client → jsonRpc}/types/coins.d.ts +0 -0
  502. /package/dist/esm/{client → jsonRpc}/types/coins.js +0 -0
  503. /package/dist/esm/{client → jsonRpc}/types/coins.js.map +0 -0
  504. /package/dist/esm/{client → jsonRpc}/types/common.d.ts +0 -0
  505. /package/dist/esm/{client → jsonRpc}/types/common.js +0 -0
  506. /package/dist/esm/{client → jsonRpc}/types/common.js.map +0 -0
  507. /package/dist/esm/{client → jsonRpc}/types/generated.d.ts +0 -0
  508. /package/dist/esm/{client → jsonRpc}/types/generated.js +0 -0
  509. /package/dist/esm/{client → jsonRpc}/types/generated.js.map +0 -0
  510. /package/dist/esm/{client → jsonRpc}/types/index.d.ts +0 -0
  511. /package/dist/esm/{client → jsonRpc}/types/index.js +0 -0
  512. /package/dist/esm/{client → jsonRpc}/types/index.js.map +0 -0
  513. /package/dist/esm/{client → jsonRpc}/types/params.d.ts +0 -0
  514. /package/dist/esm/{client → jsonRpc}/types/params.js +0 -0
  515. /package/dist/esm/{client → jsonRpc}/types/params.js.map +0 -0
  516. /package/src/{client → jsonRpc}/errors.ts +0 -0
  517. /package/src/{client → jsonRpc}/rpc-websocket-client.ts +0 -0
  518. /package/src/{client → jsonRpc}/types/chain.ts +0 -0
  519. /package/src/{client → jsonRpc}/types/changes.ts +0 -0
  520. /package/src/{client → jsonRpc}/types/coins.ts +0 -0
  521. /package/src/{client → jsonRpc}/types/common.ts +0 -0
  522. /package/src/{client → jsonRpc}/types/generated.ts +0 -0
  523. /package/src/{client → jsonRpc}/types/index.ts +0 -0
  524. /package/src/{client → jsonRpc}/types/params.ts +0 -0
@@ -0,0 +1,727 @@
1
+ // Copyright (c) Mysten Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type {
5
+ Experimental_CoreClientOptions,
6
+ Experimental_SuiClientTypes,
7
+ } from '../experimental/index.js';
8
+ import { Experimental_CoreClient } from '../experimental/index.js';
9
+ import type { SuiGrpcClient } from './client.js';
10
+ import type { Owner } from './proto/sui/rpc/v2beta2/owner.js';
11
+ import { Owner_OwnerKind } from './proto/sui/rpc/v2beta2/owner.js';
12
+ import { chunk, fromBase64, toBase64 } from '@mysten/utils';
13
+ import type { ExecutedTransaction } from './proto/sui/rpc/v2beta2/executed_transaction.js';
14
+ import type { TransactionEffects } from './proto/sui/rpc/v2beta2/effects.js';
15
+ import { UnchangedConsensusObject_UnchangedConsensusObjectKind } from './proto/sui/rpc/v2beta2/effects.js';
16
+ import {
17
+ ChangedObject_IdOperation,
18
+ ChangedObject_InputObjectState,
19
+ ChangedObject_OutputObjectState,
20
+ } from './proto/sui/rpc/v2beta2/effects.js';
21
+ import { TransactionDataBuilder } from '../transactions/index.js';
22
+ import { bcs } from '../bcs/index.js';
23
+ import type { OpenSignature, OpenSignatureBody } from './proto/sui/rpc/v2beta2/move_package.js';
24
+ import {
25
+ Ability,
26
+ FunctionDescriptor_Visibility,
27
+ OpenSignature_Reference,
28
+ OpenSignatureBody_Type,
29
+ } from './proto/sui/rpc/v2beta2/move_package.js';
30
+ export interface GrpcCoreClientOptions extends Experimental_CoreClientOptions {
31
+ client: SuiGrpcClient;
32
+ }
33
+ export class GrpcCoreClient extends Experimental_CoreClient {
34
+ #client: SuiGrpcClient;
35
+ constructor({ client, ...options }: GrpcCoreClientOptions) {
36
+ super(options);
37
+ this.#client = client;
38
+ }
39
+
40
+ async getObjects(
41
+ options: Experimental_SuiClientTypes.GetObjectsOptions,
42
+ ): Promise<Experimental_SuiClientTypes.GetObjectsResponse> {
43
+ const batches = chunk(options.objectIds, 50);
44
+ const results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];
45
+
46
+ for (const batch of batches) {
47
+ const response = await this.#client.ledgerService.batchGetObjects({
48
+ requests: batch.map((id) => ({ objectId: id })),
49
+ readMask: {
50
+ paths: [
51
+ 'owner',
52
+ 'object_type',
53
+ 'bcs',
54
+ 'digest',
55
+ 'version',
56
+ 'object_id',
57
+ 'previous_transaction',
58
+ ],
59
+ },
60
+ });
61
+
62
+ results.push(
63
+ ...response.response.objects.map(
64
+ (object): Experimental_SuiClientTypes.ObjectResponse | Error => {
65
+ if (object.result.oneofKind === 'error') {
66
+ // TODO: improve error handling
67
+ return new Error(object.result.error.message);
68
+ }
69
+
70
+ if (object.result.oneofKind !== 'object') {
71
+ return new Error('Unexpected result type');
72
+ }
73
+
74
+ return {
75
+ id: object.result.object.objectId!,
76
+ version: object.result.object.version?.toString()!,
77
+ digest: object.result.object.digest!,
78
+ // TODO: bcs content is not returned in all cases
79
+ content: Promise.resolve(object.result.object.bcs?.value!),
80
+ owner: mapOwner(object.result.object.owner)!,
81
+ type: object.result.object.objectType!,
82
+ previousTransaction: object.result.object.previousTransaction ?? null,
83
+ };
84
+ },
85
+ ),
86
+ );
87
+ }
88
+
89
+ return {
90
+ objects: results,
91
+ };
92
+ }
93
+ async getOwnedObjects(
94
+ options: Experimental_SuiClientTypes.GetOwnedObjectsOptions,
95
+ ): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse> {
96
+ const response = await this.#client.liveDataService.listOwnedObjects({
97
+ owner: options.address,
98
+ objectType: options.type
99
+ ? (await this.mvr.resolveType({ type: options.type })).type
100
+ : undefined,
101
+ pageToken: options.cursor ? fromBase64(options.cursor) : undefined,
102
+ readMask: {
103
+ paths: [
104
+ 'owner',
105
+ 'object_type',
106
+ 'bcs',
107
+ 'digest',
108
+ 'version',
109
+ 'object_id',
110
+ 'previous_transaction',
111
+ ],
112
+ },
113
+ });
114
+
115
+ const objects = response.response.objects.map(
116
+ (object): Experimental_SuiClientTypes.ObjectResponse => ({
117
+ id: object.objectId!,
118
+ version: object.version?.toString()!,
119
+ digest: object.digest!,
120
+ // TODO: List owned objects doesn't return content right now
121
+ get content() {
122
+ return Promise.reject(
123
+ new Error('GRPC does not return object contents when listing owned objects'),
124
+ );
125
+ },
126
+ owner: mapOwner(object.owner)!,
127
+ type: object.objectType!,
128
+ previousTransaction: object.previousTransaction ?? null,
129
+ }),
130
+ );
131
+
132
+ return {
133
+ objects,
134
+ cursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,
135
+ hasNextPage: response.response.nextPageToken !== undefined,
136
+ };
137
+ }
138
+ async getCoins(
139
+ options: Experimental_SuiClientTypes.GetCoinsOptions,
140
+ ): Promise<Experimental_SuiClientTypes.GetCoinsResponse> {
141
+ const response = await this.#client.liveDataService.listOwnedObjects({
142
+ owner: options.address,
143
+ objectType: `0x2::coin::Coin<${(await this.mvr.resolveType({ type: options.coinType })).type}>`,
144
+ pageToken: options.cursor ? fromBase64(options.cursor) : undefined,
145
+ readMask: {
146
+ paths: [
147
+ 'owner',
148
+ 'object_type',
149
+ 'bcs',
150
+ 'digest',
151
+ 'version',
152
+ 'object_id',
153
+ 'balance',
154
+ 'previous_transaction',
155
+ ],
156
+ },
157
+ });
158
+
159
+ return {
160
+ objects: response.response.objects.map(
161
+ (object): Experimental_SuiClientTypes.CoinResponse => ({
162
+ id: object.objectId!,
163
+ version: object.version?.toString()!,
164
+ digest: object.digest!,
165
+ // TODO: List owned objects doesn't return content right now
166
+ get content() {
167
+ return Promise.reject(
168
+ new Error('GRPC does not return object contents when listing owned objects'),
169
+ );
170
+ },
171
+ owner: mapOwner(object.owner)!,
172
+ type: object.objectType!,
173
+ balance: object.balance?.toString()!,
174
+ previousTransaction: object.previousTransaction ?? null,
175
+ }),
176
+ ),
177
+ cursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,
178
+ hasNextPage: response.response.nextPageToken !== undefined,
179
+ };
180
+ }
181
+
182
+ async getBalance(
183
+ options: Experimental_SuiClientTypes.GetBalanceOptions,
184
+ ): Promise<Experimental_SuiClientTypes.GetBalanceResponse> {
185
+ const result = await this.#client.liveDataService.getBalance({
186
+ owner: options.address,
187
+ coinType: (await this.mvr.resolveType({ type: options.coinType })).type,
188
+ });
189
+
190
+ return {
191
+ balance: {
192
+ balance: result.response.balance?.balance?.toString() ?? '0',
193
+ coinType: result.response.balance?.coinType ?? options.coinType,
194
+ },
195
+ };
196
+ }
197
+
198
+ async getAllBalances(
199
+ options: Experimental_SuiClientTypes.GetAllBalancesOptions,
200
+ ): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse> {
201
+ const result = await this.#client.liveDataService.listBalances({
202
+ owner: options.address,
203
+ pageToken: options.cursor ? fromBase64(options.cursor) : undefined,
204
+ pageSize: options.limit,
205
+ });
206
+
207
+ return {
208
+ hasNextPage: !!result.response.nextPageToken,
209
+ cursor: result.response.nextPageToken ? toBase64(result.response.nextPageToken) : null,
210
+ balances: result.response.balances.map((balance) => ({
211
+ balance: balance.balance?.toString() ?? '0',
212
+ coinType: balance.coinType!,
213
+ })),
214
+ };
215
+ }
216
+ async getTransaction(
217
+ options: Experimental_SuiClientTypes.GetTransactionOptions,
218
+ ): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {
219
+ const { response } = await this.#client.ledgerService.getTransaction({
220
+ digest: options.digest,
221
+ readMask: {
222
+ paths: ['digest', 'transaction', 'effects', 'signatures', 'balance_changes'],
223
+ },
224
+ });
225
+
226
+ return {
227
+ transaction: parseTransaction(response.transaction!),
228
+ };
229
+ }
230
+ async executeTransaction(
231
+ options: Experimental_SuiClientTypes.ExecuteTransactionOptions,
232
+ ): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse> {
233
+ const { response } = await this.#client.transactionExecutionService.executeTransaction({
234
+ transaction: {
235
+ bcs: {
236
+ value: options.transaction,
237
+ },
238
+ },
239
+ signatures: options.signatures.map((signature) => ({
240
+ bcs: {
241
+ value: fromBase64(signature),
242
+ },
243
+ signature: {
244
+ oneofKind: undefined,
245
+ },
246
+ })),
247
+ readMask: {
248
+ paths: [
249
+ 'transaction.digest',
250
+ 'transaction.transaction',
251
+ 'transaction.effects',
252
+ 'transaction.signatures',
253
+ 'transaction.balance_changes',
254
+ ],
255
+ },
256
+ });
257
+ return {
258
+ transaction: parseTransaction(response.transaction!),
259
+ };
260
+ }
261
+ async dryRunTransaction(
262
+ options: Experimental_SuiClientTypes.DryRunTransactionOptions,
263
+ ): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse> {
264
+ const { response } = await this.#client.liveDataService.simulateTransaction({
265
+ transaction: {
266
+ bcs: {
267
+ value: options.transaction,
268
+ },
269
+ },
270
+ readMask: {
271
+ paths: [
272
+ 'transaction.digest',
273
+ 'transaction.transaction',
274
+ 'transaction.effects',
275
+ 'transaction.signatures',
276
+ 'transaction.balance_changes',
277
+ ],
278
+ },
279
+ });
280
+
281
+ return {
282
+ transaction: parseTransaction(response.transaction!),
283
+ };
284
+ }
285
+ async getReferenceGasPrice(): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse> {
286
+ const response = await this.#client.ledgerService.getEpoch({});
287
+
288
+ return {
289
+ referenceGasPrice: response.response.epoch?.referenceGasPrice?.toString()!,
290
+ };
291
+ }
292
+
293
+ async getDynamicFields(
294
+ options: Experimental_SuiClientTypes.GetDynamicFieldsOptions,
295
+ ): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse> {
296
+ const response = await this.#client.liveDataService.listDynamicFields({
297
+ parent: options.parentId,
298
+ pageToken: options.cursor ? fromBase64(options.cursor) : undefined,
299
+ });
300
+
301
+ return {
302
+ dynamicFields: response.response.dynamicFields.map((field) => ({
303
+ id: field.fieldId!,
304
+ name: {
305
+ type: field.nameType!,
306
+ bcs: field.nameValue!,
307
+ },
308
+ type: field.dynamicObjectId
309
+ ? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${field.nameType!}>,0x2::object::ID>`
310
+ : `0x2::dynamic_field::Field<${field.nameType!},${field.valueType!}>`,
311
+ })),
312
+ cursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,
313
+ hasNextPage: response.response.nextPageToken !== undefined,
314
+ };
315
+ }
316
+
317
+ async verifyZkLoginSignature(
318
+ options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions,
319
+ ): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse> {
320
+ const { response } = await this.#client.signatureVerificationService.verifySignature({
321
+ message: {
322
+ name: options.intentScope,
323
+ value: fromBase64(options.bytes),
324
+ },
325
+ signature: {
326
+ bcs: {
327
+ value: fromBase64(options.signature),
328
+ },
329
+ signature: {
330
+ oneofKind: undefined,
331
+ },
332
+ },
333
+ jwks: [],
334
+ });
335
+
336
+ return {
337
+ success: response.isValid ?? false,
338
+ errors: response.reason ? [response.reason] : [],
339
+ };
340
+ }
341
+
342
+ async getMoveFunction(
343
+ options: Experimental_SuiClientTypes.GetMoveFunctionOptions,
344
+ ): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse> {
345
+ const { response } = await this.#client.movePackageService.getFunction({
346
+ packageId: (await this.mvr.resolvePackage({ package: options.packageId })).package,
347
+ moduleName: options.moduleName,
348
+ name: options.name,
349
+ });
350
+
351
+ let visibility: 'public' | 'private' | 'friend' | 'unknown' = 'unknown';
352
+
353
+ switch (response.function?.visibility) {
354
+ case FunctionDescriptor_Visibility.PUBLIC:
355
+ visibility = 'public';
356
+ break;
357
+ case FunctionDescriptor_Visibility.PRIVATE:
358
+ visibility = 'private';
359
+ break;
360
+ case FunctionDescriptor_Visibility.FRIEND:
361
+ visibility = 'friend';
362
+ break;
363
+ }
364
+
365
+ return {
366
+ function: {
367
+ packageId: options.packageId,
368
+ moduleName: options.moduleName,
369
+ name: response.function?.name!,
370
+ visibility,
371
+ isEntry: response.function?.isEntry ?? false,
372
+ typeParameters:
373
+ response.function?.typeParameters?.map(({ constraints }) => ({
374
+ isPhantom: false,
375
+ constraints:
376
+ constraints.map((constraint) => {
377
+ switch (constraint) {
378
+ case Ability.COPY:
379
+ return 'copy';
380
+ case Ability.DROP:
381
+ return 'drop';
382
+ case Ability.STORE:
383
+ return 'store';
384
+ case Ability.KEY:
385
+ return 'key';
386
+ default:
387
+ return 'unknown';
388
+ }
389
+ }) ?? [],
390
+ })) ?? [],
391
+ parameters:
392
+ response.function?.parameters?.map((param) => parseNormalizedSuiMoveType(param)) ?? [],
393
+ returns: response.function?.returns?.map((ret) => parseNormalizedSuiMoveType(ret)) ?? [],
394
+ },
395
+ };
396
+ }
397
+
398
+ resolveTransactionPlugin(): never {
399
+ throw new Error('GRPC client does not support transaction resolution yet');
400
+ }
401
+ }
402
+
403
+ function mapOwner(owner: Owner | null | undefined): Experimental_SuiClientTypes.ObjectOwner | null {
404
+ if (!owner) {
405
+ return null;
406
+ }
407
+ if (owner.kind === Owner_OwnerKind.IMMUTABLE) {
408
+ return {
409
+ $kind: 'Immutable',
410
+ Immutable: true,
411
+ };
412
+ }
413
+ if (owner.kind === Owner_OwnerKind.ADDRESS) {
414
+ return {
415
+ AddressOwner: owner.address!,
416
+ $kind: 'AddressOwner',
417
+ };
418
+ }
419
+ if (owner.kind === Owner_OwnerKind.OBJECT) {
420
+ return {
421
+ $kind: 'ObjectOwner',
422
+ ObjectOwner: owner.address!,
423
+ };
424
+ }
425
+
426
+ if (owner.kind === Owner_OwnerKind.SHARED) {
427
+ if (owner.address) {
428
+ return {
429
+ $kind: 'ConsensusAddressOwner',
430
+ ConsensusAddressOwner: {
431
+ owner: owner.address,
432
+ startVersion: owner.version?.toString()!,
433
+ },
434
+ };
435
+ }
436
+ return {
437
+ $kind: 'Shared',
438
+ Shared: {
439
+ initialSharedVersion: owner.version?.toString()!,
440
+ },
441
+ };
442
+ }
443
+
444
+ throw new Error('Unknown owner kind');
445
+ }
446
+
447
+ function mapIdOperation(
448
+ operation: ChangedObject_IdOperation | undefined,
449
+ ): null | 'Created' | 'Deleted' | 'Unknown' | 'None' {
450
+ if (operation == null) {
451
+ return null;
452
+ }
453
+ switch (operation) {
454
+ case ChangedObject_IdOperation.CREATED:
455
+ return 'Created';
456
+ case ChangedObject_IdOperation.DELETED:
457
+ return 'Deleted';
458
+ case ChangedObject_IdOperation.NONE:
459
+ case ChangedObject_IdOperation.ID_OPERATION_UNKNOWN:
460
+ return 'None';
461
+ default:
462
+ operation satisfies never;
463
+ return 'Unknown';
464
+ }
465
+ }
466
+
467
+ function mapInputObjectState(
468
+ state: ChangedObject_InputObjectState | undefined,
469
+ ): null | 'Exists' | 'DoesNotExist' | 'Unknown' {
470
+ if (state == null) {
471
+ return null;
472
+ }
473
+ switch (state) {
474
+ case ChangedObject_InputObjectState.EXISTS:
475
+ return 'Exists';
476
+ case ChangedObject_InputObjectState.DOES_NOT_EXIST:
477
+ return 'DoesNotExist';
478
+ case ChangedObject_InputObjectState.UNKNOWN:
479
+ return 'Unknown';
480
+ default:
481
+ state satisfies never;
482
+ return 'Unknown';
483
+ }
484
+ }
485
+
486
+ function mapOutputObjectState(
487
+ state: ChangedObject_OutputObjectState | undefined,
488
+ ): null | 'ObjectWrite' | 'PackageWrite' | 'DoesNotExist' | 'Unknown' {
489
+ if (state == null) {
490
+ return null;
491
+ }
492
+ switch (state) {
493
+ case ChangedObject_OutputObjectState.OBJECT_WRITE:
494
+ return 'ObjectWrite';
495
+ case ChangedObject_OutputObjectState.PACKAGE_WRITE:
496
+ return 'PackageWrite';
497
+ case ChangedObject_OutputObjectState.DOES_NOT_EXIST:
498
+ return 'DoesNotExist';
499
+ case ChangedObject_OutputObjectState.UNKNOWN:
500
+ return 'Unknown';
501
+ default:
502
+ state satisfies never;
503
+ return 'Unknown';
504
+ }
505
+ }
506
+
507
+ function mapUnchangedConsensusObjectKind(
508
+ kind: UnchangedConsensusObject_UnchangedConsensusObjectKind | undefined,
509
+ ): null | Experimental_SuiClientTypes.UnchangedConsensusObject['kind'] {
510
+ if (kind == null) {
511
+ return null;
512
+ }
513
+ switch (kind) {
514
+ case UnchangedConsensusObject_UnchangedConsensusObjectKind.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:
515
+ return 'Unknown';
516
+ case UnchangedConsensusObject_UnchangedConsensusObjectKind.READ_ONLY_ROOT:
517
+ return 'ReadOnlyRoot';
518
+ case UnchangedConsensusObject_UnchangedConsensusObjectKind.MUTATE_CONSENSUS_STREAM_ENDED:
519
+ return 'MutateConsensusStreamEnded';
520
+ case UnchangedConsensusObject_UnchangedConsensusObjectKind.READ_CONSENSUS_STREAM_ENDED:
521
+ return 'ReadConsensusStreamEnded';
522
+ case UnchangedConsensusObject_UnchangedConsensusObjectKind.CANCELED:
523
+ return 'Cancelled';
524
+ case UnchangedConsensusObject_UnchangedConsensusObjectKind.PER_EPOCH_CONFIG:
525
+ return 'PerEpochConfig';
526
+ default:
527
+ kind satisfies never;
528
+ return 'Unknown';
529
+ }
530
+ }
531
+
532
+ export function parseTransactionEffects({
533
+ effects,
534
+ }: {
535
+ effects: TransactionEffects | undefined;
536
+ }): Experimental_SuiClientTypes.TransactionEffects | null {
537
+ if (!effects) {
538
+ return null;
539
+ }
540
+
541
+ const changedObjects = effects.changedObjects.map(
542
+ (change): Experimental_SuiClientTypes.ChangedObject => {
543
+ return {
544
+ id: change.objectId!,
545
+ inputState: mapInputObjectState(change.inputState)!,
546
+ inputVersion: change.inputVersion?.toString() ?? null,
547
+ inputDigest: change.inputDigest ?? null,
548
+ inputOwner: mapOwner(change.inputOwner),
549
+ outputState: mapOutputObjectState(change.outputState)!,
550
+ outputVersion: change.outputVersion?.toString() ?? null,
551
+ outputDigest: change.outputDigest ?? null,
552
+ outputOwner: mapOwner(change.outputOwner),
553
+ idOperation: mapIdOperation(change.idOperation)!,
554
+ };
555
+ },
556
+ );
557
+
558
+ return {
559
+ bcs: effects.bcs?.value!,
560
+ digest: effects.digest!,
561
+ version: 2,
562
+ status: effects.status?.success
563
+ ? {
564
+ success: true,
565
+ error: null,
566
+ }
567
+ : {
568
+ success: false,
569
+ // TODO: parse errors properly
570
+ error: JSON.stringify(effects.status?.error),
571
+ },
572
+ gasUsed: {
573
+ computationCost: effects.gasUsed?.computationCost?.toString()!,
574
+ storageCost: effects.gasUsed?.storageCost?.toString()!,
575
+ storageRebate: effects.gasUsed?.storageRebate?.toString()!,
576
+ nonRefundableStorageFee: effects.gasUsed?.nonRefundableStorageFee?.toString()!,
577
+ },
578
+ transactionDigest: effects.transactionDigest!,
579
+ gasObject: {
580
+ id: effects.gasObject?.objectId!,
581
+ inputState: mapInputObjectState(effects.gasObject?.inputState)!,
582
+ inputVersion: effects.gasObject?.inputVersion?.toString() ?? null,
583
+ inputDigest: effects.gasObject?.inputDigest ?? null,
584
+ inputOwner: mapOwner(effects.gasObject?.inputOwner),
585
+ outputState: mapOutputObjectState(effects.gasObject?.outputState)!,
586
+ outputVersion: effects.gasObject?.outputVersion?.toString() ?? null,
587
+ outputDigest: effects.gasObject?.outputDigest ?? null,
588
+ outputOwner: mapOwner(effects.gasObject?.outputOwner),
589
+ idOperation: mapIdOperation(effects.gasObject?.idOperation)!,
590
+ },
591
+ eventsDigest: effects.eventsDigest ?? null,
592
+ dependencies: effects.dependencies,
593
+ lamportVersion: effects.lamportVersion?.toString() ?? null,
594
+ changedObjects,
595
+ unchangedConsensusObjects: effects.unchangedConsensusObjects.map(
596
+ (object): Experimental_SuiClientTypes.UnchangedConsensusObject => {
597
+ return {
598
+ kind: mapUnchangedConsensusObjectKind(object.kind)!,
599
+ // TODO: we are inconsistent about id vs objectId
600
+ objectId: object.objectId!,
601
+ version: object.version?.toString() ?? null,
602
+ digest: object.digest ?? null,
603
+ };
604
+ },
605
+ ),
606
+ auxiliaryDataDigest: effects.auxiliaryDataDigest ?? null,
607
+ };
608
+ }
609
+
610
+ function parseTransaction(
611
+ transaction: ExecutedTransaction,
612
+ ): Experimental_SuiClientTypes.TransactionResponse {
613
+ const parsedTx = bcs.SenderSignedData.parse(transaction.transaction?.bcs?.value!)[0];
614
+ const bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();
615
+ const data = TransactionDataBuilder.restore({
616
+ version: 2,
617
+ sender: parsedTx.intentMessage.value.V1.sender,
618
+ expiration: parsedTx.intentMessage.value.V1.expiration,
619
+ gasData: parsedTx.intentMessage.value.V1.gasData,
620
+ inputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,
621
+ commands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,
622
+ });
623
+
624
+ const objectTypes: Record<string, string> = {};
625
+ transaction.inputObjects.forEach((object) => {
626
+ if (object.objectId && object.objectType) {
627
+ objectTypes[object.objectId] = object.objectType;
628
+ }
629
+ });
630
+
631
+ transaction.outputObjects.forEach((object) => {
632
+ if (object.objectId && object.objectType) {
633
+ objectTypes[object.objectId] = object.objectType;
634
+ }
635
+ });
636
+
637
+ const effects = parseTransactionEffects({
638
+ effects: transaction.effects,
639
+ })!;
640
+
641
+ return {
642
+ digest: transaction.digest!,
643
+ epoch: transaction.effects?.epoch?.toString() ?? null,
644
+ effects,
645
+ objectTypes: Promise.resolve(objectTypes),
646
+ transaction: {
647
+ gasData: data.gasData,
648
+ sender: data.sender,
649
+ expiration: data.expiration,
650
+ commands: data.commands,
651
+ inputs: data.inputs,
652
+ version: data.version,
653
+ bcs: bytes,
654
+ },
655
+ signatures: parsedTx.txSignatures,
656
+ balanceChanges:
657
+ transaction.balanceChanges?.map((change) => ({
658
+ coinType: change.coinType!,
659
+ address: change.address!,
660
+ amount: change.amount!,
661
+ })) ?? [],
662
+ };
663
+ }
664
+
665
+ function parseNormalizedSuiMoveType(
666
+ type: OpenSignature,
667
+ ): Experimental_SuiClientTypes.OpenSignature {
668
+ let reference: 'mutable' | 'immutable' | null = null;
669
+
670
+ if (type.reference === OpenSignature_Reference.IMMUTABLE) {
671
+ reference = 'immutable';
672
+ } else if (type.reference === OpenSignature_Reference.MUTABLE) {
673
+ reference = 'mutable';
674
+ }
675
+
676
+ return {
677
+ reference,
678
+ body: parseNormalizedSuiMoveTypeBody(type.body!),
679
+ };
680
+ }
681
+
682
+ function parseNormalizedSuiMoveTypeBody(
683
+ type: OpenSignatureBody,
684
+ ): Experimental_SuiClientTypes.OpenSignatureBody {
685
+ switch (type.type) {
686
+ case OpenSignatureBody_Type.TYPE_UNKNOWN:
687
+ return { $kind: 'unknown' };
688
+ case OpenSignatureBody_Type.ADDRESS:
689
+ return { $kind: 'address' };
690
+ case OpenSignatureBody_Type.BOOL:
691
+ return { $kind: 'bool' };
692
+ case OpenSignatureBody_Type.U8:
693
+ return { $kind: 'u8' };
694
+ case OpenSignatureBody_Type.U16:
695
+ return { $kind: 'u16' };
696
+ case OpenSignatureBody_Type.U32:
697
+ return { $kind: 'u32' };
698
+ case OpenSignatureBody_Type.U64:
699
+ return { $kind: 'u64' };
700
+ case OpenSignatureBody_Type.U128:
701
+ return { $kind: 'u128' };
702
+ case OpenSignatureBody_Type.U256:
703
+ return { $kind: 'u256' };
704
+ case OpenSignatureBody_Type.VECTOR:
705
+ return {
706
+ $kind: 'vector',
707
+ vector: parseNormalizedSuiMoveTypeBody(type.typeParameterInstantiation[0]),
708
+ };
709
+ case OpenSignatureBody_Type.DATATYPE:
710
+ return {
711
+ $kind: 'datatype',
712
+ datatype: {
713
+ typeName: type.typeName!,
714
+ typeParameters: type.typeParameterInstantiation.map((t) =>
715
+ parseNormalizedSuiMoveTypeBody(t),
716
+ ),
717
+ },
718
+ };
719
+ case OpenSignatureBody_Type.TYPE_PARAMETER:
720
+ return {
721
+ $kind: 'typeParameter',
722
+ index: type.typeParameter!,
723
+ };
724
+ default:
725
+ return { $kind: 'unknown' };
726
+ }
727
+ }