@mysten/sui 1.42.0 → 1.43.1

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 (429) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/bcs/bcs.d.ts +47 -111
  3. package/dist/cjs/bcs/bcs.js +17 -17
  4. package/dist/cjs/bcs/bcs.js.map +2 -2
  5. package/dist/cjs/bcs/effects.d.ts +2 -6
  6. package/dist/cjs/bcs/effects.js +1 -1
  7. package/dist/cjs/bcs/effects.js.map +2 -2
  8. package/dist/cjs/bcs/index.d.ts +49 -117
  9. package/dist/cjs/bcs/type-tag-serializer.d.ts +1 -0
  10. package/dist/cjs/bcs/type-tag-serializer.js +5 -1
  11. package/dist/cjs/bcs/type-tag-serializer.js.map +2 -2
  12. package/dist/cjs/cryptography/intent.js +1 -1
  13. package/dist/cjs/cryptography/intent.js.map +2 -2
  14. package/dist/cjs/cryptography/keypair.js +1 -1
  15. package/dist/cjs/cryptography/keypair.js.map +2 -2
  16. package/dist/cjs/cryptography/publickey.js +1 -1
  17. package/dist/cjs/cryptography/publickey.js.map +2 -2
  18. package/dist/cjs/cryptography/signature.d.ts +2 -2
  19. package/dist/cjs/experimental/client.js +0 -4
  20. package/dist/cjs/experimental/client.js.map +2 -2
  21. package/dist/cjs/experimental/types.d.ts +1 -7
  22. package/dist/cjs/experimental/types.js.map +1 -1
  23. package/dist/cjs/graphql/generated/queries.d.ts +1 -1
  24. package/dist/cjs/graphql/generated/queries.js.map +1 -1
  25. package/dist/cjs/grpc/core.d.ts +3 -1
  26. package/dist/cjs/grpc/core.js +5 -3
  27. package/dist/cjs/grpc/core.js.map +2 -2
  28. package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +6 -6
  29. package/dist/cjs/grpc/proto/google/protobuf/any.js +20 -20
  30. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +2 -2
  31. package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +4 -4
  32. package/dist/cjs/grpc/proto/google/protobuf/duration.js +8 -12
  33. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +2 -2
  34. package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +1 -1
  35. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +2 -2
  36. package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +4 -4
  37. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +8 -7
  38. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +2 -2
  39. package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +10 -10
  40. package/dist/cjs/grpc/proto/google/protobuf/struct.js +29 -17
  41. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +2 -2
  42. package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +4 -4
  43. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +21 -18
  44. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +2 -2
  45. package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +2 -2
  46. package/dist/cjs/grpc/proto/google/rpc/error_details.js +40 -11
  47. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +2 -2
  48. package/dist/cjs/grpc/proto/google/rpc/status.d.ts +2 -2
  49. package/dist/cjs/grpc/proto/google/rpc/status.js +1 -1
  50. package/dist/cjs/grpc/proto/google/rpc/status.js.map +2 -2
  51. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.d.ts +1 -1
  52. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js +7 -1
  53. package/dist/cjs/grpc/proto/sui/rpc/v2/argument.js.map +2 -2
  54. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.d.ts +1 -1
  55. package/dist/cjs/grpc/proto/sui/rpc/v2/balance_change.js.map +2 -2
  56. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.d.ts +1 -1
  57. package/dist/cjs/grpc/proto/sui/rpc/v2/bcs.js.map +2 -2
  58. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.d.ts +6 -6
  59. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js +12 -7
  60. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint.js.map +2 -2
  61. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +3 -3
  62. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js +16 -4
  63. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +2 -2
  64. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +5 -5
  65. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js +35 -13
  66. package/dist/cjs/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +2 -2
  67. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.d.ts +6 -6
  68. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js +65 -19
  69. package/dist/cjs/grpc/proto/sui/rpc/v2/effects.js.map +2 -2
  70. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.d.ts +5 -5
  71. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js +4 -8
  72. package/dist/cjs/grpc/proto/sui/rpc/v2/epoch.js.map +2 -2
  73. package/dist/cjs/grpc/proto/sui/rpc/v2/error_reason.js.map +2 -2
  74. package/dist/cjs/grpc/proto/sui/rpc/v2/event.d.ts +3 -3
  75. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js +2 -2
  76. package/dist/cjs/grpc/proto/sui/rpc/v2/event.js.map +2 -2
  77. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +8 -8
  78. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js +21 -10
  79. package/dist/cjs/grpc/proto/sui/rpc/v2/executed_transaction.js.map +2 -2
  80. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.d.ts +12 -12
  81. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js +75 -17
  82. package/dist/cjs/grpc/proto/sui/rpc/v2/execution_status.js.map +2 -2
  83. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +1 -1
  84. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js +0 -4
  85. package/dist/cjs/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +2 -2
  86. package/dist/cjs/grpc/proto/sui/rpc/v2/input.d.ts +2 -2
  87. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js +8 -3
  88. package/dist/cjs/grpc/proto/sui/rpc/v2/input.js.map +2 -2
  89. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.d.ts +1 -1
  90. package/dist/cjs/grpc/proto/sui/rpc/v2/jwk.js.map +2 -2
  91. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +18 -18
  92. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js +50 -8
  93. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +2 -2
  94. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.d.ts +15 -15
  95. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js +41 -20
  96. package/dist/cjs/grpc/proto/sui/rpc/v2/ledger_service.js.map +2 -2
  97. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.d.ts +1 -1
  98. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js +126 -20
  99. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package.js.map +2 -2
  100. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +12 -12
  101. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js +29 -5
  102. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +2 -2
  103. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.d.ts +5 -5
  104. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js +16 -6
  105. package/dist/cjs/grpc/proto/sui/rpc/v2/move_package_service.js.map +2 -2
  106. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.d.ts +8 -8
  107. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js +15 -3
  108. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.client.js.map +2 -2
  109. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.d.ts +3 -3
  110. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js +18 -7
  111. package/dist/cjs/grpc/proto/sui/rpc/v2/name_service.js.map +2 -2
  112. package/dist/cjs/grpc/proto/sui/rpc/v2/object.d.ts +5 -5
  113. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js +4 -8
  114. package/dist/cjs/grpc/proto/sui/rpc/v2/object.js.map +2 -2
  115. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.d.ts +1 -1
  116. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js +0 -1
  117. package/dist/cjs/grpc/proto/sui/rpc/v2/object_reference.js.map +2 -2
  118. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.d.ts +1 -1
  119. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js +7 -2
  120. package/dist/cjs/grpc/proto/sui/rpc/v2/owner.js.map +2 -2
  121. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.d.ts +1 -1
  122. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js +22 -11
  123. package/dist/cjs/grpc/proto/sui/rpc/v2/protocol_config.js.map +2 -2
  124. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.d.ts +8 -8
  125. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js +73 -17
  126. package/dist/cjs/grpc/proto/sui/rpc/v2/signature.js.map +2 -2
  127. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_scheme.js.map +2 -2
  128. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +6 -6
  129. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +8 -2
  130. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +2 -2
  131. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +5 -5
  132. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js +7 -6
  133. package/dist/cjs/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +2 -2
  134. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.d.ts +14 -14
  135. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js +36 -6
  136. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.client.js.map +2 -2
  137. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.d.ts +5 -5
  138. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js +60 -14
  139. package/dist/cjs/grpc/proto/sui/rpc/v2/state_service.js.map +2 -2
  140. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +6 -6
  141. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js +8 -2
  142. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +2 -2
  143. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.d.ts +4 -4
  144. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js +9 -4
  145. package/dist/cjs/grpc/proto/sui/rpc/v2/subscription_service.js.map +2 -2
  146. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.d.ts +1 -1
  147. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js +26 -59
  148. package/dist/cjs/grpc/proto/sui/rpc/v2/system_state.js.map +2 -2
  149. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.d.ts +29 -29
  150. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js +210 -71
  151. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction.js.map +2 -2
  152. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +8 -8
  153. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +15 -3
  154. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +2 -2
  155. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +9 -9
  156. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js +62 -16
  157. package/dist/cjs/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +2 -2
  158. package/dist/cjs/jsonRpc/client.d.ts +2 -6
  159. package/dist/cjs/jsonRpc/client.js +0 -8
  160. package/dist/cjs/jsonRpc/client.js.map +2 -2
  161. package/dist/cjs/keypairs/passkey/publickey.d.ts +1 -1
  162. package/dist/cjs/multisig/publickey.d.ts +10 -10
  163. package/dist/cjs/multisig/publickey.js +2 -2
  164. package/dist/cjs/multisig/publickey.js.map +2 -2
  165. package/dist/cjs/transactions/Transaction.d.ts +2 -2
  166. package/dist/cjs/transactions/Transaction.js.map +2 -2
  167. package/dist/cjs/transactions/TransactionData.d.ts +1 -0
  168. package/dist/cjs/transactions/TransactionData.js +71 -0
  169. package/dist/cjs/transactions/TransactionData.js.map +3 -3
  170. package/dist/cjs/transactions/serializer.js +1 -1
  171. package/dist/cjs/transactions/serializer.js.map +2 -2
  172. package/dist/cjs/utils/index.d.ts +1 -0
  173. package/dist/cjs/utils/index.js +2 -0
  174. package/dist/cjs/utils/index.js.map +2 -2
  175. package/dist/cjs/version.d.ts +2 -2
  176. package/dist/cjs/version.js +2 -2
  177. package/dist/cjs/version.js.map +1 -1
  178. package/dist/cjs/zklogin/bcs.d.ts +1 -3
  179. package/dist/cjs/zklogin/bcs.js +1 -1
  180. package/dist/cjs/zklogin/bcs.js.map +2 -2
  181. package/dist/cjs/zklogin/publickey.d.ts +1 -1
  182. package/dist/cjs/zklogin/signature.d.ts +1 -1
  183. package/dist/esm/bcs/bcs.d.ts +47 -111
  184. package/dist/esm/bcs/bcs.js +17 -17
  185. package/dist/esm/bcs/bcs.js.map +2 -2
  186. package/dist/esm/bcs/effects.d.ts +2 -6
  187. package/dist/esm/bcs/effects.js +1 -1
  188. package/dist/esm/bcs/effects.js.map +2 -2
  189. package/dist/esm/bcs/index.d.ts +49 -117
  190. package/dist/esm/bcs/type-tag-serializer.d.ts +1 -0
  191. package/dist/esm/bcs/type-tag-serializer.js +5 -1
  192. package/dist/esm/bcs/type-tag-serializer.js.map +2 -2
  193. package/dist/esm/cryptography/intent.js +1 -1
  194. package/dist/esm/cryptography/intent.js.map +2 -2
  195. package/dist/esm/cryptography/keypair.js +1 -1
  196. package/dist/esm/cryptography/keypair.js.map +2 -2
  197. package/dist/esm/cryptography/publickey.js +1 -1
  198. package/dist/esm/cryptography/publickey.js.map +2 -2
  199. package/dist/esm/cryptography/signature.d.ts +2 -2
  200. package/dist/esm/experimental/client.js +0 -4
  201. package/dist/esm/experimental/client.js.map +2 -2
  202. package/dist/esm/experimental/types.d.ts +1 -7
  203. package/dist/esm/graphql/generated/queries.d.ts +1 -1
  204. package/dist/esm/graphql/generated/queries.js.map +1 -1
  205. package/dist/esm/grpc/core.d.ts +3 -1
  206. package/dist/esm/grpc/core.js +5 -3
  207. package/dist/esm/grpc/core.js.map +2 -2
  208. package/dist/esm/grpc/proto/google/protobuf/any.d.ts +6 -6
  209. package/dist/esm/grpc/proto/google/protobuf/any.js +20 -20
  210. package/dist/esm/grpc/proto/google/protobuf/any.js.map +2 -2
  211. package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +4 -4
  212. package/dist/esm/grpc/proto/google/protobuf/duration.js +8 -12
  213. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +2 -2
  214. package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +1 -1
  215. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +2 -2
  216. package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +4 -4
  217. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +8 -7
  218. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +2 -2
  219. package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +10 -10
  220. package/dist/esm/grpc/proto/google/protobuf/struct.js +29 -17
  221. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +2 -2
  222. package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +4 -4
  223. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +21 -18
  224. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +2 -2
  225. package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +2 -2
  226. package/dist/esm/grpc/proto/google/rpc/error_details.js +40 -11
  227. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +2 -2
  228. package/dist/esm/grpc/proto/google/rpc/status.d.ts +2 -2
  229. package/dist/esm/grpc/proto/google/rpc/status.js +1 -1
  230. package/dist/esm/grpc/proto/google/rpc/status.js.map +2 -2
  231. package/dist/esm/grpc/proto/sui/rpc/v2/argument.d.ts +1 -1
  232. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js +7 -1
  233. package/dist/esm/grpc/proto/sui/rpc/v2/argument.js.map +2 -2
  234. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.d.ts +1 -1
  235. package/dist/esm/grpc/proto/sui/rpc/v2/balance_change.js.map +2 -2
  236. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.d.ts +1 -1
  237. package/dist/esm/grpc/proto/sui/rpc/v2/bcs.js.map +2 -2
  238. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.d.ts +6 -6
  239. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js +12 -7
  240. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint.js.map +2 -2
  241. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.d.ts +3 -3
  242. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js +16 -4
  243. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_contents.js.map +2 -2
  244. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.d.ts +5 -5
  245. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js +35 -13
  246. package/dist/esm/grpc/proto/sui/rpc/v2/checkpoint_summary.js.map +2 -2
  247. package/dist/esm/grpc/proto/sui/rpc/v2/effects.d.ts +6 -6
  248. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js +65 -19
  249. package/dist/esm/grpc/proto/sui/rpc/v2/effects.js.map +2 -2
  250. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.d.ts +5 -5
  251. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js +4 -8
  252. package/dist/esm/grpc/proto/sui/rpc/v2/epoch.js.map +2 -2
  253. package/dist/esm/grpc/proto/sui/rpc/v2/error_reason.js.map +2 -2
  254. package/dist/esm/grpc/proto/sui/rpc/v2/event.d.ts +3 -3
  255. package/dist/esm/grpc/proto/sui/rpc/v2/event.js +2 -2
  256. package/dist/esm/grpc/proto/sui/rpc/v2/event.js.map +2 -2
  257. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.d.ts +8 -8
  258. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js +21 -10
  259. package/dist/esm/grpc/proto/sui/rpc/v2/executed_transaction.js.map +2 -2
  260. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.d.ts +12 -12
  261. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js +75 -17
  262. package/dist/esm/grpc/proto/sui/rpc/v2/execution_status.js.map +2 -2
  263. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.d.ts +1 -1
  264. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js +0 -4
  265. package/dist/esm/grpc/proto/sui/rpc/v2/gas_cost_summary.js.map +2 -2
  266. package/dist/esm/grpc/proto/sui/rpc/v2/input.d.ts +2 -2
  267. package/dist/esm/grpc/proto/sui/rpc/v2/input.js +8 -3
  268. package/dist/esm/grpc/proto/sui/rpc/v2/input.js.map +2 -2
  269. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.d.ts +1 -1
  270. package/dist/esm/grpc/proto/sui/rpc/v2/jwk.js.map +2 -2
  271. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.d.ts +18 -18
  272. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js +50 -8
  273. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.client.js.map +2 -2
  274. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.d.ts +15 -15
  275. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js +41 -20
  276. package/dist/esm/grpc/proto/sui/rpc/v2/ledger_service.js.map +2 -2
  277. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.d.ts +1 -1
  278. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js +126 -20
  279. package/dist/esm/grpc/proto/sui/rpc/v2/move_package.js.map +2 -2
  280. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.d.ts +12 -12
  281. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js +29 -5
  282. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.client.js.map +2 -2
  283. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.d.ts +5 -5
  284. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js +16 -6
  285. package/dist/esm/grpc/proto/sui/rpc/v2/move_package_service.js.map +2 -2
  286. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.d.ts +8 -8
  287. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js +15 -3
  288. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.client.js.map +2 -2
  289. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.d.ts +3 -3
  290. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js +18 -7
  291. package/dist/esm/grpc/proto/sui/rpc/v2/name_service.js.map +2 -2
  292. package/dist/esm/grpc/proto/sui/rpc/v2/object.d.ts +5 -5
  293. package/dist/esm/grpc/proto/sui/rpc/v2/object.js +4 -8
  294. package/dist/esm/grpc/proto/sui/rpc/v2/object.js.map +2 -2
  295. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.d.ts +1 -1
  296. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js +0 -1
  297. package/dist/esm/grpc/proto/sui/rpc/v2/object_reference.js.map +2 -2
  298. package/dist/esm/grpc/proto/sui/rpc/v2/owner.d.ts +1 -1
  299. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js +7 -2
  300. package/dist/esm/grpc/proto/sui/rpc/v2/owner.js.map +2 -2
  301. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.d.ts +1 -1
  302. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js +22 -11
  303. package/dist/esm/grpc/proto/sui/rpc/v2/protocol_config.js.map +2 -2
  304. package/dist/esm/grpc/proto/sui/rpc/v2/signature.d.ts +8 -8
  305. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js +73 -17
  306. package/dist/esm/grpc/proto/sui/rpc/v2/signature.js.map +2 -2
  307. package/dist/esm/grpc/proto/sui/rpc/v2/signature_scheme.js.map +2 -2
  308. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.ts +6 -6
  309. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js +8 -2
  310. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.client.js.map +2 -2
  311. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.d.ts +5 -5
  312. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js +7 -6
  313. package/dist/esm/grpc/proto/sui/rpc/v2/signature_verification_service.js.map +2 -2
  314. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.d.ts +14 -14
  315. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js +36 -6
  316. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.client.js.map +2 -2
  317. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.d.ts +5 -5
  318. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js +60 -14
  319. package/dist/esm/grpc/proto/sui/rpc/v2/state_service.js.map +2 -2
  320. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.d.ts +6 -6
  321. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js +8 -2
  322. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.client.js.map +2 -2
  323. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.d.ts +4 -4
  324. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js +9 -4
  325. package/dist/esm/grpc/proto/sui/rpc/v2/subscription_service.js.map +2 -2
  326. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.d.ts +1 -1
  327. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js +26 -59
  328. package/dist/esm/grpc/proto/sui/rpc/v2/system_state.js.map +2 -2
  329. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.d.ts +29 -29
  330. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js +210 -71
  331. package/dist/esm/grpc/proto/sui/rpc/v2/transaction.js.map +2 -2
  332. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.ts +8 -8
  333. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js +15 -3
  334. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.client.js.map +2 -2
  335. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.d.ts +9 -9
  336. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js +62 -16
  337. package/dist/esm/grpc/proto/sui/rpc/v2/transaction_execution_service.js.map +2 -2
  338. package/dist/esm/jsonRpc/client.d.ts +2 -6
  339. package/dist/esm/jsonRpc/client.js +0 -8
  340. package/dist/esm/jsonRpc/client.js.map +2 -2
  341. package/dist/esm/keypairs/passkey/publickey.d.ts +1 -1
  342. package/dist/esm/multisig/publickey.d.ts +10 -10
  343. package/dist/esm/multisig/publickey.js +2 -2
  344. package/dist/esm/multisig/publickey.js.map +2 -2
  345. package/dist/esm/transactions/Transaction.d.ts +2 -2
  346. package/dist/esm/transactions/Transaction.js.map +2 -2
  347. package/dist/esm/transactions/TransactionData.d.ts +1 -0
  348. package/dist/esm/transactions/TransactionData.js +71 -0
  349. package/dist/esm/transactions/TransactionData.js.map +3 -3
  350. package/dist/esm/transactions/serializer.js +1 -1
  351. package/dist/esm/transactions/serializer.js.map +2 -2
  352. package/dist/esm/utils/index.d.ts +1 -0
  353. package/dist/esm/utils/index.js +2 -0
  354. package/dist/esm/utils/index.js.map +2 -2
  355. package/dist/esm/version.d.ts +2 -2
  356. package/dist/esm/version.js +2 -2
  357. package/dist/esm/version.js.map +1 -1
  358. package/dist/esm/zklogin/bcs.d.ts +1 -3
  359. package/dist/esm/zklogin/bcs.js +1 -1
  360. package/dist/esm/zklogin/bcs.js.map +2 -2
  361. package/dist/esm/zklogin/publickey.d.ts +1 -1
  362. package/dist/esm/zklogin/signature.d.ts +1 -1
  363. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  364. package/dist/tsconfig.tsbuildinfo +1 -1
  365. package/package.json +2 -2
  366. package/src/bcs/bcs.ts +17 -17
  367. package/src/bcs/effects.ts +1 -1
  368. package/src/bcs/type-tag-serializer.ts +4 -0
  369. package/src/cryptography/intent.ts +1 -1
  370. package/src/cryptography/keypair.ts +1 -1
  371. package/src/cryptography/publickey.ts +1 -1
  372. package/src/experimental/client.ts +0 -4
  373. package/src/experimental/types.ts +4 -17
  374. package/src/graphql/generated/queries.ts +1 -1
  375. package/src/grpc/core.ts +28 -8
  376. package/src/grpc/proto/google/protobuf/any.ts +159 -144
  377. package/src/grpc/proto/google/protobuf/duration.ts +77 -74
  378. package/src/grpc/proto/google/protobuf/empty.ts +5 -6
  379. package/src/grpc/proto/google/protobuf/field_mask.ts +59 -47
  380. package/src/grpc/proto/google/protobuf/struct.ts +223 -201
  381. package/src/grpc/proto/google/protobuf/timestamp.ts +121 -100
  382. package/src/grpc/proto/google/rpc/error_details.ts +388 -352
  383. package/src/grpc/proto/google/rpc/status.ts +32 -32
  384. package/src/grpc/proto/sui/rpc/v2/argument.ts +60 -54
  385. package/src/grpc/proto/sui/rpc/v2/balance_change.ts +26 -26
  386. package/src/grpc/proto/sui/rpc/v2/bcs.ts +19 -19
  387. package/src/grpc/proto/sui/rpc/v2/checkpoint.ts +79 -66
  388. package/src/grpc/proto/sui/rpc/v2/checkpoint_contents.ts +72 -60
  389. package/src/grpc/proto/sui/rpc/v2/checkpoint_summary.ts +219 -158
  390. package/src/grpc/proto/sui/rpc/v2/effects.ts +418 -318
  391. package/src/grpc/proto/sui/rpc/v2/epoch.ts +90 -62
  392. package/src/grpc/proto/sui/rpc/v2/error_reason.ts +12 -12
  393. package/src/grpc/proto/sui/rpc/v2/event.ts +76 -76
  394. package/src/grpc/proto/sui/rpc/v2/executed_transaction.ts +99 -80
  395. package/src/grpc/proto/sui/rpc/v2/execution_status.ts +888 -755
  396. package/src/grpc/proto/sui/rpc/v2/gas_cost_summary.ts +62 -34
  397. package/src/grpc/proto/sui/rpc/v2/input.ts +102 -89
  398. package/src/grpc/proto/sui/rpc/v2/jwk.ts +51 -51
  399. package/src/grpc/proto/sui/rpc/v2/ledger_service.client.ts +196 -106
  400. package/src/grpc/proto/sui/rpc/v2/ledger_service.ts +420 -328
  401. package/src/grpc/proto/sui/rpc/v2/move_package.ts +608 -486
  402. package/src/grpc/proto/sui/rpc/v2/move_package_service.client.ts +114 -63
  403. package/src/grpc/proto/sui/rpc/v2/move_package_service.ts +190 -172
  404. package/src/grpc/proto/sui/rpc/v2/name_service.client.ts +62 -37
  405. package/src/grpc/proto/sui/rpc/v2/name_service.ts +123 -112
  406. package/src/grpc/proto/sui/rpc/v2/object.ts +147 -120
  407. package/src/grpc/proto/sui/rpc/v2/object_reference.ts +33 -26
  408. package/src/grpc/proto/sui/rpc/v2/owner.ts +61 -48
  409. package/src/grpc/proto/sui/rpc/v2/protocol_config.ts +43 -24
  410. package/src/grpc/proto/sui/rpc/v2/signature.ts +596 -503
  411. package/src/grpc/proto/sui/rpc/v2/signature_scheme.ts +28 -28
  412. package/src/grpc/proto/sui/rpc/v2/signature_verification_service.client.ts +43 -29
  413. package/src/grpc/proto/sui/rpc/v2/signature_verification_service.ts +68 -67
  414. package/src/grpc/proto/sui/rpc/v2/state_service.client.ts +140 -76
  415. package/src/grpc/proto/sui/rpc/v2/state_service.ts +642 -573
  416. package/src/grpc/proto/sui/rpc/v2/subscription_service.client.ts +60 -48
  417. package/src/grpc/proto/sui/rpc/v2/subscription_service.ts +50 -37
  418. package/src/grpc/proto/sui/rpc/v2/system_state.ts +1055 -689
  419. package/src/grpc/proto/sui/rpc/v2/transaction.ts +1535 -1110
  420. package/src/grpc/proto/sui/rpc/v2/transaction_execution_service.client.ts +65 -38
  421. package/src/grpc/proto/sui/rpc/v2/transaction_execution_service.ts +185 -139
  422. package/src/jsonRpc/client.ts +2 -17
  423. package/src/multisig/publickey.ts +14 -14
  424. package/src/transactions/Transaction.ts +2 -2
  425. package/src/transactions/TransactionData.ts +100 -1
  426. package/src/transactions/serializer.ts +1 -1
  427. package/src/utils/index.ts +1 -0
  428. package/src/version.ts +2 -2
  429. package/src/zklogin/bcs.ts +1 -1
@@ -170,21 +170,11 @@ declare const suiBcs: {
170
170
  }, string>;
171
171
  }, "Command">;
172
172
  CompressedSignature: import("@mysten/bcs").BcsEnum<{
173
- ED25519: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
174
- length: number;
175
- }, string>;
176
- Secp256k1: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
177
- length: number;
178
- }, string>;
179
- Secp256r1: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
180
- length: number;
181
- }, string>;
182
- ZkLogin: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
183
- length: number;
184
- }, string>;
185
- Passkey: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
186
- length: number;
187
- }, string>;
173
+ ED25519: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[64]">;
174
+ Secp256k1: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[64]">;
175
+ Secp256r1: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[64]">;
176
+ ZkLogin: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
177
+ Passkey: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
188
178
  }, "CompressedSignature">;
189
179
  GasData: import("@mysten/bcs").BcsStruct<{
190
180
  payment: import("@mysten/bcs").BcsType<{
@@ -228,27 +218,17 @@ declare const suiBcs: {
228
218
  }, "IntentVersion">;
229
219
  MultiSig: import("@mysten/bcs").BcsStruct<{
230
220
  sigs: import("@mysten/bcs").BcsType<import("@mysten/bcs").EnumOutputShapeWithKeys<{
231
- ED25519: number[];
232
- Secp256k1: number[];
233
- Secp256r1: number[];
234
- ZkLogin: number[];
235
- Passkey: number[];
221
+ ED25519: Uint8Array<ArrayBufferLike>;
222
+ Secp256k1: Uint8Array<ArrayBufferLike>;
223
+ Secp256r1: Uint8Array<ArrayBufferLike>;
224
+ ZkLogin: Uint8Array<ArrayBufferLike>;
225
+ Passkey: Uint8Array<ArrayBufferLike>;
236
226
  }, "ED25519" | "Secp256k1" | "Secp256r1" | "ZkLogin" | "Passkey">[], Iterable<import("@mysten/bcs").EnumInputShape<{
237
- ED25519: Iterable<number> & {
238
- length: number;
239
- };
240
- Secp256k1: Iterable<number> & {
241
- length: number;
242
- };
243
- Secp256r1: Iterable<number> & {
244
- length: number;
245
- };
246
- ZkLogin: Iterable<number> & {
247
- length: number;
248
- };
249
- Passkey: Iterable<number> & {
250
- length: number;
251
- };
227
+ ED25519: Iterable<number>;
228
+ Secp256k1: Iterable<number>;
229
+ Secp256r1: Iterable<number>;
230
+ ZkLogin: Iterable<number>;
231
+ Passkey: Iterable<number>;
252
232
  }>> & {
253
233
  length: number;
254
234
  }, string>;
@@ -256,30 +236,20 @@ declare const suiBcs: {
256
236
  multisig_pk: import("@mysten/bcs").BcsStruct<{
257
237
  pk_map: import("@mysten/bcs").BcsType<{
258
238
  pubKey: import("@mysten/bcs").EnumOutputShapeWithKeys<{
259
- ED25519: number[];
260
- Secp256k1: number[];
261
- Secp256r1: number[];
262
- ZkLogin: number[];
263
- Passkey: number[];
239
+ ED25519: Uint8Array<ArrayBufferLike>;
240
+ Secp256k1: Uint8Array<ArrayBufferLike>;
241
+ Secp256r1: Uint8Array<ArrayBufferLike>;
242
+ ZkLogin: Uint8Array<ArrayBufferLike>;
243
+ Passkey: Uint8Array<ArrayBufferLike>;
264
244
  }, "ED25519" | "Secp256k1" | "Secp256r1" | "ZkLogin" | "Passkey">;
265
245
  weight: number;
266
246
  }[], Iterable<{
267
247
  pubKey: import("@mysten/bcs").EnumInputShape<{
268
- ED25519: Iterable<number> & {
269
- length: number;
270
- };
271
- Secp256k1: Iterable<number> & {
272
- length: number;
273
- };
274
- Secp256r1: Iterable<number> & {
275
- length: number;
276
- };
277
- ZkLogin: Iterable<number> & {
278
- length: number;
279
- };
280
- Passkey: Iterable<number> & {
281
- length: number;
282
- };
248
+ ED25519: Iterable<number>;
249
+ Secp256k1: Iterable<number>;
250
+ Secp256r1: Iterable<number>;
251
+ ZkLogin: Iterable<number>;
252
+ Passkey: Iterable<number>;
283
253
  }>;
284
254
  weight: number;
285
255
  }> & {
@@ -290,51 +260,31 @@ declare const suiBcs: {
290
260
  }, string>;
291
261
  MultiSigPkMap: import("@mysten/bcs").BcsStruct<{
292
262
  pubKey: import("@mysten/bcs").BcsEnum<{
293
- ED25519: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
294
- length: number;
295
- }, string>;
296
- Secp256k1: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
297
- length: number;
298
- }, string>;
299
- Secp256r1: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
300
- length: number;
301
- }, string>;
302
- ZkLogin: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
303
- length: number;
304
- }, string>;
305
- Passkey: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
306
- length: number;
307
- }, string>;
263
+ ED25519: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[32]">;
264
+ Secp256k1: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[33]">;
265
+ Secp256r1: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[33]">;
266
+ ZkLogin: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
267
+ Passkey: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[33]">;
308
268
  }, "PublicKey">;
309
269
  weight: import("@mysten/bcs").BcsType<number, number, "u8">;
310
270
  }, string>;
311
271
  MultiSigPublicKey: import("@mysten/bcs").BcsStruct<{
312
272
  pk_map: import("@mysten/bcs").BcsType<{
313
273
  pubKey: import("@mysten/bcs").EnumOutputShapeWithKeys<{
314
- ED25519: number[];
315
- Secp256k1: number[];
316
- Secp256r1: number[];
317
- ZkLogin: number[];
318
- Passkey: number[];
274
+ ED25519: Uint8Array<ArrayBufferLike>;
275
+ Secp256k1: Uint8Array<ArrayBufferLike>;
276
+ Secp256r1: Uint8Array<ArrayBufferLike>;
277
+ ZkLogin: Uint8Array<ArrayBufferLike>;
278
+ Passkey: Uint8Array<ArrayBufferLike>;
319
279
  }, "ED25519" | "Secp256k1" | "Secp256r1" | "ZkLogin" | "Passkey">;
320
280
  weight: number;
321
281
  }[], Iterable<{
322
282
  pubKey: import("@mysten/bcs").EnumInputShape<{
323
- ED25519: Iterable<number> & {
324
- length: number;
325
- };
326
- Secp256k1: Iterable<number> & {
327
- length: number;
328
- };
329
- Secp256r1: Iterable<number> & {
330
- length: number;
331
- };
332
- ZkLogin: Iterable<number> & {
333
- length: number;
334
- };
335
- Passkey: Iterable<number> & {
336
- length: number;
337
- };
283
+ ED25519: Iterable<number>;
284
+ Secp256k1: Iterable<number>;
285
+ Secp256r1: Iterable<number>;
286
+ ZkLogin: Iterable<number>;
287
+ Passkey: Iterable<number>;
338
288
  }>;
339
289
  weight: number;
340
290
  }> & {
@@ -373,13 +323,9 @@ declare const suiBcs: {
373
323
  }, string>;
374
324
  }, "Owner">;
375
325
  PasskeyAuthenticator: import("@mysten/bcs").BcsStruct<{
376
- authenticatorData: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
377
- length: number;
378
- }, string>;
326
+ authenticatorData: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
379
327
  clientDataJson: import("@mysten/bcs").BcsType<string, string, "string">;
380
- userSignature: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
381
- length: number;
382
- }, string>;
328
+ userSignature: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
383
329
  }, string>;
384
330
  ProgrammableMoveCall: import("@mysten/bcs").BcsStruct<{
385
331
  package: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
@@ -631,21 +577,11 @@ declare const suiBcs: {
631
577
  }, string>;
632
578
  }, string>;
633
579
  PublicKey: import("@mysten/bcs").BcsEnum<{
634
- ED25519: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
635
- length: number;
636
- }, string>;
637
- Secp256k1: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
638
- length: number;
639
- }, string>;
640
- Secp256r1: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
641
- length: number;
642
- }, string>;
643
- ZkLogin: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
644
- length: number;
645
- }, string>;
646
- Passkey: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
647
- length: number;
648
- }, string>;
580
+ ED25519: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[32]">;
581
+ Secp256k1: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[33]">;
582
+ Secp256r1: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[33]">;
583
+ ZkLogin: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
584
+ Passkey: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "bytes[33]">;
649
585
  }, "PublicKey">;
650
586
  SenderSignedData: import("@mysten/bcs").BcsType<{
651
587
  intentMessage: {
@@ -1896,9 +1832,7 @@ declare const suiBcs: {
1896
1832
  }, string>;
1897
1833
  IncompatibleUpgrade: null;
1898
1834
  DigestDoesNotMatch: import("@mysten/bcs").BcsStruct<{
1899
- digest: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
1900
- length: number;
1901
- }, string>;
1835
+ digest: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
1902
1836
  }, string>;
1903
1837
  UnknownUpgradePolicy: import("@mysten/bcs").BcsStruct<{
1904
1838
  policy: import("@mysten/bcs").BcsType<number, number, "u8">;
@@ -2220,9 +2154,7 @@ declare const suiBcs: {
2220
2154
  }, string>;
2221
2155
  IncompatibleUpgrade: null;
2222
2156
  DigestDoesNotMatch: import("@mysten/bcs").BcsStruct<{
2223
- digest: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
2224
- length: number;
2225
- }, string>;
2157
+ digest: import("@mysten/bcs").BcsType<Uint8Array<ArrayBufferLike>, Iterable<number>, "vector<u8>">;
2226
2158
  }, string>;
2227
2159
  UnknownUpgradePolicy: import("@mysten/bcs").BcsStruct<{
2228
2160
  policy: import("@mysten/bcs").BcsType<number, number, "u8">;
@@ -4,3 +4,4 @@ export declare class TypeTagSerializer {
4
4
  static parseStructTypeArgs(str: string, normalizeAddress?: boolean): TypeTag[];
5
5
  static tagToString(tag: TypeTag): string;
6
6
  }
7
+ export declare function normalizeTypeTag(type: string): string;
@@ -87,7 +87,11 @@ class TypeTagSerializer {
87
87
  throw new Error("Invalid TypeTag");
88
88
  }
89
89
  }
90
+ function normalizeTypeTag(type) {
91
+ return TypeTagSerializer.tagToString(TypeTagSerializer.parseFromStr(type));
92
+ }
90
93
  export {
91
- TypeTagSerializer
94
+ TypeTagSerializer,
95
+ normalizeTypeTag
92
96
  };
93
97
  //# sourceMappingURL=type-tag-serializer.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/bcs/type-tag-serializer.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { splitGenericParameters } from '@mysten/bcs';\n\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type { TypeTag } from './types.js';\n\nconst VECTOR_REGEX = /^vector<(.+)>$/;\nconst STRUCT_REGEX = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;\n\nexport class TypeTagSerializer {\n\tstatic parseFromStr(str: string, normalizeAddress = false): TypeTag {\n\t\tif (str === 'address') {\n\t\t\treturn { address: null };\n\t\t} else if (str === 'bool') {\n\t\t\treturn { bool: null };\n\t\t} else if (str === 'u8') {\n\t\t\treturn { u8: null };\n\t\t} else if (str === 'u16') {\n\t\t\treturn { u16: null };\n\t\t} else if (str === 'u32') {\n\t\t\treturn { u32: null };\n\t\t} else if (str === 'u64') {\n\t\t\treturn { u64: null };\n\t\t} else if (str === 'u128') {\n\t\t\treturn { u128: null };\n\t\t} else if (str === 'u256') {\n\t\t\treturn { u256: null };\n\t\t} else if (str === 'signer') {\n\t\t\treturn { signer: null };\n\t\t}\n\n\t\tconst vectorMatch = str.match(VECTOR_REGEX);\n\t\tif (vectorMatch) {\n\t\t\treturn {\n\t\t\t\tvector: TypeTagSerializer.parseFromStr(vectorMatch[1], normalizeAddress),\n\t\t\t};\n\t\t}\n\n\t\tconst structMatch = str.match(STRUCT_REGEX);\n\t\tif (structMatch) {\n\t\t\tconst address = normalizeAddress ? normalizeSuiAddress(structMatch[1]) : structMatch[1];\n\t\t\treturn {\n\t\t\t\tstruct: {\n\t\t\t\t\taddress,\n\t\t\t\t\tmodule: structMatch[2],\n\t\t\t\t\tname: structMatch[3],\n\t\t\t\t\ttypeParams:\n\t\t\t\t\t\tstructMatch[5] === undefined\n\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t: TypeTagSerializer.parseStructTypeArgs(structMatch[5], normalizeAddress),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tthrow new Error(`Encountered unexpected token when parsing type args for ${str}`);\n\t}\n\n\tstatic parseStructTypeArgs(str: string, normalizeAddress = false): TypeTag[] {\n\t\treturn splitGenericParameters(str).map((tok) =>\n\t\t\tTypeTagSerializer.parseFromStr(tok, normalizeAddress),\n\t\t);\n\t}\n\n\tstatic tagToString(tag: TypeTag): string {\n\t\tif ('bool' in tag) {\n\t\t\treturn 'bool';\n\t\t}\n\t\tif ('u8' in tag) {\n\t\t\treturn 'u8';\n\t\t}\n\t\tif ('u16' in tag) {\n\t\t\treturn 'u16';\n\t\t}\n\t\tif ('u32' in tag) {\n\t\t\treturn 'u32';\n\t\t}\n\t\tif ('u64' in tag) {\n\t\t\treturn 'u64';\n\t\t}\n\t\tif ('u128' in tag) {\n\t\t\treturn 'u128';\n\t\t}\n\t\tif ('u256' in tag) {\n\t\t\treturn 'u256';\n\t\t}\n\t\tif ('address' in tag) {\n\t\t\treturn 'address';\n\t\t}\n\t\tif ('signer' in tag) {\n\t\t\treturn 'signer';\n\t\t}\n\t\tif ('vector' in tag) {\n\t\t\treturn `vector<${TypeTagSerializer.tagToString(tag.vector)}>`;\n\t\t}\n\t\tif ('struct' in tag) {\n\t\t\tconst struct = tag.struct;\n\t\t\tconst typeParams = struct.typeParams.map(TypeTagSerializer.tagToString).join(', ');\n\t\t\treturn `${struct.address}::${struct.module}::${struct.name}${\n\t\t\t\ttypeParams ? `<${typeParams}>` : ''\n\t\t\t}`;\n\t\t}\n\t\tthrow new Error('Invalid TypeTag');\n\t}\n}\n"],
5
- "mappings": "AAGA,SAAS,8BAA8B;AAEvC,SAAS,2BAA2B;AAGpC,MAAM,eAAe;AACrB,MAAM,eAAe;AAEd,MAAM,kBAAkB;AAAA,EAC9B,OAAO,aAAa,KAAa,mBAAmB,OAAgB;AACnE,QAAI,QAAQ,WAAW;AACtB,aAAO,EAAE,SAAS,KAAK;AAAA,IACxB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,MAAM;AACxB,aAAO,EAAE,IAAI,KAAK;AAAA,IACnB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,UAAU;AAC5B,aAAO,EAAE,QAAQ,KAAK;AAAA,IACvB;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,aAAO;AAAA,QACN,QAAQ,kBAAkB,aAAa,YAAY,CAAC,GAAG,gBAAgB;AAAA,MACxE;AAAA,IACD;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,YAAM,UAAU,mBAAmB,oBAAoB,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AACtF,aAAO;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,UACA,QAAQ,YAAY,CAAC;AAAA,UACrB,MAAM,YAAY,CAAC;AAAA,UACnB,YACC,YAAY,CAAC,MAAM,SAChB,CAAC,IACD,kBAAkB,oBAAoB,YAAY,CAAC,GAAG,gBAAgB;AAAA,QAC3E;AAAA,MACD;AAAA,IACD;AAEA,UAAM,IAAI,MAAM,2DAA2D,GAAG,EAAE;AAAA,EACjF;AAAA,EAEA,OAAO,oBAAoB,KAAa,mBAAmB,OAAkB;AAC5E,WAAO,uBAAuB,GAAG,EAAE;AAAA,MAAI,CAAC,QACvC,kBAAkB,aAAa,KAAK,gBAAgB;AAAA,IACrD;AAAA,EACD;AAAA,EAEA,OAAO,YAAY,KAAsB;AACxC,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,QAAQ,KAAK;AAChB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,aAAa,KAAK;AACrB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO,UAAU,kBAAkB,YAAY,IAAI,MAAM,CAAC;AAAA,IAC3D;AACA,QAAI,YAAY,KAAK;AACpB,YAAM,SAAS,IAAI;AACnB,YAAM,aAAa,OAAO,WAAW,IAAI,kBAAkB,WAAW,EAAE,KAAK,IAAI;AACjF,aAAO,GAAG,OAAO,OAAO,KAAK,OAAO,MAAM,KAAK,OAAO,IAAI,GACzD,aAAa,IAAI,UAAU,MAAM,EAClC;AAAA,IACD;AACA,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAClC;AACD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { splitGenericParameters } from '@mysten/bcs';\n\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport type { TypeTag } from './types.js';\n\nconst VECTOR_REGEX = /^vector<(.+)>$/;\nconst STRUCT_REGEX = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;\n\nexport class TypeTagSerializer {\n\tstatic parseFromStr(str: string, normalizeAddress = false): TypeTag {\n\t\tif (str === 'address') {\n\t\t\treturn { address: null };\n\t\t} else if (str === 'bool') {\n\t\t\treturn { bool: null };\n\t\t} else if (str === 'u8') {\n\t\t\treturn { u8: null };\n\t\t} else if (str === 'u16') {\n\t\t\treturn { u16: null };\n\t\t} else if (str === 'u32') {\n\t\t\treturn { u32: null };\n\t\t} else if (str === 'u64') {\n\t\t\treturn { u64: null };\n\t\t} else if (str === 'u128') {\n\t\t\treturn { u128: null };\n\t\t} else if (str === 'u256') {\n\t\t\treturn { u256: null };\n\t\t} else if (str === 'signer') {\n\t\t\treturn { signer: null };\n\t\t}\n\n\t\tconst vectorMatch = str.match(VECTOR_REGEX);\n\t\tif (vectorMatch) {\n\t\t\treturn {\n\t\t\t\tvector: TypeTagSerializer.parseFromStr(vectorMatch[1], normalizeAddress),\n\t\t\t};\n\t\t}\n\n\t\tconst structMatch = str.match(STRUCT_REGEX);\n\t\tif (structMatch) {\n\t\t\tconst address = normalizeAddress ? normalizeSuiAddress(structMatch[1]) : structMatch[1];\n\t\t\treturn {\n\t\t\t\tstruct: {\n\t\t\t\t\taddress,\n\t\t\t\t\tmodule: structMatch[2],\n\t\t\t\t\tname: structMatch[3],\n\t\t\t\t\ttypeParams:\n\t\t\t\t\t\tstructMatch[5] === undefined\n\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t: TypeTagSerializer.parseStructTypeArgs(structMatch[5], normalizeAddress),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tthrow new Error(`Encountered unexpected token when parsing type args for ${str}`);\n\t}\n\n\tstatic parseStructTypeArgs(str: string, normalizeAddress = false): TypeTag[] {\n\t\treturn splitGenericParameters(str).map((tok) =>\n\t\t\tTypeTagSerializer.parseFromStr(tok, normalizeAddress),\n\t\t);\n\t}\n\n\tstatic tagToString(tag: TypeTag): string {\n\t\tif ('bool' in tag) {\n\t\t\treturn 'bool';\n\t\t}\n\t\tif ('u8' in tag) {\n\t\t\treturn 'u8';\n\t\t}\n\t\tif ('u16' in tag) {\n\t\t\treturn 'u16';\n\t\t}\n\t\tif ('u32' in tag) {\n\t\t\treturn 'u32';\n\t\t}\n\t\tif ('u64' in tag) {\n\t\t\treturn 'u64';\n\t\t}\n\t\tif ('u128' in tag) {\n\t\t\treturn 'u128';\n\t\t}\n\t\tif ('u256' in tag) {\n\t\t\treturn 'u256';\n\t\t}\n\t\tif ('address' in tag) {\n\t\t\treturn 'address';\n\t\t}\n\t\tif ('signer' in tag) {\n\t\t\treturn 'signer';\n\t\t}\n\t\tif ('vector' in tag) {\n\t\t\treturn `vector<${TypeTagSerializer.tagToString(tag.vector)}>`;\n\t\t}\n\t\tif ('struct' in tag) {\n\t\t\tconst struct = tag.struct;\n\t\t\tconst typeParams = struct.typeParams.map(TypeTagSerializer.tagToString).join(', ');\n\t\t\treturn `${struct.address}::${struct.module}::${struct.name}${\n\t\t\t\ttypeParams ? `<${typeParams}>` : ''\n\t\t\t}`;\n\t\t}\n\t\tthrow new Error('Invalid TypeTag');\n\t}\n}\n\nexport function normalizeTypeTag(type: string): string {\n\treturn TypeTagSerializer.tagToString(TypeTagSerializer.parseFromStr(type));\n}\n"],
5
+ "mappings": "AAGA,SAAS,8BAA8B;AAEvC,SAAS,2BAA2B;AAGpC,MAAM,eAAe;AACrB,MAAM,eAAe;AAEd,MAAM,kBAAkB;AAAA,EAC9B,OAAO,aAAa,KAAa,mBAAmB,OAAgB;AACnE,QAAI,QAAQ,WAAW;AACtB,aAAO,EAAE,SAAS,KAAK;AAAA,IACxB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,MAAM;AACxB,aAAO,EAAE,IAAI,KAAK;AAAA,IACnB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,OAAO;AACzB,aAAO,EAAE,KAAK,KAAK;AAAA,IACpB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,QAAQ;AAC1B,aAAO,EAAE,MAAM,KAAK;AAAA,IACrB,WAAW,QAAQ,UAAU;AAC5B,aAAO,EAAE,QAAQ,KAAK;AAAA,IACvB;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,aAAO;AAAA,QACN,QAAQ,kBAAkB,aAAa,YAAY,CAAC,GAAG,gBAAgB;AAAA,MACxE;AAAA,IACD;AAEA,UAAM,cAAc,IAAI,MAAM,YAAY;AAC1C,QAAI,aAAa;AAChB,YAAM,UAAU,mBAAmB,oBAAoB,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC;AACtF,aAAO;AAAA,QACN,QAAQ;AAAA,UACP;AAAA,UACA,QAAQ,YAAY,CAAC;AAAA,UACrB,MAAM,YAAY,CAAC;AAAA,UACnB,YACC,YAAY,CAAC,MAAM,SAChB,CAAC,IACD,kBAAkB,oBAAoB,YAAY,CAAC,GAAG,gBAAgB;AAAA,QAC3E;AAAA,MACD;AAAA,IACD;AAEA,UAAM,IAAI,MAAM,2DAA2D,GAAG,EAAE;AAAA,EACjF;AAAA,EAEA,OAAO,oBAAoB,KAAa,mBAAmB,OAAkB;AAC5E,WAAO,uBAAuB,GAAG,EAAE;AAAA,MAAI,CAAC,QACvC,kBAAkB,aAAa,KAAK,gBAAgB;AAAA,IACrD;AAAA,EACD;AAAA,EAEA,OAAO,YAAY,KAAsB;AACxC,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,QAAQ,KAAK;AAChB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,SAAS,KAAK;AACjB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,UAAU,KAAK;AAClB,aAAO;AAAA,IACR;AACA,QAAI,aAAa,KAAK;AACrB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO;AAAA,IACR;AACA,QAAI,YAAY,KAAK;AACpB,aAAO,UAAU,kBAAkB,YAAY,IAAI,MAAM,CAAC;AAAA,IAC3D;AACA,QAAI,YAAY,KAAK;AACpB,YAAM,SAAS,IAAI;AACnB,YAAM,aAAa,OAAO,WAAW,IAAI,kBAAkB,WAAW,EAAE,KAAK,IAAI;AACjF,aAAO,GAAG,OAAO,OAAO,KAAK,OAAO,MAAM,KAAK,OAAO,IAAI,GACzD,aAAa,IAAI,UAAU,MAAM,EAClC;AAAA,IACD;AACA,UAAM,IAAI,MAAM,iBAAiB;AAAA,EAClC;AACD;AAEO,SAAS,iBAAiB,MAAsB;AACtD,SAAO,kBAAkB,YAAY,kBAAkB,aAAa,IAAI,CAAC;AAC1E;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import { bcs } from "../bcs/index.js";
2
2
  function messageWithIntent(scope, message) {
3
- return bcs.IntentMessage(bcs.fixedArray(message.length, bcs.u8())).serialize({
3
+ return bcs.IntentMessage(bcs.bytes(message.length)).serialize({
4
4
  intent: {
5
5
  scope: { [scope]: true },
6
6
  version: { V0: true },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cryptography/intent.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '../bcs/index.js';\n\nexport type IntentScope = Exclude<keyof typeof bcs.IntentScope.$inferType, '$kind'>;\n/**\n * Inserts a domain separator for a message that is being signed\n */\nexport function messageWithIntent(scope: IntentScope, message: Uint8Array) {\n\treturn bcs\n\t\t.IntentMessage(bcs.fixedArray(message.length, bcs.u8()))\n\t\t.serialize({\n\t\t\tintent: {\n\t\t\t\tscope: { [scope as 'PersonalMessage']: true },\n\t\t\t\tversion: { V0: true },\n\t\t\t\tappId: { Sui: true },\n\t\t\t},\n\t\t\tvalue: message,\n\t\t})\n\t\t.toBytes();\n}\n"],
5
- "mappings": "AAGA,SAAS,WAAW;AAMb,SAAS,kBAAkB,OAAoB,SAAqB;AAC1E,SAAO,IACL,cAAc,IAAI,WAAW,QAAQ,QAAQ,IAAI,GAAG,CAAC,CAAC,EACtD,UAAU;AAAA,IACV,QAAQ;AAAA,MACP,OAAO,EAAE,CAAC,KAA0B,GAAG,KAAK;AAAA,MAC5C,SAAS,EAAE,IAAI,KAAK;AAAA,MACpB,OAAO,EAAE,KAAK,KAAK;AAAA,IACpB;AAAA,IACA,OAAO;AAAA,EACR,CAAC,EACA,QAAQ;AACX;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '../bcs/index.js';\n\nexport type IntentScope = Exclude<keyof typeof bcs.IntentScope.$inferType, '$kind'>;\n/**\n * Inserts a domain separator for a message that is being signed\n */\nexport function messageWithIntent(scope: IntentScope, message: Uint8Array) {\n\treturn bcs\n\t\t.IntentMessage(bcs.bytes(message.length))\n\t\t.serialize({\n\t\t\tintent: {\n\t\t\t\tscope: { [scope as 'PersonalMessage']: true },\n\t\t\t\tversion: { V0: true },\n\t\t\t\tappId: { Sui: true },\n\t\t\t},\n\t\t\tvalue: message,\n\t\t})\n\t\t.toBytes();\n}\n"],
5
+ "mappings": "AAGA,SAAS,WAAW;AAMb,SAAS,kBAAkB,OAAoB,SAAqB;AAC1E,SAAO,IACL,cAAc,IAAI,MAAM,QAAQ,MAAM,CAAC,EACvC,UAAU;AAAA,IACV,QAAQ;AAAA,MACP,OAAO,EAAE,CAAC,KAA0B,GAAG,KAAK;AAAA,MAC5C,SAAS,EAAE,IAAI,KAAK;AAAA,MACpB,OAAO,EAAE,KAAK,KAAK;AAAA,IACpB;AAAA,IACA,OAAO;AAAA,EACR,CAAC,EACA,QAAQ;AACX;",
6
6
  "names": []
7
7
  }
@@ -36,7 +36,7 @@ class Signer {
36
36
  */
37
37
  async signPersonalMessage(bytes) {
38
38
  const { signature } = await this.signWithIntent(
39
- bcs.vector(bcs.u8()).serialize(bytes).toBytes(),
39
+ bcs.byteVector().serialize(bytes).toBytes(),
40
40
  "PersonalMessage"
41
41
  );
42
42
  return {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cryptography/keypair.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs, toBase64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bech32 } from '@scure/base';\n\nimport type { IntentScope } from './intent.js';\nimport { messageWithIntent } from './intent.js';\nimport type { PublicKey } from './publickey.js';\nimport { SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_FLAG } from './signature-scheme.js';\nimport type { SignatureScheme } from './signature-scheme.js';\nimport { toSerializedSignature } from './signature.js';\nimport type { Transaction } from '../transactions/Transaction.js';\nimport type { ClientWithCoreApi, Experimental_SuiClientTypes } from '../experimental/index.js';\n\nexport const PRIVATE_KEY_SIZE = 32;\nexport const LEGACY_PRIVATE_KEY_SIZE = 64;\nexport const SUI_PRIVATE_KEY_PREFIX = 'suiprivkey';\n\nexport type ParsedKeypair = {\n\tscheme: SignatureScheme;\n\t/** @deprecated use `scheme` instead */\n\tschema: SignatureScheme;\n\tsecretKey: Uint8Array;\n};\n\nexport interface SignatureWithBytes {\n\tbytes: string;\n\tsignature: string;\n}\n\nexport interface SignAndExecuteOptions {\n\ttransaction: Transaction;\n\tclient: ClientWithCoreApi;\n}\n\n/**\n * TODO: Document\n */\nexport abstract class Signer {\n\tabstract sign(bytes: Uint8Array): Promise<Uint8Array<ArrayBuffer>>;\n\t/**\n\t * Sign messages with a specific intent. By combining the message bytes with the intent before hashing and signing,\n\t * it ensures that a signed message is tied to a specific purpose and domain separator is provided\n\t */\n\tasync signWithIntent(bytes: Uint8Array, intent: IntentScope): Promise<SignatureWithBytes> {\n\t\tconst intentMessage = messageWithIntent(intent, bytes);\n\t\tconst digest = blake2b(intentMessage, { dkLen: 32 });\n\n\t\tconst signature = toSerializedSignature({\n\t\t\tsignature: await this.sign(digest),\n\t\t\tsignatureScheme: this.getKeyScheme(),\n\t\t\tpublicKey: this.getPublicKey(),\n\t\t});\n\n\t\treturn {\n\t\t\tsignature,\n\t\t\tbytes: toBase64(bytes),\n\t\t};\n\t}\n\t/**\n\t * Signs provided transaction by calling `signWithIntent()` with a `TransactionData` provided as intent scope\n\t */\n\tasync signTransaction(bytes: Uint8Array) {\n\t\treturn this.signWithIntent(bytes, 'TransactionData');\n\t}\n\t/**\n\t * Signs provided personal message by calling `signWithIntent()` with a `PersonalMessage` provided as intent scope\n\t */\n\tasync signPersonalMessage(bytes: Uint8Array) {\n\t\tconst { signature } = await this.signWithIntent(\n\t\t\tbcs.vector(bcs.u8()).serialize(bytes).toBytes(),\n\t\t\t'PersonalMessage',\n\t\t);\n\n\t\treturn {\n\t\t\tbytes: toBase64(bytes),\n\t\t\tsignature,\n\t\t};\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tclient,\n\t}: SignAndExecuteOptions): Promise<\n\t\tOmit<Experimental_SuiClientTypes.TransactionResponse, 'balanceChanges'>\n\t> {\n\t\tconst bytes = await transaction.build({ client });\n\t\tconst { signature } = await this.signTransaction(bytes);\n\t\tconst response = await client.core.executeTransaction({\n\t\t\ttransaction: bytes,\n\t\t\tsignatures: [signature],\n\t\t});\n\n\t\treturn response.transaction;\n\t}\n\n\ttoSuiAddress(): string {\n\t\treturn this.getPublicKey().toSuiAddress();\n\t}\n\n\t/**\n\t * Get the key scheme of the keypair: Secp256k1 or ED25519\n\t */\n\tabstract getKeyScheme(): SignatureScheme;\n\n\t/**\n\t * The public key for this keypair\n\t */\n\tabstract getPublicKey(): PublicKey;\n}\n\nexport abstract class Keypair extends Signer {\n\t/**\n\t * This returns the Bech32 secret key string for this keypair.\n\t */\n\tabstract getSecretKey(): string;\n}\n\n/**\n * This returns an ParsedKeypair object based by validating the\n * 33-byte Bech32 encoded string starting with `suiprivkey`, and\n * parse out the signature scheme and the private key in bytes.\n */\nexport function decodeSuiPrivateKey(value: string): ParsedKeypair {\n\tconst { prefix, words } = bech32.decode(value as `${string}1${string}`);\n\tif (prefix !== SUI_PRIVATE_KEY_PREFIX) {\n\t\tthrow new Error('invalid private key prefix');\n\t}\n\tconst extendedSecretKey = new Uint8Array(bech32.fromWords(words));\n\tconst secretKey = extendedSecretKey.slice(1);\n\tconst signatureScheme =\n\t\tSIGNATURE_FLAG_TO_SCHEME[extendedSecretKey[0] as keyof typeof SIGNATURE_FLAG_TO_SCHEME];\n\n\treturn {\n\t\tscheme: signatureScheme,\n\t\tschema: signatureScheme,\n\t\tsecretKey: secretKey,\n\t};\n}\n\n/**\n * This returns a Bech32 encoded string starting with `suiprivkey`,\n * encoding 33-byte `flag || bytes` for the given the 32-byte private\n * key and its signature scheme.\n */\nexport function encodeSuiPrivateKey(bytes: Uint8Array, scheme: SignatureScheme): string {\n\tif (bytes.length !== PRIVATE_KEY_SIZE) {\n\t\tthrow new Error('Invalid bytes length');\n\t}\n\tconst flag = SIGNATURE_SCHEME_TO_FLAG[scheme];\n\tconst privKeyBytes = new Uint8Array(bytes.length + 1);\n\tprivKeyBytes.set([flag]);\n\tprivKeyBytes.set(bytes, 1);\n\treturn bech32.encode(SUI_PRIVATE_KEY_PREFIX, bech32.toWords(privKeyBytes));\n}\n"],
5
- "mappings": "AAGA,SAAS,KAAK,gBAAgB;AAC9B,SAAS,eAAe;AACxB,SAAS,cAAc;AAGvB,SAAS,yBAAyB;AAElC,SAAS,0BAA0B,gCAAgC;AAEnE,SAAS,6BAA6B;AAI/B,MAAM,mBAAmB;AACzB,MAAM,0BAA0B;AAChC,MAAM,yBAAyB;AAsB/B,MAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,MAAM,eAAe,OAAmB,QAAkD;AACzF,UAAM,gBAAgB,kBAAkB,QAAQ,KAAK;AACrD,UAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,GAAG,CAAC;AAEnD,UAAM,YAAY,sBAAsB;AAAA,MACvC,WAAW,MAAM,KAAK,KAAK,MAAM;AAAA,MACjC,iBAAiB,KAAK,aAAa;AAAA,MACnC,WAAW,KAAK,aAAa;AAAA,IAC9B,CAAC;AAED,WAAO;AAAA,MACN;AAAA,MACA,OAAO,SAAS,KAAK;AAAA,IACtB;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,gBAAgB,OAAmB;AACxC,WAAO,KAAK,eAAe,OAAO,iBAAiB;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,oBAAoB,OAAmB;AAC5C,UAAM,EAAE,UAAU,IAAI,MAAM,KAAK;AAAA,MAChC,IAAI,OAAO,IAAI,GAAG,CAAC,EAAE,UAAU,KAAK,EAAE,QAAQ;AAAA,MAC9C;AAAA,IACD;AAEA,WAAO;AAAA,MACN,OAAO,SAAS,KAAK;AAAA,MACrB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,0BAA0B;AAAA,IAC/B;AAAA,IACA;AAAA,EACD,GAEE;AACD,UAAM,QAAQ,MAAM,YAAY,MAAM,EAAE,OAAO,CAAC;AAChD,UAAM,EAAE,UAAU,IAAI,MAAM,KAAK,gBAAgB,KAAK;AACtD,UAAM,WAAW,MAAM,OAAO,KAAK,mBAAmB;AAAA,MACrD,aAAa;AAAA,MACb,YAAY,CAAC,SAAS;AAAA,IACvB,CAAC;AAED,WAAO,SAAS;AAAA,EACjB;AAAA,EAEA,eAAuB;AACtB,WAAO,KAAK,aAAa,EAAE,aAAa;AAAA,EACzC;AAWD;AAEO,MAAe,gBAAgB,OAAO;AAK7C;AAOO,SAAS,oBAAoB,OAA8B;AACjE,QAAM,EAAE,QAAQ,MAAM,IAAI,OAAO,OAAO,KAA8B;AACtE,MAAI,WAAW,wBAAwB;AACtC,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC7C;AACA,QAAM,oBAAoB,IAAI,WAAW,OAAO,UAAU,KAAK,CAAC;AAChE,QAAM,YAAY,kBAAkB,MAAM,CAAC;AAC3C,QAAM,kBACL,yBAAyB,kBAAkB,CAAC,CAA0C;AAEvF,SAAO;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,EACD;AACD;AAOO,SAAS,oBAAoB,OAAmB,QAAiC;AACvF,MAAI,MAAM,WAAW,kBAAkB;AACtC,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACvC;AACA,QAAM,OAAO,yBAAyB,MAAM;AAC5C,QAAM,eAAe,IAAI,WAAW,MAAM,SAAS,CAAC;AACpD,eAAa,IAAI,CAAC,IAAI,CAAC;AACvB,eAAa,IAAI,OAAO,CAAC;AACzB,SAAO,OAAO,OAAO,wBAAwB,OAAO,QAAQ,YAAY,CAAC;AAC1E;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs, toBase64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bech32 } from '@scure/base';\n\nimport type { IntentScope } from './intent.js';\nimport { messageWithIntent } from './intent.js';\nimport type { PublicKey } from './publickey.js';\nimport { SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_FLAG } from './signature-scheme.js';\nimport type { SignatureScheme } from './signature-scheme.js';\nimport { toSerializedSignature } from './signature.js';\nimport type { Transaction } from '../transactions/Transaction.js';\nimport type { ClientWithCoreApi, Experimental_SuiClientTypes } from '../experimental/index.js';\n\nexport const PRIVATE_KEY_SIZE = 32;\nexport const LEGACY_PRIVATE_KEY_SIZE = 64;\nexport const SUI_PRIVATE_KEY_PREFIX = 'suiprivkey';\n\nexport type ParsedKeypair = {\n\tscheme: SignatureScheme;\n\t/** @deprecated use `scheme` instead */\n\tschema: SignatureScheme;\n\tsecretKey: Uint8Array;\n};\n\nexport interface SignatureWithBytes {\n\tbytes: string;\n\tsignature: string;\n}\n\nexport interface SignAndExecuteOptions {\n\ttransaction: Transaction;\n\tclient: ClientWithCoreApi;\n}\n\n/**\n * TODO: Document\n */\nexport abstract class Signer {\n\tabstract sign(bytes: Uint8Array): Promise<Uint8Array<ArrayBuffer>>;\n\t/**\n\t * Sign messages with a specific intent. By combining the message bytes with the intent before hashing and signing,\n\t * it ensures that a signed message is tied to a specific purpose and domain separator is provided\n\t */\n\tasync signWithIntent(bytes: Uint8Array, intent: IntentScope): Promise<SignatureWithBytes> {\n\t\tconst intentMessage = messageWithIntent(intent, bytes);\n\t\tconst digest = blake2b(intentMessage, { dkLen: 32 });\n\n\t\tconst signature = toSerializedSignature({\n\t\t\tsignature: await this.sign(digest),\n\t\t\tsignatureScheme: this.getKeyScheme(),\n\t\t\tpublicKey: this.getPublicKey(),\n\t\t});\n\n\t\treturn {\n\t\t\tsignature,\n\t\t\tbytes: toBase64(bytes),\n\t\t};\n\t}\n\t/**\n\t * Signs provided transaction by calling `signWithIntent()` with a `TransactionData` provided as intent scope\n\t */\n\tasync signTransaction(bytes: Uint8Array) {\n\t\treturn this.signWithIntent(bytes, 'TransactionData');\n\t}\n\t/**\n\t * Signs provided personal message by calling `signWithIntent()` with a `PersonalMessage` provided as intent scope\n\t */\n\tasync signPersonalMessage(bytes: Uint8Array) {\n\t\tconst { signature } = await this.signWithIntent(\n\t\t\tbcs.byteVector().serialize(bytes).toBytes(),\n\t\t\t'PersonalMessage',\n\t\t);\n\n\t\treturn {\n\t\t\tbytes: toBase64(bytes),\n\t\t\tsignature,\n\t\t};\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tclient,\n\t}: SignAndExecuteOptions): Promise<\n\t\tOmit<Experimental_SuiClientTypes.TransactionResponse, 'balanceChanges'>\n\t> {\n\t\tconst bytes = await transaction.build({ client });\n\t\tconst { signature } = await this.signTransaction(bytes);\n\t\tconst response = await client.core.executeTransaction({\n\t\t\ttransaction: bytes,\n\t\t\tsignatures: [signature],\n\t\t});\n\n\t\treturn response.transaction;\n\t}\n\n\ttoSuiAddress(): string {\n\t\treturn this.getPublicKey().toSuiAddress();\n\t}\n\n\t/**\n\t * Get the key scheme of the keypair: Secp256k1 or ED25519\n\t */\n\tabstract getKeyScheme(): SignatureScheme;\n\n\t/**\n\t * The public key for this keypair\n\t */\n\tabstract getPublicKey(): PublicKey;\n}\n\nexport abstract class Keypair extends Signer {\n\t/**\n\t * This returns the Bech32 secret key string for this keypair.\n\t */\n\tabstract getSecretKey(): string;\n}\n\n/**\n * This returns an ParsedKeypair object based by validating the\n * 33-byte Bech32 encoded string starting with `suiprivkey`, and\n * parse out the signature scheme and the private key in bytes.\n */\nexport function decodeSuiPrivateKey(value: string): ParsedKeypair {\n\tconst { prefix, words } = bech32.decode(value as `${string}1${string}`);\n\tif (prefix !== SUI_PRIVATE_KEY_PREFIX) {\n\t\tthrow new Error('invalid private key prefix');\n\t}\n\tconst extendedSecretKey = new Uint8Array(bech32.fromWords(words));\n\tconst secretKey = extendedSecretKey.slice(1);\n\tconst signatureScheme =\n\t\tSIGNATURE_FLAG_TO_SCHEME[extendedSecretKey[0] as keyof typeof SIGNATURE_FLAG_TO_SCHEME];\n\n\treturn {\n\t\tscheme: signatureScheme,\n\t\tschema: signatureScheme,\n\t\tsecretKey: secretKey,\n\t};\n}\n\n/**\n * This returns a Bech32 encoded string starting with `suiprivkey`,\n * encoding 33-byte `flag || bytes` for the given the 32-byte private\n * key and its signature scheme.\n */\nexport function encodeSuiPrivateKey(bytes: Uint8Array, scheme: SignatureScheme): string {\n\tif (bytes.length !== PRIVATE_KEY_SIZE) {\n\t\tthrow new Error('Invalid bytes length');\n\t}\n\tconst flag = SIGNATURE_SCHEME_TO_FLAG[scheme];\n\tconst privKeyBytes = new Uint8Array(bytes.length + 1);\n\tprivKeyBytes.set([flag]);\n\tprivKeyBytes.set(bytes, 1);\n\treturn bech32.encode(SUI_PRIVATE_KEY_PREFIX, bech32.toWords(privKeyBytes));\n}\n"],
5
+ "mappings": "AAGA,SAAS,KAAK,gBAAgB;AAC9B,SAAS,eAAe;AACxB,SAAS,cAAc;AAGvB,SAAS,yBAAyB;AAElC,SAAS,0BAA0B,gCAAgC;AAEnE,SAAS,6BAA6B;AAI/B,MAAM,mBAAmB;AACzB,MAAM,0BAA0B;AAChC,MAAM,yBAAyB;AAsB/B,MAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,MAAM,eAAe,OAAmB,QAAkD;AACzF,UAAM,gBAAgB,kBAAkB,QAAQ,KAAK;AACrD,UAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,GAAG,CAAC;AAEnD,UAAM,YAAY,sBAAsB;AAAA,MACvC,WAAW,MAAM,KAAK,KAAK,MAAM;AAAA,MACjC,iBAAiB,KAAK,aAAa;AAAA,MACnC,WAAW,KAAK,aAAa;AAAA,IAC9B,CAAC;AAED,WAAO;AAAA,MACN;AAAA,MACA,OAAO,SAAS,KAAK;AAAA,IACtB;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,gBAAgB,OAAmB;AACxC,WAAO,KAAK,eAAe,OAAO,iBAAiB;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,oBAAoB,OAAmB;AAC5C,UAAM,EAAE,UAAU,IAAI,MAAM,KAAK;AAAA,MAChC,IAAI,WAAW,EAAE,UAAU,KAAK,EAAE,QAAQ;AAAA,MAC1C;AAAA,IACD;AAEA,WAAO;AAAA,MACN,OAAO,SAAS,KAAK;AAAA,MACrB;AAAA,IACD;AAAA,EACD;AAAA,EAEA,MAAM,0BAA0B;AAAA,IAC/B;AAAA,IACA;AAAA,EACD,GAEE;AACD,UAAM,QAAQ,MAAM,YAAY,MAAM,EAAE,OAAO,CAAC;AAChD,UAAM,EAAE,UAAU,IAAI,MAAM,KAAK,gBAAgB,KAAK;AACtD,UAAM,WAAW,MAAM,OAAO,KAAK,mBAAmB;AAAA,MACrD,aAAa;AAAA,MACb,YAAY,CAAC,SAAS;AAAA,IACvB,CAAC;AAED,WAAO,SAAS;AAAA,EACjB;AAAA,EAEA,eAAuB;AACtB,WAAO,KAAK,aAAa,EAAE,aAAa;AAAA,EACzC;AAWD;AAEO,MAAe,gBAAgB,OAAO;AAK7C;AAOO,SAAS,oBAAoB,OAA8B;AACjE,QAAM,EAAE,QAAQ,MAAM,IAAI,OAAO,OAAO,KAA8B;AACtE,MAAI,WAAW,wBAAwB;AACtC,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC7C;AACA,QAAM,oBAAoB,IAAI,WAAW,OAAO,UAAU,KAAK,CAAC;AAChE,QAAM,YAAY,kBAAkB,MAAM,CAAC;AAC3C,QAAM,kBACL,yBAAyB,kBAAkB,CAAC,CAA0C;AAEvF,SAAO;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,EACD;AACD;AAOO,SAAS,oBAAoB,OAAmB,QAAiC;AACvF,MAAI,MAAM,WAAW,kBAAkB;AACtC,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACvC;AACA,QAAM,OAAO,yBAAyB,MAAM;AAC5C,QAAM,eAAe,IAAI,WAAW,MAAM,SAAS,CAAC;AACpD,eAAa,IAAI,CAAC,IAAI,CAAC;AACvB,eAAa,IAAI,OAAO,CAAC;AACzB,SAAO,OAAO,OAAO,wBAAwB,OAAO,QAAQ,YAAY,CAAC;AAC1E;",
6
6
  "names": []
7
7
  }
@@ -54,7 +54,7 @@ class PublicKey {
54
54
  */
55
55
  verifyPersonalMessage(message, signature) {
56
56
  return this.verifyWithIntent(
57
- bcs.vector(bcs.u8()).serialize(message).toBytes(),
57
+ bcs.byteVector().serialize(message).toBytes(),
58
58
  signature,
59
59
  "PersonalMessage"
60
60
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cryptography/publickey.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { bcs } from '../bcs/index.js';\nimport { normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport type { IntentScope } from './intent.js';\nimport { messageWithIntent } from './intent.js';\nimport { SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_SIZE } from './signature-scheme.js';\n\n/**\n * Value to be converted into public key.\n */\nexport type PublicKeyInitData = string | Uint8Array | Iterable<number>;\n\nexport function bytesEqual(a: Uint8Array, b: Uint8Array) {\n\tif (a === b) return true;\n\n\tif (a.length !== b.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < a.length; i++) {\n\t\tif (a[i] !== b[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * A public key\n */\nexport abstract class PublicKey {\n\t/**\n\t * Checks if two public keys are equal\n\t */\n\tequals(publicKey: PublicKey) {\n\t\treturn bytesEqual(this.toRawBytes(), publicKey.toRawBytes());\n\t}\n\n\t/**\n\t * Return the base-64 representation of the public key\n\t */\n\ttoBase64() {\n\t\treturn toBase64(this.toRawBytes());\n\t}\n\n\ttoString(): never {\n\t\tthrow new Error(\n\t\t\t'`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.',\n\t\t);\n\t}\n\n\t/**\n\t * Return the Sui representation of the public key encoded in\n\t * base-64. A Sui public key is formed by the concatenation\n\t * of the scheme flag with the raw bytes of the public key\n\t */\n\ttoSuiPublicKey(): string {\n\t\tconst bytes = this.toSuiBytes();\n\t\treturn toBase64(bytes);\n\t}\n\n\tverifyWithIntent(\n\t\tbytes: Uint8Array,\n\t\tsignature: Uint8Array | string,\n\t\tintent: IntentScope,\n\t): Promise<boolean> {\n\t\tconst intentMessage = messageWithIntent(intent, bytes);\n\t\tconst digest = blake2b(intentMessage, { dkLen: 32 });\n\n\t\treturn this.verify(digest, signature);\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided PersonalMessage\n\t */\n\tverifyPersonalMessage(message: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\treturn this.verifyWithIntent(\n\t\t\tbcs.vector(bcs.u8()).serialize(message).toBytes(),\n\t\t\tsignature,\n\t\t\t'PersonalMessage',\n\t\t);\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided Transaction\n\t */\n\tverifyTransaction(transaction: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\treturn this.verifyWithIntent(transaction, signature, 'TransactionData');\n\t}\n\n\t/**\n\t * Verifies that the public key is associated with the provided address\n\t */\n\tverifyAddress(address: string): boolean {\n\t\treturn this.toSuiAddress() === address;\n\t}\n\n\t/**\n\t * Returns the bytes representation of the public key\n\t * prefixed with the signature scheme flag\n\t */\n\ttoSuiBytes(): Uint8Array<ArrayBuffer> {\n\t\tconst rawBytes = this.toRawBytes();\n\t\tconst suiBytes = new Uint8Array(rawBytes.length + 1);\n\t\tsuiBytes.set([this.flag()]);\n\t\tsuiBytes.set(rawBytes, 1);\n\n\t\treturn suiBytes;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Ed25519 public key\n\t */\n\ttoSuiAddress(): string {\n\t\t// Each hex char represents half a byte, hence hex address doubles the length\n\t\treturn normalizeSuiAddress(\n\t\t\tbytesToHex(blake2b(this.toSuiBytes(), { dkLen: 32 })).slice(0, SUI_ADDRESS_LENGTH * 2),\n\t\t);\n\t}\n\n\t/**\n\t * Return the byte array representation of the public key\n\t */\n\tabstract toRawBytes(): Uint8Array<ArrayBuffer>;\n\n\t/**\n\t * Return signature scheme flag of the public key\n\t */\n\tabstract flag(): number;\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tabstract verify(data: Uint8Array, signature: Uint8Array | string): Promise<boolean>;\n}\n\nexport function parseSerializedKeypairSignature(serializedSignature: string) {\n\tconst bytes = fromBase64(serializedSignature);\n\n\tconst signatureScheme =\n\t\tSIGNATURE_FLAG_TO_SCHEME[bytes[0] as keyof typeof SIGNATURE_FLAG_TO_SCHEME];\n\n\tswitch (signatureScheme) {\n\t\tcase 'ED25519':\n\t\tcase 'Secp256k1':\n\t\tcase 'Secp256r1':\n\t\t\tconst size =\n\t\t\t\tSIGNATURE_SCHEME_TO_SIZE[signatureScheme as keyof typeof SIGNATURE_SCHEME_TO_SIZE];\n\t\t\tconst signature = bytes.slice(1, bytes.length - size);\n\t\t\tconst publicKey = bytes.slice(1 + signature.length);\n\n\t\t\treturn {\n\t\t\t\tserializedSignature,\n\t\t\t\tsignatureScheme,\n\t\t\t\tsignature,\n\t\t\t\tpublicKey,\n\t\t\t\tbytes,\n\t\t\t};\n\t\tdefault:\n\t\t\tthrow new Error('Unsupported signature scheme');\n\t}\n}\n"],
5
- "mappings": "AAGA,SAAS,YAAY,gBAAgB;AACrC,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAE3B,SAAS,WAAW;AACpB,SAAS,qBAAqB,0BAA0B;AAExD,SAAS,yBAAyB;AAClC,SAAS,0BAA0B,gCAAgC;AAO5D,SAAS,WAAW,GAAe,GAAe;AACxD,MAAI,MAAM,EAAG,QAAO;AAEpB,MAAI,EAAE,WAAW,EAAE,QAAQ;AAC1B,WAAO;AAAA,EACR;AAEA,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,QAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AAClB,aAAO;AAAA,IACR;AAAA,EACD;AACA,SAAO;AACR;AAKO,MAAe,UAAU;AAAA;AAAA;AAAA;AAAA,EAI/B,OAAO,WAAsB;AAC5B,WAAO,WAAW,KAAK,WAAW,GAAG,UAAU,WAAW,CAAC;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACV,WAAO,SAAS,KAAK,WAAW,CAAC;AAAA,EAClC;AAAA,EAEA,WAAkB;AACjB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAyB;AACxB,UAAM,QAAQ,KAAK,WAAW;AAC9B,WAAO,SAAS,KAAK;AAAA,EACtB;AAAA,EAEA,iBACC,OACA,WACA,QACmB;AACnB,UAAM,gBAAgB,kBAAkB,QAAQ,KAAK;AACrD,UAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,GAAG,CAAC;AAEnD,WAAO,KAAK,OAAO,QAAQ,SAAS;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,SAAqB,WAAkD;AAC5F,WAAO,KAAK;AAAA,MACX,IAAI,OAAO,IAAI,GAAG,CAAC,EAAE,UAAU,OAAO,EAAE,QAAQ;AAAA,MAChD;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,aAAyB,WAAkD;AAC5F,WAAO,KAAK,iBAAiB,aAAa,WAAW,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,SAA0B;AACvC,WAAO,KAAK,aAAa,MAAM;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAsC;AACrC,UAAM,WAAW,KAAK,WAAW;AACjC,UAAM,WAAW,IAAI,WAAW,SAAS,SAAS,CAAC;AACnD,aAAS,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1B,aAAS,IAAI,UAAU,CAAC;AAExB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,eAAuB;AAEtB,WAAO;AAAA,MACN,WAAW,QAAQ,KAAK,WAAW,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;AAAA,IACtF;AAAA,EACD;AAgBD;AAEO,SAAS,gCAAgC,qBAA6B;AAC5E,QAAM,QAAQ,WAAW,mBAAmB;AAE5C,QAAM,kBACL,yBAAyB,MAAM,CAAC,CAA0C;AAE3E,UAAQ,iBAAiB;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACJ,YAAM,OACL,yBAAyB,eAAwD;AAClF,YAAM,YAAY,MAAM,MAAM,GAAG,MAAM,SAAS,IAAI;AACpD,YAAM,YAAY,MAAM,MAAM,IAAI,UAAU,MAAM;AAElD,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AACC,YAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AACD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\nimport { blake2b } from '@noble/hashes/blake2b';\nimport { bytesToHex } from '@noble/hashes/utils';\n\nimport { bcs } from '../bcs/index.js';\nimport { normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport type { IntentScope } from './intent.js';\nimport { messageWithIntent } from './intent.js';\nimport { SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_SIZE } from './signature-scheme.js';\n\n/**\n * Value to be converted into public key.\n */\nexport type PublicKeyInitData = string | Uint8Array | Iterable<number>;\n\nexport function bytesEqual(a: Uint8Array, b: Uint8Array) {\n\tif (a === b) return true;\n\n\tif (a.length !== b.length) {\n\t\treturn false;\n\t}\n\n\tfor (let i = 0; i < a.length; i++) {\n\t\tif (a[i] !== b[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * A public key\n */\nexport abstract class PublicKey {\n\t/**\n\t * Checks if two public keys are equal\n\t */\n\tequals(publicKey: PublicKey) {\n\t\treturn bytesEqual(this.toRawBytes(), publicKey.toRawBytes());\n\t}\n\n\t/**\n\t * Return the base-64 representation of the public key\n\t */\n\ttoBase64() {\n\t\treturn toBase64(this.toRawBytes());\n\t}\n\n\ttoString(): never {\n\t\tthrow new Error(\n\t\t\t'`toString` is not implemented on public keys. Use `toBase64()` or `toRawBytes()` instead.',\n\t\t);\n\t}\n\n\t/**\n\t * Return the Sui representation of the public key encoded in\n\t * base-64. A Sui public key is formed by the concatenation\n\t * of the scheme flag with the raw bytes of the public key\n\t */\n\ttoSuiPublicKey(): string {\n\t\tconst bytes = this.toSuiBytes();\n\t\treturn toBase64(bytes);\n\t}\n\n\tverifyWithIntent(\n\t\tbytes: Uint8Array,\n\t\tsignature: Uint8Array | string,\n\t\tintent: IntentScope,\n\t): Promise<boolean> {\n\t\tconst intentMessage = messageWithIntent(intent, bytes);\n\t\tconst digest = blake2b(intentMessage, { dkLen: 32 });\n\n\t\treturn this.verify(digest, signature);\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided PersonalMessage\n\t */\n\tverifyPersonalMessage(message: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\treturn this.verifyWithIntent(\n\t\t\tbcs.byteVector().serialize(message).toBytes(),\n\t\t\tsignature,\n\t\t\t'PersonalMessage',\n\t\t);\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided Transaction\n\t */\n\tverifyTransaction(transaction: Uint8Array, signature: Uint8Array | string): Promise<boolean> {\n\t\treturn this.verifyWithIntent(transaction, signature, 'TransactionData');\n\t}\n\n\t/**\n\t * Verifies that the public key is associated with the provided address\n\t */\n\tverifyAddress(address: string): boolean {\n\t\treturn this.toSuiAddress() === address;\n\t}\n\n\t/**\n\t * Returns the bytes representation of the public key\n\t * prefixed with the signature scheme flag\n\t */\n\ttoSuiBytes(): Uint8Array<ArrayBuffer> {\n\t\tconst rawBytes = this.toRawBytes();\n\t\tconst suiBytes = new Uint8Array(rawBytes.length + 1);\n\t\tsuiBytes.set([this.flag()]);\n\t\tsuiBytes.set(rawBytes, 1);\n\n\t\treturn suiBytes;\n\t}\n\n\t/**\n\t * Return the Sui address associated with this Ed25519 public key\n\t */\n\ttoSuiAddress(): string {\n\t\t// Each hex char represents half a byte, hence hex address doubles the length\n\t\treturn normalizeSuiAddress(\n\t\t\tbytesToHex(blake2b(this.toSuiBytes(), { dkLen: 32 })).slice(0, SUI_ADDRESS_LENGTH * 2),\n\t\t);\n\t}\n\n\t/**\n\t * Return the byte array representation of the public key\n\t */\n\tabstract toRawBytes(): Uint8Array<ArrayBuffer>;\n\n\t/**\n\t * Return signature scheme flag of the public key\n\t */\n\tabstract flag(): number;\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tabstract verify(data: Uint8Array, signature: Uint8Array | string): Promise<boolean>;\n}\n\nexport function parseSerializedKeypairSignature(serializedSignature: string) {\n\tconst bytes = fromBase64(serializedSignature);\n\n\tconst signatureScheme =\n\t\tSIGNATURE_FLAG_TO_SCHEME[bytes[0] as keyof typeof SIGNATURE_FLAG_TO_SCHEME];\n\n\tswitch (signatureScheme) {\n\t\tcase 'ED25519':\n\t\tcase 'Secp256k1':\n\t\tcase 'Secp256r1':\n\t\t\tconst size =\n\t\t\t\tSIGNATURE_SCHEME_TO_SIZE[signatureScheme as keyof typeof SIGNATURE_SCHEME_TO_SIZE];\n\t\t\tconst signature = bytes.slice(1, bytes.length - size);\n\t\t\tconst publicKey = bytes.slice(1 + signature.length);\n\n\t\t\treturn {\n\t\t\t\tserializedSignature,\n\t\t\t\tsignatureScheme,\n\t\t\t\tsignature,\n\t\t\t\tpublicKey,\n\t\t\t\tbytes,\n\t\t\t};\n\t\tdefault:\n\t\t\tthrow new Error('Unsupported signature scheme');\n\t}\n}\n"],
5
+ "mappings": "AAGA,SAAS,YAAY,gBAAgB;AACrC,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAE3B,SAAS,WAAW;AACpB,SAAS,qBAAqB,0BAA0B;AAExD,SAAS,yBAAyB;AAClC,SAAS,0BAA0B,gCAAgC;AAO5D,SAAS,WAAW,GAAe,GAAe;AACxD,MAAI,MAAM,EAAG,QAAO;AAEpB,MAAI,EAAE,WAAW,EAAE,QAAQ;AAC1B,WAAO;AAAA,EACR;AAEA,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AAClC,QAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG;AAClB,aAAO;AAAA,IACR;AAAA,EACD;AACA,SAAO;AACR;AAKO,MAAe,UAAU;AAAA;AAAA;AAAA;AAAA,EAI/B,OAAO,WAAsB;AAC5B,WAAO,WAAW,KAAK,WAAW,GAAG,UAAU,WAAW,CAAC;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACV,WAAO,SAAS,KAAK,WAAW,CAAC;AAAA,EAClC;AAAA,EAEA,WAAkB;AACjB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAyB;AACxB,UAAM,QAAQ,KAAK,WAAW;AAC9B,WAAO,SAAS,KAAK;AAAA,EACtB;AAAA,EAEA,iBACC,OACA,WACA,QACmB;AACnB,UAAM,gBAAgB,kBAAkB,QAAQ,KAAK;AACrD,UAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,GAAG,CAAC;AAEnD,WAAO,KAAK,OAAO,QAAQ,SAAS;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,SAAqB,WAAkD;AAC5F,WAAO,KAAK;AAAA,MACX,IAAI,WAAW,EAAE,UAAU,OAAO,EAAE,QAAQ;AAAA,MAC5C;AAAA,MACA;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB,aAAyB,WAAkD;AAC5F,WAAO,KAAK,iBAAiB,aAAa,WAAW,iBAAiB;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,SAA0B;AACvC,WAAO,KAAK,aAAa,MAAM;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAsC;AACrC,UAAM,WAAW,KAAK,WAAW;AACjC,UAAM,WAAW,IAAI,WAAW,SAAS,SAAS,CAAC;AACnD,aAAS,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1B,aAAS,IAAI,UAAU,CAAC;AAExB,WAAO;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,eAAuB;AAEtB,WAAO;AAAA,MACN,WAAW,QAAQ,KAAK,WAAW,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;AAAA,IACtF;AAAA,EACD;AAgBD;AAEO,SAAS,gCAAgC,qBAA6B;AAC5E,QAAM,QAAQ,WAAW,mBAAmB;AAE5C,QAAM,kBACL,yBAAyB,MAAM,CAAC,CAA0C;AAE3E,UAAQ,iBAAiB;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACJ,YAAM,OACL,yBAAyB,eAAwD;AAClF,YAAM,YAAY,MAAM,MAAM,GAAG,MAAM,SAAS,IAAI;AACpD,YAAM,YAAY,MAAM,MAAM,IAAI,UAAU,MAAM;AAElD,aAAO;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD;AACC,YAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AACD;",
6
6
  "names": []
7
7
  }
@@ -28,7 +28,7 @@ export declare function parseSerializedSignature(serializedSignature: string): {
28
28
  signatureScheme: "Passkey";
29
29
  serializedSignature: string;
30
30
  signature: Uint8Array<ArrayBufferLike>;
31
- authenticatorData: number[];
31
+ authenticatorData: Uint8Array<ArrayBufferLike>;
32
32
  clientDataJson: string;
33
33
  userSignature: Uint8Array<ArrayBuffer>;
34
34
  publicKey: Uint8Array<ArrayBuffer>;
@@ -50,7 +50,7 @@ export declare function parseSerializedSignature(serializedSignature: string): {
50
50
  addressSeed: string;
51
51
  };
52
52
  maxEpoch: string;
53
- userSignature: number[];
53
+ userSignature: Uint8Array<ArrayBufferLike>;
54
54
  iss: string;
55
55
  addressSeed: bigint;
56
56
  };
@@ -14,10 +14,6 @@ class Experimental_BaseClient {
14
14
  this,
15
15
  Object.fromEntries(
16
16
  registrations.map((registration) => {
17
- if ("experimental_asClientExtension" in registration) {
18
- const { name, register } = registration.experimental_asClientExtension();
19
- return [name, { value: register(this) }];
20
- }
21
17
  return [registration.name, { value: registration.register(this) }];
22
18
  })
23
19
  )
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/experimental/client.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { Simplify, UnionToIntersection } from '@mysten/utils';\nimport { ClientCache } from './cache.js';\nimport type { Experimental_CoreClient } from './core.js';\nimport type {\n\tClientWithExtensions,\n\tExperimental_SuiClientTypes,\n\tSuiClientRegistration,\n} from './types.js';\n\nexport abstract class Experimental_BaseClient {\n\tnetwork: Experimental_SuiClientTypes.Network;\n\tcache: ClientCache;\n\tbase: Experimental_BaseClient;\n\n\tconstructor({\n\t\tnetwork,\n\t\tbase,\n\t\tcache = base?.cache ?? new ClientCache(),\n\t}: Experimental_SuiClientTypes.SuiClientOptions) {\n\t\tthis.network = network;\n\t\tthis.base = base ?? this;\n\t\tthis.cache = cache;\n\t}\n\n\tabstract core: Experimental_CoreClient;\n\n\t$extend<const Registrations extends SuiClientRegistration<this>[]>(\n\t\t...registrations: Registrations\n\t) {\n\t\treturn Object.create(\n\t\t\tthis,\n\t\t\tObject.fromEntries(\n\t\t\t\tregistrations.map((registration) => {\n\t\t\t\t\tif ('experimental_asClientExtension' in registration) {\n\t\t\t\t\t\tconst { name, register } = registration.experimental_asClientExtension();\n\t\t\t\t\t\treturn [name, { value: register(this) }];\n\t\t\t\t\t}\n\t\t\t\t\treturn [registration.name, { value: registration.register(this) }];\n\t\t\t\t}),\n\t\t\t),\n\t\t) as ClientWithExtensions<\n\t\t\tSimplify<\n\t\t\t\tUnionToIntersection<\n\t\t\t\t\t{\n\t\t\t\t\t\t[K in keyof Registrations]: Registrations[K] extends SuiClientRegistration<\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\tinfer Name extends string,\n\t\t\t\t\t\t\tinfer Extension\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t[K2 in Name]: Extension;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: never;\n\t\t\t\t\t}[number]\n\t\t\t\t>\n\t\t\t>,\n\t\t\tthis\n\t\t>;\n\t}\n}\n"],
5
- "mappings": "AAKA,SAAS,mBAAmB;AAQrB,MAAe,wBAAwB;AAAA,EAK7C,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA,QAAQ,MAAM,SAAS,IAAI,YAAY;AAAA,EACxC,GAAiD;AAChD,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ;AACpB,SAAK,QAAQ;AAAA,EACd;AAAA,EAIA,WACI,eACF;AACD,WAAO,OAAO;AAAA,MACb;AAAA,MACA,OAAO;AAAA,QACN,cAAc,IAAI,CAAC,iBAAiB;AACnC,cAAI,oCAAoC,cAAc;AACrD,kBAAM,EAAE,MAAM,SAAS,IAAI,aAAa,+BAA+B;AACvE,mBAAO,CAAC,MAAM,EAAE,OAAO,SAAS,IAAI,EAAE,CAAC;AAAA,UACxC;AACA,iBAAO,CAAC,aAAa,MAAM,EAAE,OAAO,aAAa,SAAS,IAAI,EAAE,CAAC;AAAA,QAClE,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EAkBD;AACD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { Simplify, UnionToIntersection } from '@mysten/utils';\nimport { ClientCache } from './cache.js';\nimport type { Experimental_CoreClient } from './core.js';\nimport type {\n\tClientWithExtensions,\n\tExperimental_SuiClientTypes,\n\tSuiClientRegistration,\n} from './types.js';\n\nexport abstract class Experimental_BaseClient {\n\tnetwork: Experimental_SuiClientTypes.Network;\n\tcache: ClientCache;\n\tbase: Experimental_BaseClient;\n\n\tconstructor({\n\t\tnetwork,\n\t\tbase,\n\t\tcache = base?.cache ?? new ClientCache(),\n\t}: Experimental_SuiClientTypes.SuiClientOptions) {\n\t\tthis.network = network;\n\t\tthis.base = base ?? this;\n\t\tthis.cache = cache;\n\t}\n\n\tabstract core: Experimental_CoreClient;\n\n\t$extend<const Registrations extends SuiClientRegistration<this>[]>(\n\t\t...registrations: Registrations\n\t) {\n\t\treturn Object.create(\n\t\t\tthis,\n\t\t\tObject.fromEntries(\n\t\t\t\tregistrations.map((registration) => {\n\t\t\t\t\treturn [registration.name, { value: registration.register(this) }];\n\t\t\t\t}),\n\t\t\t),\n\t\t) as ClientWithExtensions<\n\t\t\tSimplify<\n\t\t\t\tUnionToIntersection<\n\t\t\t\t\t{\n\t\t\t\t\t\t[K in keyof Registrations]: Registrations[K] extends SuiClientRegistration<\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\tinfer Name extends string,\n\t\t\t\t\t\t\tinfer Extension\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t[K2 in Name]: Extension;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: never;\n\t\t\t\t\t}[number]\n\t\t\t\t>\n\t\t\t>,\n\t\t\tthis\n\t\t>;\n\t}\n}\n"],
5
+ "mappings": "AAKA,SAAS,mBAAmB;AAQrB,MAAe,wBAAwB;AAAA,EAK7C,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA,QAAQ,MAAM,SAAS,IAAI,YAAY;AAAA,EACxC,GAAiD;AAChD,SAAK,UAAU;AACf,SAAK,OAAO,QAAQ;AACpB,SAAK,QAAQ;AAAA,EACd;AAAA,EAIA,WACI,eACF;AACD,WAAO,OAAO;AAAA,MACb;AAAA,MACA,OAAO;AAAA,QACN,cAAc,IAAI,CAAC,iBAAiB;AACnC,iBAAO,CAAC,aAAa,MAAM,EAAE,OAAO,aAAa,SAAS,IAAI,EAAE,CAAC;AAAA,QAClE,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EAkBD;AACD;",
6
6
  "names": []
7
7
  }
@@ -4,13 +4,7 @@ import type { Experimental_BaseClient } from './client.js';
4
4
  export type SuiClientRegistration<T extends Experimental_BaseClient = Experimental_BaseClient, Name extends string = string, Extension = unknown> = {
5
5
  readonly name: Name;
6
6
  readonly register: (client: T) => Extension;
7
- } | SelfRegisteringClientExtension<T, Name, Extension>;
8
- export interface SelfRegisteringClientExtension<T extends Experimental_BaseClient = Experimental_BaseClient, Name extends string = string, Extension = unknown> {
9
- experimental_asClientExtension: () => {
10
- readonly name: Name;
11
- readonly register: (client: T) => Extension;
12
- };
13
- }
7
+ };
14
8
  export type ClientWithExtensions<T, Base extends Experimental_BaseClient = Experimental_BaseClient> = Base & T;
15
9
  export declare namespace Experimental_SuiClientTypes {
16
10
  type Network = 'mainnet' | 'testnet' | 'devnet' | 'localnet' | (string & {});
@@ -3934,7 +3934,7 @@ export type Shared = {
3934
3934
  export type SharedInput = {
3935
3935
  __typename?: 'SharedInput';
3936
3936
  address: Scalars['SuiAddress']['output'];
3937
- /** The version that this this object was shared at. */
3937
+ /** The version at which this object was shared.​ */
3938
3938
  initialSharedVersion: Scalars['UInt53']['output'];
3939
3939
  /**
3940
3940
  * Controls whether the transaction block can reference the shared object as a mutable