@haneullabs/haneul 2.5.1 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +36 -36
  3. package/dist/bcs/bcs.d.mts +6 -7
  4. package/dist/bcs/bcs.d.mts.map +1 -1
  5. package/dist/bcs/bcs.mjs.map +1 -1
  6. package/dist/bcs/effects.mjs.map +1 -1
  7. package/dist/bcs/index.d.mts +2 -2
  8. package/dist/bcs/index.d.mts.map +1 -1
  9. package/dist/bcs/index.mjs +2 -2
  10. package/dist/bcs/index.mjs.map +1 -1
  11. package/dist/bcs/pure.d.mts.map +1 -1
  12. package/dist/bcs/type-tag-serializer.d.mts.map +1 -1
  13. package/dist/bcs/types.d.mts +0 -1
  14. package/dist/bcs/types.d.mts.map +1 -1
  15. package/dist/client/cache.d.mts.map +1 -1
  16. package/dist/client/client.d.mts.map +1 -1
  17. package/dist/client/core-resolver.d.mts.map +1 -1
  18. package/dist/client/core-resolver.mjs +87 -68
  19. package/dist/client/core-resolver.mjs.map +1 -1
  20. package/dist/client/core.d.mts +9 -8
  21. package/dist/client/core.d.mts.map +1 -1
  22. package/dist/client/core.mjs +29 -10
  23. package/dist/client/core.mjs.map +1 -1
  24. package/dist/client/errors.d.mts.map +1 -1
  25. package/dist/client/mvr.d.mts +0 -1
  26. package/dist/client/mvr.d.mts.map +1 -1
  27. package/dist/client/types.d.mts +110 -24
  28. package/dist/client/types.d.mts.map +1 -1
  29. package/dist/client/utils.d.mts.map +1 -1
  30. package/dist/client/utils.mjs +7 -7
  31. package/dist/client/utils.mjs.map +1 -1
  32. package/dist/cryptography/index.d.mts +2 -2
  33. package/dist/cryptography/index.mjs +2 -2
  34. package/dist/cryptography/intent.d.mts +2 -2
  35. package/dist/cryptography/intent.d.mts.map +1 -1
  36. package/dist/cryptography/intent.mjs +2 -2
  37. package/dist/cryptography/intent.mjs.map +1 -1
  38. package/dist/cryptography/keypair.d.mts +3 -3
  39. package/dist/cryptography/keypair.d.mts.map +1 -1
  40. package/dist/cryptography/keypair.mjs +3 -3
  41. package/dist/cryptography/keypair.mjs.map +1 -1
  42. package/dist/cryptography/mnemonics.d.mts +5 -5
  43. package/dist/cryptography/mnemonics.d.mts.map +1 -1
  44. package/dist/cryptography/mnemonics.mjs +7 -7
  45. package/dist/cryptography/mnemonics.mjs.map +1 -1
  46. package/dist/cryptography/publickey.d.mts +2 -3
  47. package/dist/cryptography/publickey.d.mts.map +1 -1
  48. package/dist/cryptography/publickey.mjs +10 -10
  49. package/dist/cryptography/publickey.mjs.map +1 -1
  50. package/dist/cryptography/signature-scheme.d.mts.map +1 -1
  51. package/dist/cryptography/signature.d.mts +10 -13
  52. package/dist/cryptography/signature.d.mts.map +1 -1
  53. package/dist/cryptography/signature.mjs +2 -2
  54. package/dist/cryptography/signature.mjs.map +1 -1
  55. package/dist/faucet/faucet.d.mts +2 -2
  56. package/dist/faucet/faucet.d.mts.map +1 -1
  57. package/dist/faucet/faucet.mjs +2 -2
  58. package/dist/faucet/faucet.mjs.map +1 -1
  59. package/dist/faucet/index.d.mts +2 -2
  60. package/dist/faucet/index.mjs +2 -2
  61. package/dist/graphql/client.d.mts +20 -5
  62. package/dist/graphql/client.d.mts.map +1 -1
  63. package/dist/graphql/client.mjs +55 -7
  64. package/dist/graphql/client.mjs.map +1 -1
  65. package/dist/graphql/core.d.mts +6 -5
  66. package/dist/graphql/core.d.mts.map +1 -1
  67. package/dist/graphql/core.mjs +43 -47
  68. package/dist/graphql/core.mjs.map +1 -1
  69. package/dist/graphql/generated/queries.d.mts +0 -1
  70. package/dist/graphql/generated/queries.d.mts.map +1 -1
  71. package/dist/graphql/generated/queries.mjs +46 -10
  72. package/dist/graphql/generated/queries.mjs.map +1 -1
  73. package/dist/graphql/generated/tada-env.d.mts +706 -98
  74. package/dist/graphql/generated/tada-env.d.mts.map +1 -1
  75. package/dist/graphql/index.d.mts +2 -2
  76. package/dist/graphql/index.mjs +2 -2
  77. package/dist/graphql/schema/index.d.mts +0 -1
  78. package/dist/graphql/schema/index.d.mts.map +1 -1
  79. package/dist/graphql/types.d.mts.map +1 -1
  80. package/dist/grpc/client.d.mts +20 -5
  81. package/dist/grpc/client.d.mts.map +1 -1
  82. package/dist/grpc/client.mjs +47 -7
  83. package/dist/grpc/client.mjs.map +1 -1
  84. package/dist/grpc/core.d.mts +6 -5
  85. package/dist/grpc/core.d.mts.map +1 -1
  86. package/dist/grpc/core.mjs +35 -34
  87. package/dist/grpc/core.mjs.map +1 -1
  88. package/dist/grpc/index.d.mts +2 -2
  89. package/dist/grpc/index.mjs +2 -2
  90. package/dist/grpc/proto/google/protobuf/any.d.mts +0 -1
  91. package/dist/grpc/proto/google/protobuf/any.d.mts.map +1 -1
  92. package/dist/grpc/proto/google/protobuf/duration.d.mts +0 -1
  93. package/dist/grpc/proto/google/protobuf/duration.d.mts.map +1 -1
  94. package/dist/grpc/proto/google/protobuf/field_mask.d.mts +0 -1
  95. package/dist/grpc/proto/google/protobuf/field_mask.d.mts.map +1 -1
  96. package/dist/grpc/proto/google/protobuf/struct.d.mts +1 -2
  97. package/dist/grpc/proto/google/protobuf/struct.d.mts.map +1 -1
  98. package/dist/grpc/proto/google/protobuf/timestamp.d.mts +0 -1
  99. package/dist/grpc/proto/google/protobuf/timestamp.d.mts.map +1 -1
  100. package/dist/grpc/proto/google/rpc/status.d.mts +0 -1
  101. package/dist/grpc/proto/google/rpc/status.d.mts.map +1 -1
  102. package/dist/grpc/proto/haneul/rpc/v2/argument.d.mts +1 -2
  103. package/dist/grpc/proto/haneul/rpc/v2/argument.d.mts.map +1 -1
  104. package/dist/grpc/proto/haneul/rpc/v2/balance_change.d.mts +0 -1
  105. package/dist/grpc/proto/haneul/rpc/v2/balance_change.d.mts.map +1 -1
  106. package/dist/grpc/proto/haneul/rpc/v2/bcs.d.mts +1 -2
  107. package/dist/grpc/proto/haneul/rpc/v2/bcs.d.mts.map +1 -1
  108. package/dist/grpc/proto/haneul/rpc/v2/bcs.mjs.map +1 -1
  109. package/dist/grpc/proto/haneul/rpc/v2/checkpoint.d.mts +0 -1
  110. package/dist/grpc/proto/haneul/rpc/v2/checkpoint.d.mts.map +1 -1
  111. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.mts +0 -1
  112. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.mts.map +1 -1
  113. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.mts +1 -2
  114. package/dist/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.mts.map +1 -1
  115. package/dist/grpc/proto/haneul/rpc/v2/effects.d.mts +5 -6
  116. package/dist/grpc/proto/haneul/rpc/v2/effects.d.mts.map +1 -1
  117. package/dist/grpc/proto/haneul/rpc/v2/epoch.d.mts +0 -1
  118. package/dist/grpc/proto/haneul/rpc/v2/epoch.d.mts.map +1 -1
  119. package/dist/grpc/proto/haneul/rpc/v2/error_reason.d.mts +1 -1
  120. package/dist/grpc/proto/haneul/rpc/v2/error_reason.d.mts.map +1 -1
  121. package/dist/grpc/proto/haneul/rpc/v2/event.d.mts +0 -1
  122. package/dist/grpc/proto/haneul/rpc/v2/event.d.mts.map +1 -1
  123. package/dist/grpc/proto/haneul/rpc/v2/executed_transaction.d.mts +0 -1
  124. package/dist/grpc/proto/haneul/rpc/v2/executed_transaction.d.mts.map +1 -1
  125. package/dist/grpc/proto/haneul/rpc/v2/execution_status.d.mts +8 -9
  126. package/dist/grpc/proto/haneul/rpc/v2/execution_status.d.mts.map +1 -1
  127. package/dist/grpc/proto/haneul/rpc/v2/execution_status.mjs +4 -4
  128. package/dist/grpc/proto/haneul/rpc/v2/execution_status.mjs.map +1 -1
  129. package/dist/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.mts +0 -1
  130. package/dist/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.mts.map +1 -1
  131. package/dist/grpc/proto/haneul/rpc/v2/input.d.mts +3 -4
  132. package/dist/grpc/proto/haneul/rpc/v2/input.d.mts.map +1 -1
  133. package/dist/grpc/proto/haneul/rpc/v2/jwk.d.mts +0 -1
  134. package/dist/grpc/proto/haneul/rpc/v2/jwk.d.mts.map +1 -1
  135. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.client.d.mts +4 -5
  136. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.client.d.mts.map +1 -1
  137. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.d.mts +0 -1
  138. package/dist/grpc/proto/haneul/rpc/v2/ledger_service.d.mts.map +1 -1
  139. package/dist/grpc/proto/haneul/rpc/v2/move_package.d.mts +5 -6
  140. package/dist/grpc/proto/haneul/rpc/v2/move_package.d.mts.map +1 -1
  141. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.client.d.mts +4 -5
  142. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.client.d.mts.map +1 -1
  143. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.d.mts +0 -1
  144. package/dist/grpc/proto/haneul/rpc/v2/move_package_service.d.mts.map +1 -1
  145. package/dist/grpc/proto/haneul/rpc/v2/name_service.client.d.mts +4 -5
  146. package/dist/grpc/proto/haneul/rpc/v2/name_service.client.d.mts.map +1 -1
  147. package/dist/grpc/proto/haneul/rpc/v2/name_service.d.mts +0 -1
  148. package/dist/grpc/proto/haneul/rpc/v2/name_service.d.mts.map +1 -1
  149. package/dist/grpc/proto/haneul/rpc/v2/object.d.mts +38 -2
  150. package/dist/grpc/proto/haneul/rpc/v2/object.d.mts.map +1 -1
  151. package/dist/grpc/proto/haneul/rpc/v2/object.mjs +26 -1
  152. package/dist/grpc/proto/haneul/rpc/v2/object.mjs.map +1 -1
  153. package/dist/grpc/proto/haneul/rpc/v2/object_reference.d.mts +0 -1
  154. package/dist/grpc/proto/haneul/rpc/v2/object_reference.d.mts.map +1 -1
  155. package/dist/grpc/proto/haneul/rpc/v2/owner.d.mts +1 -2
  156. package/dist/grpc/proto/haneul/rpc/v2/owner.d.mts.map +1 -1
  157. package/dist/grpc/proto/haneul/rpc/v2/protocol_config.d.mts +0 -1
  158. package/dist/grpc/proto/haneul/rpc/v2/protocol_config.d.mts.map +1 -1
  159. package/dist/grpc/proto/haneul/rpc/v2/signature.d.mts +1 -2
  160. package/dist/grpc/proto/haneul/rpc/v2/signature.d.mts.map +1 -1
  161. package/dist/grpc/proto/haneul/rpc/v2/signature.mjs.map +1 -1
  162. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.d.mts +2 -2
  163. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.d.mts.map +1 -1
  164. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.mjs +1 -1
  165. package/dist/grpc/proto/haneul/rpc/v2/signature_scheme.mjs.map +1 -1
  166. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.mts +4 -5
  167. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.mts.map +1 -1
  168. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.d.mts +0 -1
  169. package/dist/grpc/proto/haneul/rpc/v2/signature_verification_service.d.mts.map +1 -1
  170. package/dist/grpc/proto/haneul/rpc/v2/state_service.client.d.mts +4 -5
  171. package/dist/grpc/proto/haneul/rpc/v2/state_service.client.d.mts.map +1 -1
  172. package/dist/grpc/proto/haneul/rpc/v2/state_service.d.mts +4 -5
  173. package/dist/grpc/proto/haneul/rpc/v2/state_service.d.mts.map +1 -1
  174. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.client.d.mts +4 -5
  175. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.client.d.mts.map +1 -1
  176. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.d.mts +0 -1
  177. package/dist/grpc/proto/haneul/rpc/v2/subscription_service.d.mts.map +1 -1
  178. package/dist/grpc/proto/haneul/rpc/v2/system_state.d.mts +3 -4
  179. package/dist/grpc/proto/haneul/rpc/v2/system_state.d.mts.map +1 -1
  180. package/dist/grpc/proto/haneul/rpc/v2/system_state.mjs +1 -1
  181. package/dist/grpc/proto/haneul/rpc/v2/system_state.mjs.map +1 -1
  182. package/dist/grpc/proto/haneul/rpc/v2/transaction.d.mts +4 -5
  183. package/dist/grpc/proto/haneul/rpc/v2/transaction.d.mts.map +1 -1
  184. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.mts +0 -1
  185. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.mts.map +1 -1
  186. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.mts +9 -2
  187. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.mts.map +1 -1
  188. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.mjs +23 -12
  189. package/dist/grpc/proto/haneul/rpc/v2/transaction_execution_service.mjs.map +1 -1
  190. package/dist/grpc/proto/types.d.mts +2 -2
  191. package/dist/grpc/proto/types.d.mts.map +1 -1
  192. package/dist/grpc/proto/types.mjs +2 -1
  193. package/dist/jsonRpc/client.d.mts +4 -7
  194. package/dist/jsonRpc/client.d.mts.map +1 -1
  195. package/dist/jsonRpc/client.mjs +4 -33
  196. package/dist/jsonRpc/client.mjs.map +1 -1
  197. package/dist/jsonRpc/core.d.mts +8 -15
  198. package/dist/jsonRpc/core.d.mts.map +1 -1
  199. package/dist/jsonRpc/core.mjs +81 -34
  200. package/dist/jsonRpc/core.mjs.map +1 -1
  201. package/dist/jsonRpc/errors.d.mts.map +1 -1
  202. package/dist/jsonRpc/http-transport.d.mts +1 -17
  203. package/dist/jsonRpc/http-transport.d.mts.map +1 -1
  204. package/dist/jsonRpc/http-transport.mjs +0 -23
  205. package/dist/jsonRpc/http-transport.mjs.map +1 -1
  206. package/dist/jsonRpc/index.d.mts +3 -3
  207. package/dist/jsonRpc/network.d.mts.map +1 -1
  208. package/dist/jsonRpc/types/chain.d.mts.map +1 -1
  209. package/dist/jsonRpc/types/changes.d.mts.map +1 -1
  210. package/dist/jsonRpc/types/coins.d.mts.map +1 -1
  211. package/dist/jsonRpc/types/common.d.mts +1 -2
  212. package/dist/jsonRpc/types/common.d.mts.map +1 -1
  213. package/dist/jsonRpc/types/generated.d.mts +101 -129
  214. package/dist/jsonRpc/types/generated.d.mts.map +1 -1
  215. package/dist/jsonRpc/types/index.d.mts +1 -1
  216. package/dist/jsonRpc/types/params.d.mts +9 -14
  217. package/dist/jsonRpc/types/params.d.mts.map +1 -1
  218. package/dist/keypairs/ed25519/keypair.d.mts +8 -6
  219. package/dist/keypairs/ed25519/keypair.d.mts.map +1 -1
  220. package/dist/keypairs/ed25519/keypair.mjs +13 -9
  221. package/dist/keypairs/ed25519/keypair.mjs.map +1 -1
  222. package/dist/keypairs/ed25519/publickey.d.mts +0 -1
  223. package/dist/keypairs/ed25519/publickey.d.mts.map +1 -1
  224. package/dist/keypairs/passkey/keypair.d.mts +12 -5
  225. package/dist/keypairs/passkey/keypair.d.mts.map +1 -1
  226. package/dist/keypairs/passkey/keypair.mjs +20 -7
  227. package/dist/keypairs/passkey/keypair.mjs.map +1 -1
  228. package/dist/keypairs/passkey/publickey.d.mts +0 -1
  229. package/dist/keypairs/passkey/publickey.d.mts.map +1 -1
  230. package/dist/keypairs/passkey/types.d.mts.map +1 -1
  231. package/dist/keypairs/secp256k1/keypair.d.mts +3 -3
  232. package/dist/keypairs/secp256k1/keypair.d.mts.map +1 -1
  233. package/dist/keypairs/secp256k1/keypair.mjs +6 -6
  234. package/dist/keypairs/secp256k1/keypair.mjs.map +1 -1
  235. package/dist/keypairs/secp256k1/publickey.d.mts +0 -1
  236. package/dist/keypairs/secp256k1/publickey.d.mts.map +1 -1
  237. package/dist/keypairs/secp256r1/keypair.d.mts +3 -3
  238. package/dist/keypairs/secp256r1/keypair.d.mts.map +1 -1
  239. package/dist/keypairs/secp256r1/keypair.mjs +6 -6
  240. package/dist/keypairs/secp256r1/keypair.mjs.map +1 -1
  241. package/dist/keypairs/secp256r1/publickey.d.mts +0 -1
  242. package/dist/keypairs/secp256r1/publickey.d.mts.map +1 -1
  243. package/dist/multisig/publickey.d.mts +1 -0
  244. package/dist/multisig/publickey.d.mts.map +1 -1
  245. package/dist/multisig/publickey.mjs +8 -8
  246. package/dist/multisig/publickey.mjs.map +1 -1
  247. package/dist/multisig/signer.d.mts.map +1 -1
  248. package/dist/transactions/Arguments.d.mts.map +1 -1
  249. package/dist/transactions/Commands.d.mts +1 -1
  250. package/dist/transactions/Commands.d.mts.map +1 -1
  251. package/dist/transactions/Commands.mjs.map +1 -1
  252. package/dist/transactions/Inputs.d.mts.map +1 -1
  253. package/dist/transactions/ObjectCache.d.mts +3 -3
  254. package/dist/transactions/ObjectCache.d.mts.map +1 -1
  255. package/dist/transactions/Transaction.d.mts +32 -6
  256. package/dist/transactions/Transaction.d.mts.map +1 -1
  257. package/dist/transactions/Transaction.mjs +23 -1
  258. package/dist/transactions/Transaction.mjs.map +1 -1
  259. package/dist/transactions/TransactionData.d.mts.map +1 -1
  260. package/dist/transactions/TransactionData.mjs +8 -8
  261. package/dist/transactions/TransactionData.mjs.map +1 -1
  262. package/dist/transactions/data/internal.d.mts +109 -109
  263. package/dist/transactions/data/internal.d.mts.map +1 -1
  264. package/dist/transactions/data/internal.mjs.map +1 -1
  265. package/dist/transactions/data/v1.d.mts +220 -221
  266. package/dist/transactions/data/v1.d.mts.map +1 -1
  267. package/dist/transactions/data/v2.d.mts +16 -16
  268. package/dist/transactions/data/v2.d.mts.map +1 -1
  269. package/dist/transactions/data/v2.mjs.map +1 -1
  270. package/dist/transactions/executor/caching.mjs +2 -2
  271. package/dist/transactions/executor/caching.mjs.map +1 -1
  272. package/dist/transactions/executor/parallel.d.mts +1 -1
  273. package/dist/transactions/executor/parallel.d.mts.map +1 -1
  274. package/dist/transactions/executor/parallel.mjs +1 -1
  275. package/dist/transactions/executor/parallel.mjs.map +1 -1
  276. package/dist/transactions/executor/serial.d.mts +3 -3
  277. package/dist/transactions/executor/serial.d.mts.map +1 -1
  278. package/dist/transactions/executor/serial.mjs.map +1 -1
  279. package/dist/transactions/intents/CoinWithBalance.d.mts.map +1 -1
  280. package/dist/transactions/intents/CoinWithBalance.mjs +174 -97
  281. package/dist/transactions/intents/CoinWithBalance.mjs.map +1 -1
  282. package/dist/transactions/object.d.mts.map +1 -1
  283. package/dist/transactions/pure.d.mts.map +1 -1
  284. package/dist/transactions/pure.mjs +12 -12
  285. package/dist/transactions/pure.mjs.map +1 -1
  286. package/dist/transactions/resolve.d.mts.map +1 -1
  287. package/dist/transactions/resolve.mjs +3 -3
  288. package/dist/transactions/resolve.mjs.map +1 -1
  289. package/dist/transactions/serializer.d.mts.map +1 -1
  290. package/dist/transactions/serializer.mjs +15 -15
  291. package/dist/transactions/serializer.mjs.map +1 -1
  292. package/dist/transactions/utils.d.mts +0 -1
  293. package/dist/transactions/utils.d.mts.map +1 -1
  294. package/dist/utils/coin-reservation.mjs +67 -0
  295. package/dist/utils/coin-reservation.mjs.map +1 -0
  296. package/dist/utils/constants.d.mts +2 -1
  297. package/dist/utils/constants.d.mts.map +1 -1
  298. package/dist/utils/constants.mjs +2 -1
  299. package/dist/utils/constants.mjs.map +1 -1
  300. package/dist/utils/derived-objects.d.mts +0 -1
  301. package/dist/utils/derived-objects.d.mts.map +1 -1
  302. package/dist/utils/dynamic-fields.d.mts.map +1 -1
  303. package/dist/utils/dynamic-fields.mjs +4 -4
  304. package/dist/utils/dynamic-fields.mjs.map +1 -1
  305. package/dist/utils/format.d.mts.map +1 -1
  306. package/dist/utils/haneul-types.d.mts.map +1 -1
  307. package/dist/utils/haneul-types.mjs +8 -0
  308. package/dist/utils/haneul-types.mjs.map +1 -1
  309. package/dist/utils/haneulns.d.mts.map +1 -1
  310. package/dist/utils/index.d.mts +2 -2
  311. package/dist/utils/index.mjs +2 -2
  312. package/dist/utils/move-registry.d.mts.map +1 -1
  313. package/dist/verify/index.d.mts +2 -2
  314. package/dist/verify/index.mjs +2 -2
  315. package/dist/verify/verify.d.mts +2 -2
  316. package/dist/verify/verify.d.mts.map +1 -1
  317. package/dist/verify/verify.mjs +2 -2
  318. package/dist/verify/verify.mjs.map +1 -1
  319. package/dist/version.mjs +1 -1
  320. package/dist/version.mjs.map +1 -1
  321. package/dist/zklogin/address.d.mts.map +1 -1
  322. package/dist/zklogin/bcs.d.mts +14 -14
  323. package/dist/zklogin/bcs.d.mts.map +1 -1
  324. package/dist/zklogin/jwt-decode.d.mts +0 -1
  325. package/dist/zklogin/jwt-decode.d.mts.map +1 -1
  326. package/dist/zklogin/jwt-utils.d.mts +0 -1
  327. package/dist/zklogin/jwt-utils.d.mts.map +1 -1
  328. package/dist/zklogin/nonce.d.mts.map +1 -1
  329. package/dist/zklogin/nonce.mjs +1 -1
  330. package/dist/zklogin/nonce.mjs.map +1 -1
  331. package/dist/zklogin/poseidon.d.mts.map +1 -1
  332. package/dist/zklogin/publickey.d.mts +0 -1
  333. package/dist/zklogin/publickey.d.mts.map +1 -1
  334. package/dist/zklogin/signature.d.mts.map +1 -1
  335. package/dist/zklogin/utils.d.mts.map +1 -1
  336. package/dist/zklogin/utils.mjs +1 -1
  337. package/dist/zklogin/utils.mjs.map +1 -1
  338. package/docs/bcs.md +132 -0
  339. package/docs/clients/core.md +616 -0
  340. package/docs/clients/graphql.md +99 -0
  341. package/docs/clients/grpc.md +152 -0
  342. package/docs/clients/index.md +93 -0
  343. package/docs/clients/json-rpc.md +235 -0
  344. package/docs/cryptography/keypairs.md +259 -0
  345. package/docs/cryptography/multisig.md +192 -0
  346. package/docs/cryptography/passkey.md +111 -0
  347. package/docs/cryptography/webcrypto-signer.md +81 -0
  348. package/docs/executors.md +148 -0
  349. package/docs/faucet.md +26 -0
  350. package/docs/hello-haneul.md +115 -0
  351. package/docs/index.md +56 -0
  352. package/docs/install.md +61 -0
  353. package/docs/llm-docs.md +32 -0
  354. package/docs/llms-index.md +66 -0
  355. package/docs/migrations/0.38.md +57 -0
  356. package/docs/migrations/haneul-1.0.md +454 -0
  357. package/docs/migrations/haneul-2.0/agent-prompt.md +42 -0
  358. package/docs/migrations/haneul-2.0/dapp-kit.md +350 -0
  359. package/docs/migrations/haneul-2.0/deepbook-v3.md +33 -0
  360. package/docs/migrations/haneul-2.0/haneul.md +341 -0
  361. package/docs/migrations/haneul-2.0/haneulns.md +42 -0
  362. package/docs/migrations/haneul-2.0/index.md +161 -0
  363. package/docs/migrations/haneul-2.0/json-rpc-migration.md +399 -0
  364. package/docs/migrations/haneul-2.0/kiosk.md +120 -0
  365. package/docs/migrations/haneul-2.0/sdk-maintainers.md +91 -0
  366. package/docs/migrations/haneul-2.0/seal.md +14 -0
  367. package/docs/migrations/haneul-2.0/wallet-builders.md +66 -0
  368. package/docs/migrations/haneul-2.0/walrus.md +41 -0
  369. package/docs/migrations/haneul-2.0/zksend.md +94 -0
  370. package/docs/plugins.md +255 -0
  371. package/docs/sdk-building.md +341 -0
  372. package/docs/transaction-building/basics.md +297 -0
  373. package/docs/transaction-building/gas.md +62 -0
  374. package/docs/transaction-building/intents.md +61 -0
  375. package/docs/transaction-building/offline.md +71 -0
  376. package/docs/transaction-building/sponsored-transactions.md +22 -0
  377. package/docs/utils/derived_objects.md +80 -0
  378. package/docs/utils/index.md +53 -0
  379. package/docs/zklogin.md +78 -0
  380. package/package.json +199 -199
  381. package/src/bcs/bcs.ts +13 -13
  382. package/src/bcs/effects.ts +20 -20
  383. package/src/bcs/index.ts +2 -2
  384. package/src/client/core-resolver.ts +150 -100
  385. package/src/client/core.ts +62 -22
  386. package/src/client/types.ts +109 -24
  387. package/src/cryptography/index.ts +2 -2
  388. package/src/cryptography/keypair.ts +2 -2
  389. package/src/cryptography/mnemonics.ts +7 -7
  390. package/src/cryptography/publickey.ts +8 -8
  391. package/src/faucet/faucet.ts +1 -1
  392. package/src/faucet/index.ts +1 -1
  393. package/src/graphql/client.ts +100 -8
  394. package/src/graphql/core.ts +73 -80
  395. package/src/graphql/generated/queries.ts +301 -51
  396. package/src/graphql/generated/schema.graphql +407 -104
  397. package/src/graphql/generated/tada-env.ts +779 -58
  398. package/src/graphql/index.ts +1 -1
  399. package/src/graphql/queries/getAllBalances.graphql +1 -1
  400. package/src/graphql/queries/getBalance.graphql +1 -1
  401. package/src/graphql/queries/getCoins.graphql +2 -2
  402. package/src/graphql/queries/getDynamicFields.graphql +9 -1
  403. package/src/graphql/queries/getMoveFunction.graphql +1 -1
  404. package/src/graphql/queries/getProtocolConfig.graphql +18 -0
  405. package/src/graphql/queries/nameService.graphql +1 -1
  406. package/src/graphql/queries/objects.graphql +11 -1
  407. package/src/graphql/queries/transactions.graphql +1 -3
  408. package/src/graphql/queries/verifyZkLoginSignature.graphql +1 -2
  409. package/src/grpc/client.ts +66 -8
  410. package/src/grpc/core.ts +74 -35
  411. package/src/grpc/index.ts +1 -1
  412. package/src/grpc/proto/haneul/rpc/v2/bcs.ts +1 -1
  413. package/src/grpc/proto/haneul/rpc/v2/execution_status.ts +4 -4
  414. package/src/grpc/proto/haneul/rpc/v2/object.ts +44 -0
  415. package/src/grpc/proto/haneul/rpc/v2/signature.ts +1 -1
  416. package/src/grpc/proto/haneul/rpc/v2/signature_scheme.ts +1 -1
  417. package/src/grpc/proto/haneul/rpc/v2/system_state.ts +4 -4
  418. package/src/grpc/proto/haneul/rpc/v2/transaction_execution_service.ts +16 -0
  419. package/src/jsonRpc/client.ts +5 -23
  420. package/src/jsonRpc/core.ts +114 -41
  421. package/src/jsonRpc/http-transport.ts +0 -52
  422. package/src/jsonRpc/index.ts +0 -1
  423. package/src/jsonRpc/types/common.ts +0 -1
  424. package/src/jsonRpc/types/generated.ts +2 -2
  425. package/src/jsonRpc/types/params.ts +6 -6
  426. package/src/keypairs/ed25519/keypair.ts +14 -10
  427. package/src/keypairs/passkey/keypair.ts +22 -8
  428. package/src/keypairs/secp256k1/keypair.ts +6 -6
  429. package/src/keypairs/secp256r1/keypair.ts +6 -6
  430. package/src/multisig/publickey.ts +1 -1
  431. package/src/transactions/Commands.ts +1 -1
  432. package/src/transactions/Transaction.ts +38 -1
  433. package/src/transactions/TransactionData.ts +3 -3
  434. package/src/transactions/__tests__/bcs.test.ts +3 -3
  435. package/src/transactions/data/internal.ts +12 -12
  436. package/src/transactions/data/v2.ts +6 -6
  437. package/src/transactions/executor/caching.ts +2 -2
  438. package/src/transactions/executor/parallel.ts +1 -2
  439. package/src/transactions/executor/serial.ts +1 -1
  440. package/src/transactions/intents/CoinWithBalance.ts +247 -121
  441. package/src/utils/coin-reservation.ts +84 -0
  442. package/src/utils/constants.ts +2 -0
  443. package/src/utils/haneul-types.ts +16 -1
  444. package/src/utils/index.ts +1 -0
  445. package/src/verify/index.ts +1 -1
  446. package/src/verify/verify.ts +1 -1
  447. package/src/version.ts +1 -1
  448. package/src/zklogin/nonce.ts +1 -1
  449. package/src/zklogin/utils.ts +1 -1
  450. package/dist/jsonRpc/rpc-websocket-client.d.mts +0 -26
  451. package/dist/jsonRpc/rpc-websocket-client.d.mts.map +0 -1
  452. package/dist/jsonRpc/rpc-websocket-client.mjs +0 -135
  453. package/dist/jsonRpc/rpc-websocket-client.mjs.map +0 -1
  454. package/src/jsonRpc/rpc-websocket-client.ts +0 -241
@@ -60,6 +60,7 @@ declare class MultiSigPublicKey extends PublicKey {
60
60
  /**
61
61
  * MultiSig public key as buffer or base-64 encoded string
62
62
  */
63
+
63
64
  value: string | Uint8Array | MultiSigPublicKeyStruct, options?: {
64
65
  client?: ClientWithCoreApi;
65
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"publickey.d.mts","names":[],"sources":["../../src/multisig/publickey.ts"],"sourcesContent":[],"mappings":";;;;;;;KAsBK,mBAAA;WACS;AAH6C,CAAA,GAEtD;EACS,SAAA,EACE,UADF;CACE,GAAA;EACA,SAAA,EAAA,UAAA;CACF,GAAA;EACA,OAAA,EADA,UACA;CAAU,GAAA;EAEnB,OAAA,EAFS,UAEI;CACJ;KADT,aAAA,GAEW;EACA,OAAA,EAFF,UAEE;CACF,GAAA;EACA,SAAA,EAHE,UAGF;CAAU,GAAA;EAEnB,SAAA,EAJW,UAIX;AACiB,CAAA,GAIjB;EAKO,OAAA,EAbE,UAaY;AAIxB,CAAA,GAEG;EACa,OAAA,EAnBJ,UAmBI;CACN;KAlBP,oBAAA,GAmBO;EAAS,MAAA,EAlBZ,aAkBY;EASR,MAAA,EAAA,MAAA;CAcK;KArCb,uBAAA,GAqC0B;EACT,MAAA,EArCb,oBAqCa,EAAA;EA8DpB,SAAA,EAAA,MAAA;CACA;AAGyB,KAnGf,cAAA,GAmGe;EACzB,IAAA,EAnGK,mBAmGL,EAAA;EAiB0B,MAAA,EAAA,MAAA;EAOF,WAAA,EAzHZ,uBAyHY;CAAX;KAtHV,8BAAA,GAiBQ;EAiHmB,eAAA,EAjId,eAiIc;EAAO,SAAA,EAhI3B,UAgI2B;EAmChB,SAAA,EAlKX,SAkKW;EAAwC,MAAA,EAAA,MAAA;CAzJxB;;;;AA8PN,cA9PpB,iBAAA,SAA0B,SAAA,CA8PN;;;;;;;;;;;kBAhPf,aAAa;aACT;;;;;;;;;;;iBAkEK;;;MACzB;;;;oBAiB0B;;;;gBAOb,WAAW;;;eArGb;;;iCAiHmB,UAAO;;;;;;;;;;;;kBAmChB,wCAAwC;;;;;;;;;;iBAkG/C,sBAAA,WACL;WACU;IAClB"}
1
+ {"version":3,"file":"publickey.d.mts","names":[],"sources":["../../src/multisig/publickey.ts"],"mappings":";;;;;;;KAsBK,mBAAA;EACA,OAAA,EAAS,UAAA;AAAA;EACT,SAAA,EAAW,UAAA;AAAA;EACX,SAAA,EAAW,UAAA;AAAA;EACX,OAAA,EAAS,UAAA;AAAA;EACT,OAAA,EAAS,UAAA;AAAA;AAAA,KAET,aAAA;EACA,OAAA,EAAS,UAAA;AAAA;EACT,SAAA,EAAW,UAAA;AAAA;EACX,SAAA,EAAW,UAAA;AAAA;EACX,OAAA,EAAS,UAAA;AAAA;EACT,OAAA,EAAS,UAAA;AAAA;AAAA,KAET,oBAAA;EACJ,MAAA,EAAQ,aAAA;EACR,MAAA;AAAA;AAAA,KAGI,uBAAA;EACJ,MAAA,EAAQ,oBAAA;EACR,SAAA;AAAA;AAAA,KAGW,cAAA;EACX,IAAA,EAAM,mBAAA;EACN,MAAA;EACA,WAAA,EAAa,uBAAA;AAAA;AAAA,KAGT,8BAAA;EACJ,eAAA,EAAiB,eAAA;EACjB,SAAA,EAAW,UAAA;EACX,SAAA,EAAW,SAAA;EACX,MAAA;AAAA;;;;cAQY,iBAAA,SAA0B,SAAA;EAAA,QAC9B,QAAA;EAAA,QACA,iBAAA;EAAA,QACA,UAAA;EA9BR;;;;EACM;AAAA;;;EAwCL,KAAA,WAAgB,UAAA,GAAa,uBAAA,EAC7B,OAAA;IAAW,MAAA,GAAS,iBAAA;EAAA;EArCb;;;EAAA,OAkGD,cAAA,CAAA;IACN,SAAA;IACA;EAAA;IAEA,SAAA;IACA,UAAA;MAAc,SAAA,EAAW,SAAA;MAAW,MAAA;IAAA;EAAA,IACpC,iBAAA;EAlGD;;;EAmHS,MAAA,CAAO,SAAA,EAAW,iBAAA;EAlHS;AACnC;;EAwHD,UAAA,CAAA,GAAc,UAAA,CAAW,WAAA;EAIzB,aAAA,CAAA;;eAzGY,SAAA;EAAA;EA6GZ,YAAA,CAAA;EAIA,SAAA,CAAA,GAAa,OAAA,GAAU,MAAA,EAAQ,MAAA,IAAO,cAAA;EAjIrB;;;EAwIR,eAAA,CAAA;EAtIE;;;EA2JX,IAAA,CAAA;EAlJY;;;EAyJN,MAAA,CAAO,OAAA,EAAS,UAAA,EAAY,iBAAA,WAA4B,OAAA;EA3IhC;;;;EA+K9B,wBAAA,CAAyB,UAAA;AAAA;;;;iBA8DV,sBAAA,CACf,QAAA,EAAU,cAAA,EACV,OAAA;EAAW,MAAA,GAAS,iBAAA;AAAA,IAClB,8BAAA"}
@@ -1,5 +1,5 @@
1
1
  import { normalizeHaneulAddress } from "../utils/haneul-types.mjs";
2
- import { bcs as suiBcs } from "../bcs/index.mjs";
2
+ import { bcs as haneulBcs } from "../bcs/index.mjs";
3
3
  import { SIGNATURE_FLAG_TO_SCHEME, SIGNATURE_SCHEME_TO_FLAG } from "../cryptography/signature-scheme.mjs";
4
4
  import { PublicKey, bytesEqual } from "../cryptography/publickey.mjs";
5
5
  import { toZkLoginPublicIdentifier } from "../zklogin/publickey.mjs";
@@ -24,13 +24,13 @@ var MultiSigPublicKey = class MultiSigPublicKey extends PublicKey {
24
24
  super();
25
25
  if (typeof value === "string") {
26
26
  this.rawBytes = fromBase64(value);
27
- this.multisigPublicKey = suiBcs.MultiSigPublicKey.parse(this.rawBytes);
27
+ this.multisigPublicKey = haneulBcs.MultiSigPublicKey.parse(this.rawBytes);
28
28
  } else if (value instanceof Uint8Array) {
29
29
  this.rawBytes = value;
30
- this.multisigPublicKey = suiBcs.MultiSigPublicKey.parse(this.rawBytes);
30
+ this.multisigPublicKey = haneulBcs.MultiSigPublicKey.parse(this.rawBytes);
31
31
  } else {
32
32
  this.multisigPublicKey = value;
33
- this.rawBytes = suiBcs.MultiSigPublicKey.serialize(value).toBytes();
33
+ this.rawBytes = haneulBcs.MultiSigPublicKey.serialize(value).toBytes();
34
34
  }
35
35
  if (this.multisigPublicKey.threshold < 1) throw new Error("Invalid threshold");
36
36
  const seenPublicKeys = /* @__PURE__ */ new Set();
@@ -92,10 +92,10 @@ var MultiSigPublicKey = class MultiSigPublicKey extends PublicKey {
92
92
  const maxLength = 1 + 65 * MAX_SIGNER_IN_MULTISIG + 2;
93
93
  const tmp = new Uint8Array(maxLength);
94
94
  tmp.set([SIGNATURE_SCHEME_TO_FLAG["MultiSig"]]);
95
- tmp.set(suiBcs.u16().serialize(this.multisigPublicKey.threshold).toBytes(), 1);
95
+ tmp.set(haneulBcs.u16().serialize(this.multisigPublicKey.threshold).toBytes(), 1);
96
96
  let i = 3;
97
97
  for (const { publicKey, weight } of this.publicKeys) {
98
- const bytes = publicKey.toSuiBytes();
98
+ const bytes = publicKey.toHaneulBytes();
99
99
  tmp.set(bytes, i);
100
100
  i += bytes.length;
101
101
  tmp.set([weight], i++);
@@ -116,7 +116,7 @@ var MultiSigPublicKey = class MultiSigPublicKey extends PublicKey {
116
116
  if (parsed.signatureScheme !== "MultiSig") throw new Error("Invalid signature scheme");
117
117
  const { multisig } = parsed;
118
118
  let signatureWeight = 0;
119
- if (!bytesEqual(suiBcs.MultiSigPublicKey.serialize(this.multisigPublicKey).toBytes(), suiBcs.MultiSigPublicKey.serialize(multisig.multisig_pk).toBytes())) return false;
119
+ if (!bytesEqual(haneulBcs.MultiSigPublicKey.serialize(this.multisigPublicKey).toBytes(), haneulBcs.MultiSigPublicKey.serialize(multisig.multisig_pk).toBytes())) return false;
120
120
  for (const { publicKey, weight, signature } of parsePartialSignatures(multisig)) {
121
121
  if (!await publicKey.verify(message, signature)) return false;
122
122
  signatureWeight += weight;
@@ -152,7 +152,7 @@ var MultiSigPublicKey = class MultiSigPublicKey extends PublicKey {
152
152
  bitmap,
153
153
  multisig_pk: this.multisigPublicKey
154
154
  };
155
- const bytes = suiBcs.MultiSig.serialize(multisig, { maxSize: 8192 }).toBytes();
155
+ const bytes = haneulBcs.MultiSig.serialize(multisig, { maxSize: 8192 }).toBytes();
156
156
  const tmp = new Uint8Array(bytes.length + 1);
157
157
  tmp.set([SIGNATURE_SCHEME_TO_FLAG["MultiSig"]]);
158
158
  tmp.set(bytes, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"publickey.mjs","names":["bcs"],"sources":["../../src/multisig/publickey.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@haneullabs/bcs';\nimport { blake2b } from '@noble/hashes/blake2.js';\nimport { bytesToHex } from '@noble/hashes/utils.js';\n\nimport { bcs } from '../bcs/index.js';\nimport type { Signer } from '../cryptography/keypair.js';\nimport { bytesEqual, PublicKey } from '../cryptography/publickey.js';\nimport {\n\tSIGNATURE_FLAG_TO_SCHEME,\n\tSIGNATURE_SCHEME_TO_FLAG,\n} from '../cryptography/signature-scheme.js';\nimport type { SignatureFlag, SignatureScheme } from '../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../cryptography/signature.js';\nimport { normalizeHaneulAddress } from '../utils/haneul-types.js';\nimport { publicKeyFromRawBytes } from '../verify/index.js';\nimport { toZkLoginPublicIdentifier } from '../zklogin/publickey.js';\nimport { MultiSigSigner } from './signer.js';\nimport type { ClientWithCoreApi } from '../client/core.js';\n\ntype CompressedSignature =\n\t| { ED25519: Uint8Array }\n\t| { Secp256k1: Uint8Array }\n\t| { Secp256r1: Uint8Array }\n\t| { ZkLogin: Uint8Array }\n\t| { Passkey: Uint8Array };\n\ntype PublicKeyEnum =\n\t| { ED25519: Uint8Array }\n\t| { Secp256k1: Uint8Array }\n\t| { Secp256r1: Uint8Array }\n\t| { ZkLogin: Uint8Array }\n\t| { Passkey: Uint8Array };\n\ntype PubkeyEnumWeightPair = {\n\tpubKey: PublicKeyEnum;\n\tweight: number;\n};\n\ntype MultiSigPublicKeyStruct = {\n\tpk_map: PubkeyEnumWeightPair[];\n\tthreshold: number;\n};\n\nexport type MultiSigStruct = {\n\tsigs: CompressedSignature[];\n\tbitmap: number;\n\tmultisig_pk: MultiSigPublicKeyStruct;\n};\n\ntype ParsedPartialMultiSigSignature = {\n\tsignatureScheme: SignatureScheme;\n\tsignature: Uint8Array;\n\tpublicKey: PublicKey;\n\tweight: number;\n};\n\nexport const MAX_SIGNER_IN_MULTISIG = 10;\nexport const MIN_SIGNER_IN_MULTISIG = 1;\n/**\n * A MultiSig public key\n */\nexport class MultiSigPublicKey extends PublicKey {\n\tprivate rawBytes: Uint8Array<ArrayBuffer>;\n\tprivate multisigPublicKey: MultiSigPublicKeyStruct;\n\tprivate publicKeys: {\n\t\tweight: number;\n\t\tpublicKey: PublicKey;\n\t}[];\n\t/**\n\t * Create a new MultiSigPublicKey object\n\t */\n\tconstructor(\n\t\t/**\n\t\t * MultiSig public key as buffer or base-64 encoded string\n\t\t */\n\t\tvalue: string | Uint8Array | MultiSigPublicKeyStruct,\n\t\toptions: { client?: ClientWithCoreApi } = {},\n\t) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.rawBytes = fromBase64(value);\n\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.rawBytes = value as Uint8Array<ArrayBuffer>;\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else {\n\t\t\tthis.multisigPublicKey = value;\n\t\t\tthis.rawBytes = bcs.MultiSigPublicKey.serialize(value).toBytes();\n\t\t}\n\t\tif (this.multisigPublicKey.threshold < 1) {\n\t\t\tthrow new Error('Invalid threshold');\n\t\t}\n\n\t\tconst seenPublicKeys = new Set<string>();\n\n\t\tthis.publicKeys = this.multisigPublicKey.pk_map.map(({ pubKey, weight }) => {\n\t\t\tconst [scheme, bytes] = Object.entries(pubKey).filter(([name]) => name !== '$kind')[0] as [\n\t\t\t\tSignatureScheme,\n\t\t\t\tUint8Array,\n\t\t\t];\n\t\t\tconst publicKeyStr = Uint8Array.from(bytes).toString();\n\n\t\t\tif (seenPublicKeys.has(publicKeyStr)) {\n\t\t\t\tthrow new Error(`Multisig does not support duplicate public keys`);\n\t\t\t}\n\t\t\tseenPublicKeys.add(publicKeyStr);\n\n\t\t\tif (weight < 1) {\n\t\t\t\tthrow new Error(`Invalid weight`);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpublicKey: publicKeyFromRawBytes(scheme, Uint8Array.from(bytes), options),\n\t\t\t\tweight,\n\t\t\t};\n\t\t});\n\n\t\tconst totalWeight = this.publicKeys.reduce((sum, { weight }) => sum + weight, 0);\n\n\t\tif (this.multisigPublicKey.threshold > totalWeight) {\n\t\t\tthrow new Error(`Unreachable threshold`);\n\t\t}\n\n\t\tif (this.publicKeys.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signers in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tif (this.publicKeys.length < MIN_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Min number of signers in a multisig is ${MIN_SIGNER_IN_MULTISIG}`);\n\t\t}\n\t}\n\t/**\n\t * \tA static method to create a new MultiSig publickey instance from a set of public keys and their associated weights pairs and threshold.\n\t */\n\n\tstatic fromPublicKeys({\n\t\tthreshold,\n\t\tpublicKeys,\n\t}: {\n\t\tthreshold: number;\n\t\tpublicKeys: { publicKey: PublicKey; weight: number }[];\n\t}) {\n\t\treturn new MultiSigPublicKey({\n\t\t\tpk_map: publicKeys.map(({ publicKey, weight }) => {\n\t\t\t\tconst scheme = SIGNATURE_FLAG_TO_SCHEME[publicKey.flag() as SignatureFlag];\n\n\t\t\t\treturn {\n\t\t\t\t\tpubKey: { [scheme]: publicKey.toRawBytes() } as PublicKeyEnum,\n\t\t\t\t\tweight,\n\t\t\t\t};\n\t\t\t}),\n\t\t\tthreshold,\n\t\t});\n\t}\n\n\t/**\n\t * Checks if two MultiSig public keys are equal\n\t */\n\toverride equals(publicKey: MultiSigPublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the MultiSig public key\n\t */\n\ttoRawBytes(): Uint8Array<ArrayBuffer> {\n\t\treturn this.rawBytes;\n\t}\n\n\tgetPublicKeys() {\n\t\treturn this.publicKeys;\n\t}\n\n\tgetThreshold() {\n\t\treturn this.multisigPublicKey.threshold;\n\t}\n\n\tgetSigner(...signers: [signer: Signer]) {\n\t\treturn new MultiSigSigner(this, signers);\n\t}\n\n\t/**\n\t * Return the Haneul address associated with this MultiSig public key\n\t */\n\toverride toHaneulAddress(): string {\n\t\t// max length = 1 flag byte + (max pk size + max weight size (u8)) * max signer size + 2 threshold bytes (u16)\n\t\tconst maxLength = 1 + (64 + 1) * MAX_SIGNER_IN_MULTISIG + 2;\n\t\tconst tmp = new Uint8Array(maxLength);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\n\t\ttmp.set(bcs.u16().serialize(this.multisigPublicKey.threshold).toBytes(), 1);\n\t\t// The initial value 3 ensures that following data will be after the flag byte and threshold bytes\n\t\tlet i = 3;\n\t\tfor (const { publicKey, weight } of this.publicKeys) {\n\t\t\tconst bytes = publicKey.toSuiBytes();\n\t\t\ttmp.set(bytes, i);\n\t\t\ti += bytes.length;\n\t\t\ttmp.set([weight], i++);\n\t\t}\n\t\treturn normalizeHaneulAddress(bytesToHex(blake2b(tmp.slice(0, i), { dkLen: 32 })));\n\t}\n\n\t/**\n\t * Return the Haneul address associated with this MultiSig public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['MultiSig'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(message: Uint8Array, multisigSignature: string): Promise<boolean> {\n\t\t// Multisig verification only supports serialized signature\n\t\tconst parsed = parseSerializedSignature(multisigSignature);\n\n\t\tif (parsed.signatureScheme !== 'MultiSig') {\n\t\t\tthrow new Error('Invalid signature scheme');\n\t\t}\n\n\t\tconst { multisig } = parsed;\n\n\t\tlet signatureWeight = 0;\n\n\t\tif (\n\t\t\t!bytesEqual(\n\t\t\t\tbcs.MultiSigPublicKey.serialize(this.multisigPublicKey).toBytes(),\n\t\t\t\tbcs.MultiSigPublicKey.serialize(multisig.multisig_pk).toBytes(),\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (const { publicKey, weight, signature } of parsePartialSignatures(multisig)) {\n\t\t\tif (!(await publicKey.verify(message, signature))) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsignatureWeight += weight;\n\t\t}\n\n\t\treturn signatureWeight >= this.multisigPublicKey.threshold;\n\t}\n\n\t/**\n\t * Combines multiple partial signatures into a single multisig, ensuring that each public key signs only once\n\t * and that all the public keys involved are known and valid, and then serializes multisig into the standard format\n\t */\n\tcombinePartialSignatures(signatures: string[]): string {\n\t\tif (signatures.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signatures in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tlet bitmap = 0;\n\t\tconst compressedSignatures: CompressedSignature[] = new Array(signatures.length);\n\n\t\tfor (let i = 0; i < signatures.length; i++) {\n\t\t\tconst parsed = parseSerializedSignature(signatures[i]);\n\t\t\tif (parsed.signatureScheme === 'MultiSig') {\n\t\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t\t}\n\n\t\t\tlet publicKey;\n\t\t\tif (parsed.signatureScheme === 'ZkLogin') {\n\t\t\t\tpublicKey = toZkLoginPublicIdentifier(parsed.zkLogin?.addressSeed, parsed.zkLogin?.iss, {\n\t\t\t\t\tlegacyAddress: false,\n\t\t\t\t}).toRawBytes();\n\t\t\t} else {\n\t\t\t\tpublicKey = parsed.publicKey;\n\t\t\t}\n\n\t\t\tcompressedSignatures[i] = {\n\t\t\t\t[parsed.signatureScheme]: parsed.signature,\n\t\t\t} as CompressedSignature;\n\n\t\t\tlet publicKeyIndex;\n\t\t\tfor (let j = 0; j < this.publicKeys.length; j++) {\n\t\t\t\tif (bytesEqual(publicKey, this.publicKeys[j].publicKey.toRawBytes())) {\n\t\t\t\t\tif (bitmap & (1 << j)) {\n\t\t\t\t\t\tthrow new Error('Received multiple signatures from the same public key');\n\t\t\t\t\t}\n\n\t\t\t\t\tpublicKeyIndex = j;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (publicKeyIndex === undefined) {\n\t\t\t\tthrow new Error('Received signature from unknown public key');\n\t\t\t}\n\n\t\t\tbitmap |= 1 << publicKeyIndex;\n\t\t}\n\n\t\tconst multisig: MultiSigStruct = {\n\t\t\tsigs: compressedSignatures,\n\t\t\tbitmap,\n\t\t\tmultisig_pk: this.multisigPublicKey,\n\t\t};\n\t\tconst bytes = bcs.MultiSig.serialize(multisig, { maxSize: 8192 }).toBytes();\n\t\tconst tmp = new Uint8Array(bytes.length + 1);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\t\ttmp.set(bytes, 1);\n\t\treturn toBase64(tmp);\n\t}\n}\n\n/**\n * Parse multisig structure into an array of individual signatures: signature scheme, the actual individual signature, public key and its weight.\n */\nexport function parsePartialSignatures(\n\tmultisig: MultiSigStruct,\n\toptions: { client?: ClientWithCoreApi } = {},\n): ParsedPartialMultiSigSignature[] {\n\tconst res: ParsedPartialMultiSigSignature[] = new Array(multisig.sigs.length);\n\tfor (let i = 0; i < multisig.sigs.length; i++) {\n\t\tconst [signatureScheme, signature] = Object.entries(multisig.sigs[i]).filter(\n\t\t\t([name]) => name !== '$kind',\n\t\t)[0] as [SignatureScheme, Uint8Array];\n\t\tconst pkIndex = asIndices(multisig.bitmap).at(i)!;\n\t\tconst pair = multisig.multisig_pk.pk_map[pkIndex];\n\t\tconst pkBytes = Uint8Array.from(Object.values(pair.pubKey)[0]);\n\n\t\tif (signatureScheme === 'MultiSig') {\n\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t}\n\n\t\tconst publicKey = publicKeyFromRawBytes(signatureScheme, pkBytes, options);\n\n\t\tres[i] = {\n\t\t\tsignatureScheme,\n\t\t\tsignature: Uint8Array.from(signature),\n\t\t\tpublicKey: publicKey,\n\t\t\tweight: pair.weight,\n\t\t};\n\t}\n\treturn res;\n}\n\nfunction asIndices(bitmap: number): Uint8Array {\n\tif (bitmap < 0 || bitmap > 1024) {\n\t\tthrow new Error('Invalid bitmap');\n\t}\n\tconst res: number[] = [];\n\tfor (let i = 0; i < 10; i++) {\n\t\tif ((bitmap & (1 << i)) !== 0) {\n\t\t\tres.push(i);\n\t\t}\n\t}\n\treturn Uint8Array.from(res);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"publickey.mjs","names":["bcs"],"sources":["../../src/multisig/publickey.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@haneullabs/bcs';\nimport { blake2b } from '@noble/hashes/blake2.js';\nimport { bytesToHex } from '@noble/hashes/utils.js';\n\nimport { bcs } from '../bcs/index.js';\nimport type { Signer } from '../cryptography/keypair.js';\nimport { bytesEqual, PublicKey } from '../cryptography/publickey.js';\nimport {\n\tSIGNATURE_FLAG_TO_SCHEME,\n\tSIGNATURE_SCHEME_TO_FLAG,\n} from '../cryptography/signature-scheme.js';\nimport type { SignatureFlag, SignatureScheme } from '../cryptography/signature-scheme.js';\nimport { parseSerializedSignature } from '../cryptography/signature.js';\nimport { normalizeHaneulAddress } from '../utils/haneul-types.js';\nimport { publicKeyFromRawBytes } from '../verify/index.js';\nimport { toZkLoginPublicIdentifier } from '../zklogin/publickey.js';\nimport { MultiSigSigner } from './signer.js';\nimport type { ClientWithCoreApi } from '../client/core.js';\n\ntype CompressedSignature =\n\t| { ED25519: Uint8Array }\n\t| { Secp256k1: Uint8Array }\n\t| { Secp256r1: Uint8Array }\n\t| { ZkLogin: Uint8Array }\n\t| { Passkey: Uint8Array };\n\ntype PublicKeyEnum =\n\t| { ED25519: Uint8Array }\n\t| { Secp256k1: Uint8Array }\n\t| { Secp256r1: Uint8Array }\n\t| { ZkLogin: Uint8Array }\n\t| { Passkey: Uint8Array };\n\ntype PubkeyEnumWeightPair = {\n\tpubKey: PublicKeyEnum;\n\tweight: number;\n};\n\ntype MultiSigPublicKeyStruct = {\n\tpk_map: PubkeyEnumWeightPair[];\n\tthreshold: number;\n};\n\nexport type MultiSigStruct = {\n\tsigs: CompressedSignature[];\n\tbitmap: number;\n\tmultisig_pk: MultiSigPublicKeyStruct;\n};\n\ntype ParsedPartialMultiSigSignature = {\n\tsignatureScheme: SignatureScheme;\n\tsignature: Uint8Array;\n\tpublicKey: PublicKey;\n\tweight: number;\n};\n\nexport const MAX_SIGNER_IN_MULTISIG = 10;\nexport const MIN_SIGNER_IN_MULTISIG = 1;\n/**\n * A MultiSig public key\n */\nexport class MultiSigPublicKey extends PublicKey {\n\tprivate rawBytes: Uint8Array<ArrayBuffer>;\n\tprivate multisigPublicKey: MultiSigPublicKeyStruct;\n\tprivate publicKeys: {\n\t\tweight: number;\n\t\tpublicKey: PublicKey;\n\t}[];\n\t/**\n\t * Create a new MultiSigPublicKey object\n\t */\n\tconstructor(\n\t\t/**\n\t\t * MultiSig public key as buffer or base-64 encoded string\n\t\t */\n\t\tvalue: string | Uint8Array | MultiSigPublicKeyStruct,\n\t\toptions: { client?: ClientWithCoreApi } = {},\n\t) {\n\t\tsuper();\n\n\t\tif (typeof value === 'string') {\n\t\t\tthis.rawBytes = fromBase64(value);\n\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\tthis.rawBytes = value as Uint8Array<ArrayBuffer>;\n\t\t\tthis.multisigPublicKey = bcs.MultiSigPublicKey.parse(this.rawBytes);\n\t\t} else {\n\t\t\tthis.multisigPublicKey = value;\n\t\t\tthis.rawBytes = bcs.MultiSigPublicKey.serialize(value).toBytes();\n\t\t}\n\t\tif (this.multisigPublicKey.threshold < 1) {\n\t\t\tthrow new Error('Invalid threshold');\n\t\t}\n\n\t\tconst seenPublicKeys = new Set<string>();\n\n\t\tthis.publicKeys = this.multisigPublicKey.pk_map.map(({ pubKey, weight }) => {\n\t\t\tconst [scheme, bytes] = Object.entries(pubKey).filter(([name]) => name !== '$kind')[0] as [\n\t\t\t\tSignatureScheme,\n\t\t\t\tUint8Array,\n\t\t\t];\n\t\t\tconst publicKeyStr = Uint8Array.from(bytes).toString();\n\n\t\t\tif (seenPublicKeys.has(publicKeyStr)) {\n\t\t\t\tthrow new Error(`Multisig does not support duplicate public keys`);\n\t\t\t}\n\t\t\tseenPublicKeys.add(publicKeyStr);\n\n\t\t\tif (weight < 1) {\n\t\t\t\tthrow new Error(`Invalid weight`);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpublicKey: publicKeyFromRawBytes(scheme, Uint8Array.from(bytes), options),\n\t\t\t\tweight,\n\t\t\t};\n\t\t});\n\n\t\tconst totalWeight = this.publicKeys.reduce((sum, { weight }) => sum + weight, 0);\n\n\t\tif (this.multisigPublicKey.threshold > totalWeight) {\n\t\t\tthrow new Error(`Unreachable threshold`);\n\t\t}\n\n\t\tif (this.publicKeys.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signers in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tif (this.publicKeys.length < MIN_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Min number of signers in a multisig is ${MIN_SIGNER_IN_MULTISIG}`);\n\t\t}\n\t}\n\t/**\n\t * \tA static method to create a new MultiSig publickey instance from a set of public keys and their associated weights pairs and threshold.\n\t */\n\n\tstatic fromPublicKeys({\n\t\tthreshold,\n\t\tpublicKeys,\n\t}: {\n\t\tthreshold: number;\n\t\tpublicKeys: { publicKey: PublicKey; weight: number }[];\n\t}) {\n\t\treturn new MultiSigPublicKey({\n\t\t\tpk_map: publicKeys.map(({ publicKey, weight }) => {\n\t\t\t\tconst scheme = SIGNATURE_FLAG_TO_SCHEME[publicKey.flag() as SignatureFlag];\n\n\t\t\t\treturn {\n\t\t\t\t\tpubKey: { [scheme]: publicKey.toRawBytes() } as PublicKeyEnum,\n\t\t\t\t\tweight,\n\t\t\t\t};\n\t\t\t}),\n\t\t\tthreshold,\n\t\t});\n\t}\n\n\t/**\n\t * Checks if two MultiSig public keys are equal\n\t */\n\toverride equals(publicKey: MultiSigPublicKey): boolean {\n\t\treturn super.equals(publicKey);\n\t}\n\n\t/**\n\t * Return the byte array representation of the MultiSig public key\n\t */\n\ttoRawBytes(): Uint8Array<ArrayBuffer> {\n\t\treturn this.rawBytes;\n\t}\n\n\tgetPublicKeys() {\n\t\treturn this.publicKeys;\n\t}\n\n\tgetThreshold() {\n\t\treturn this.multisigPublicKey.threshold;\n\t}\n\n\tgetSigner(...signers: [signer: Signer]) {\n\t\treturn new MultiSigSigner(this, signers);\n\t}\n\n\t/**\n\t * Return the Haneul address associated with this MultiSig public key\n\t */\n\toverride toHaneulAddress(): string {\n\t\t// max length = 1 flag byte + (max pk size + max weight size (u8)) * max signer size + 2 threshold bytes (u16)\n\t\tconst maxLength = 1 + (64 + 1) * MAX_SIGNER_IN_MULTISIG + 2;\n\t\tconst tmp = new Uint8Array(maxLength);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\n\t\ttmp.set(bcs.u16().serialize(this.multisigPublicKey.threshold).toBytes(), 1);\n\t\t// The initial value 3 ensures that following data will be after the flag byte and threshold bytes\n\t\tlet i = 3;\n\t\tfor (const { publicKey, weight } of this.publicKeys) {\n\t\t\tconst bytes = publicKey.toHaneulBytes();\n\t\t\ttmp.set(bytes, i);\n\t\t\ti += bytes.length;\n\t\t\ttmp.set([weight], i++);\n\t\t}\n\t\treturn normalizeHaneulAddress(bytesToHex(blake2b(tmp.slice(0, i), { dkLen: 32 })));\n\t}\n\n\t/**\n\t * Return the Haneul address associated with this MultiSig public key\n\t */\n\tflag(): number {\n\t\treturn SIGNATURE_SCHEME_TO_FLAG['MultiSig'];\n\t}\n\n\t/**\n\t * Verifies that the signature is valid for for the provided message\n\t */\n\tasync verify(message: Uint8Array, multisigSignature: string): Promise<boolean> {\n\t\t// Multisig verification only supports serialized signature\n\t\tconst parsed = parseSerializedSignature(multisigSignature);\n\n\t\tif (parsed.signatureScheme !== 'MultiSig') {\n\t\t\tthrow new Error('Invalid signature scheme');\n\t\t}\n\n\t\tconst { multisig } = parsed;\n\n\t\tlet signatureWeight = 0;\n\n\t\tif (\n\t\t\t!bytesEqual(\n\t\t\t\tbcs.MultiSigPublicKey.serialize(this.multisigPublicKey).toBytes(),\n\t\t\t\tbcs.MultiSigPublicKey.serialize(multisig.multisig_pk).toBytes(),\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (const { publicKey, weight, signature } of parsePartialSignatures(multisig)) {\n\t\t\tif (!(await publicKey.verify(message, signature))) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsignatureWeight += weight;\n\t\t}\n\n\t\treturn signatureWeight >= this.multisigPublicKey.threshold;\n\t}\n\n\t/**\n\t * Combines multiple partial signatures into a single multisig, ensuring that each public key signs only once\n\t * and that all the public keys involved are known and valid, and then serializes multisig into the standard format\n\t */\n\tcombinePartialSignatures(signatures: string[]): string {\n\t\tif (signatures.length > MAX_SIGNER_IN_MULTISIG) {\n\t\t\tthrow new Error(`Max number of signatures in a multisig is ${MAX_SIGNER_IN_MULTISIG}`);\n\t\t}\n\n\t\tlet bitmap = 0;\n\t\tconst compressedSignatures: CompressedSignature[] = new Array(signatures.length);\n\n\t\tfor (let i = 0; i < signatures.length; i++) {\n\t\t\tconst parsed = parseSerializedSignature(signatures[i]);\n\t\t\tif (parsed.signatureScheme === 'MultiSig') {\n\t\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t\t}\n\n\t\t\tlet publicKey;\n\t\t\tif (parsed.signatureScheme === 'ZkLogin') {\n\t\t\t\tpublicKey = toZkLoginPublicIdentifier(parsed.zkLogin?.addressSeed, parsed.zkLogin?.iss, {\n\t\t\t\t\tlegacyAddress: false,\n\t\t\t\t}).toRawBytes();\n\t\t\t} else {\n\t\t\t\tpublicKey = parsed.publicKey;\n\t\t\t}\n\n\t\t\tcompressedSignatures[i] = {\n\t\t\t\t[parsed.signatureScheme]: parsed.signature,\n\t\t\t} as CompressedSignature;\n\n\t\t\tlet publicKeyIndex;\n\t\t\tfor (let j = 0; j < this.publicKeys.length; j++) {\n\t\t\t\tif (bytesEqual(publicKey, this.publicKeys[j].publicKey.toRawBytes())) {\n\t\t\t\t\tif (bitmap & (1 << j)) {\n\t\t\t\t\t\tthrow new Error('Received multiple signatures from the same public key');\n\t\t\t\t\t}\n\n\t\t\t\t\tpublicKeyIndex = j;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (publicKeyIndex === undefined) {\n\t\t\t\tthrow new Error('Received signature from unknown public key');\n\t\t\t}\n\n\t\t\tbitmap |= 1 << publicKeyIndex;\n\t\t}\n\n\t\tconst multisig: MultiSigStruct = {\n\t\t\tsigs: compressedSignatures,\n\t\t\tbitmap,\n\t\t\tmultisig_pk: this.multisigPublicKey,\n\t\t};\n\t\tconst bytes = bcs.MultiSig.serialize(multisig, { maxSize: 8192 }).toBytes();\n\t\tconst tmp = new Uint8Array(bytes.length + 1);\n\t\ttmp.set([SIGNATURE_SCHEME_TO_FLAG['MultiSig']]);\n\t\ttmp.set(bytes, 1);\n\t\treturn toBase64(tmp);\n\t}\n}\n\n/**\n * Parse multisig structure into an array of individual signatures: signature scheme, the actual individual signature, public key and its weight.\n */\nexport function parsePartialSignatures(\n\tmultisig: MultiSigStruct,\n\toptions: { client?: ClientWithCoreApi } = {},\n): ParsedPartialMultiSigSignature[] {\n\tconst res: ParsedPartialMultiSigSignature[] = new Array(multisig.sigs.length);\n\tfor (let i = 0; i < multisig.sigs.length; i++) {\n\t\tconst [signatureScheme, signature] = Object.entries(multisig.sigs[i]).filter(\n\t\t\t([name]) => name !== '$kind',\n\t\t)[0] as [SignatureScheme, Uint8Array];\n\t\tconst pkIndex = asIndices(multisig.bitmap).at(i)!;\n\t\tconst pair = multisig.multisig_pk.pk_map[pkIndex];\n\t\tconst pkBytes = Uint8Array.from(Object.values(pair.pubKey)[0]);\n\n\t\tif (signatureScheme === 'MultiSig') {\n\t\t\tthrow new Error('MultiSig is not supported inside MultiSig');\n\t\t}\n\n\t\tconst publicKey = publicKeyFromRawBytes(signatureScheme, pkBytes, options);\n\n\t\tres[i] = {\n\t\t\tsignatureScheme,\n\t\t\tsignature: Uint8Array.from(signature),\n\t\t\tpublicKey: publicKey,\n\t\t\tweight: pair.weight,\n\t\t};\n\t}\n\treturn res;\n}\n\nfunction asIndices(bitmap: number): Uint8Array {\n\tif (bitmap < 0 || bitmap > 1024) {\n\t\tthrow new Error('Invalid bitmap');\n\t}\n\tconst res: number[] = [];\n\tfor (let i = 0; i < 10; i++) {\n\t\tif ((bitmap & (1 << i)) !== 0) {\n\t\t\tres.push(i);\n\t\t}\n\t}\n\treturn Uint8Array.from(res);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.mts","names":[],"sources":["../../src/multisig/signer.ts"],"sourcesContent":[],"mappings":";;;;;;cAQa,cAAA,SAAuB,MAAA;;sBAIf,6BAA4B;EAJpC,YAAA,CAAA,CAAA,EAsCI,eAtCW;EAIP,YAAA,CAAA,CAAA,EAsCJ,iBAtCI;EAA4B,IAAA,CAAA,KAAA,EA0CpC,UA1CoC,CAAA,EAAA,KAAA;EAkChC,eAAA,CAAA,KAAA,EAca,UAdb,CAAA,EAcuB,OAdvB,CAAA;IAIA,SAAA,EAAA,MAAA;IAIJ,KAAA,EAAA,MAAA;EAMiB,CAAA,CAAA;EAAU,mBAAA,CAAA,KAAA,EAaN,UAbM,CAAA,EAaI,OAbJ,CAAA;IAaN,SAAA,EAAA,MAAA;IAAU,KAAA,EAAA,MAAA;EAjER,CAAA,CAAA"}
1
+ {"version":3,"file":"signer.d.mts","names":[],"sources":["../../src/multisig/signer.ts"],"mappings":";;;;;;cAQa,cAAA,SAAuB,MAAA;EAAA;cAIvB,MAAA,EAAQ,iBAAA,EAAmB,OAAA,GAAS,MAAA;EAkChD,YAAA,CAAA,GAAgB,eAAA;EAIhB,YAAA,CAAA,GAAgB,iBAAA;EAIhB,IAAA,CAAK,KAAA,EAAO,UAAA;EAMN,eAAA,CAAgB,KAAA,EAAO,UAAA,GAAU,OAAA;;;;EAajC,mBAAA,CAAoB,KAAA,EAAO,UAAA,GAAU,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Arguments.d.mts","names":[],"sources":["../../src/transactions/Arguments.ts"],"sourcesContent":[],"mappings":";;;;;cASa;EAAA,IAAA,EAC0E,UAgBtF,CAAA,OAfQ,UAeR,CAAA,CAAA,EAAA,EAfwB,WAexB,EAAA,GAfwC,QAexC,CAAA,CAAA;EAfwB,MAAA,EAAA;IAAgB,CAAA,KAAA,EADwD,sBACxD,CAAA,2BAAA;IAAhC,MAAA,CAAA,OADwF,CACxF,EAAA;MAD8E,OAAA,CAAA,EAAA,OAAA;IAAU,CAAA,GAAA,SAAA,CAAA,2BAAA;;;;;;;;;IAiBggB;;;IAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,WAAA,EAAA,GAAe,iBAAf;EAAe,CAAA;EAXzmB,eAAA,EAAA,CAAA,MAAA,EAAA;IAIA,QAAA,EAAA,MAAA;IAIA,OAAA,EAAA,OAAA;IAAW,oBAAA,EAAA,MAAA,GAAA,MAAA;aARX;;;;;;;;;aAIA;;;;;;;;;aAIA"}
1
+ {"version":3,"file":"Arguments.d.mts","names":[],"sources":["../../src/transactions/Arguments.ts"],"mappings":";;;;;cASa,SAAA;QAC0E,UAAA,QAC9E,UAAA,EAAY,EAAA,EAAI,WAAA,KAAgB,QAAA;;YADwD,sBAAA;;;;;;;;;;;;;;;SAiBggB,EAAA,EAAA,WAAA,KAAe,iBAAA;EAAA;;;;;SAX7mB,EAAA,EAAI,WAAA;;;;;;;;;SAIJ,EAAA,EAAI,WAAA;;;;;;;;;SAIJ,EAAA,EAAI,WAAA"}
@@ -8,7 +8,7 @@ type TransactionInput = CallArg;
8
8
  declare enum UpgradePolicy {
9
9
  COMPATIBLE = 0,
10
10
  ADDITIVE = 128,
11
- DEP_ONLY = 192,
11
+ DEP_ONLY = 192
12
12
  }
13
13
  type TransactionShape<T extends Command['$kind']> = {
14
14
  $kind: T;
@@ -1 +1 @@
1
- {"version":3,"file":"Commands.d.mts","names":[],"sources":["../../src/transactions/Commands.ts"],"sourcesContent":[],"mappings":";;;;;KAYY,mBAAA,GACT,kBAAkB,wBACZ,gBAAgB,kBAAkB,mBACxC;AAHS,KAIA,gBAAA,GAAmB,OAJA;AACV,aAOT,aAAA;EAPT,UAAA,GAAA,CAAA;EACM,QAAA,GAAA,GAAA;EAAkC,QAAA,GAAA,GAAA;;KAYtC,gBAXF,CAAA,UAW6B,OAX7B,CAAA,OAAA,CAAA,CAAA,GAAA;EAAqB,KAAA,EAWqC,CAXrC;AACxB,CAAA,GAAY,QAWL,CAPK,GAOD,OAPc,CAON,OAPM,EAAA,QAOW,CAD/B,GAAA,GAAA,EAA2B,CAAA,CACe,CADf,CAAA,EAA6B;;;;AAClD,cAME,mBANF,EAAA;EAAoC,QAAA,CAAA,KAAA,EAAA;IAAC,OAAA,EAAA,MAAA;IAMnC,MAAA,EAAA,MAAA;IAOI,QAAA,EAAA,MAAA;IAKA,SAAA,CAAA,EALA,QAKA,EAAA;IAGb,aAAA,CAAA,EAAA,MAAA,EAAA;EAiByB,CAAA,GAAA;IAAlB,MAAA,EAAA,MAAA;IACkB,SAAA,CAAA,EArBZ,QAqBY,EAAA;IAAlB,aAAA,CAAA,EAAA,MAAA,EAAA;EACP,CAAA,CAAA,EAnBA,gBAmBA,CAAA,UAAA,CAAA;EAUsB,eAAA,CAAA,OAAA,EAZf,UAYe,CAAA,OAZG,cAYH,CAAA,EAAA,EAAA,OAAA,EAXf,UAWe,CAAA,OAXG,cAWH,CAAA,CAAA,EAVtB,gBAUsB,CAAA,iBAAA,CAAA;EAAlB,UAAA,CAAA,IAAA,EAAA,UAAA,CAAA,OAAkB,cAAlB,CAAA,EAAA,OAAA,EACG,UADH,CAAA,OACqB,cADrB,CAAA,EAAA,CAAA,EAEJ,gBAFI,CAAA,YAAA,CAAA;EACqB,UAAA,CAAA,WAAA,EAWd,UAXc,CAAA,OAWI,cAXJ,CAAA,EAAA,OAAA,EAYlB,UAZkB,CAAA,OAYA,cAZA,CAAA,EAAA,CAAA,EAazB,gBAbyB,CAAA,YAAA,CAAA;EAAlB,OAAA,CAAA;IAAA,OAAA;IAAA;EAWI,CAXJ,EAAA;IACP,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,MAAA,EAAA;IAU6B,YAAA,EAAA,MAAA,EAAA;EAAlB,CAAA,CAAA,EAiBV,gBAjBU,CAAA,SAAA,CAAA;EACc,OAAA,CAAA;IAAA,OAAA;IAAA,YAAA;IAAA,OAAA,WAAA;IAAA;EAgBxB,CAhBwB,EAAA;IAAlB,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,MAAA,EAAA;IACP,YAAA,EAAA,MAAA,EAAA;;YAmCM,kBAAkB;EApBvB,CAAA,CAAA,EAqBA,gBArBA,CAAA,SAAA,CAAA;;;;;;cAuCO,kBAAkB;MACzB;EApBuB,MAAA,CAAA;IAAA,IAAA;IAAA,MAAA;IAAA;GAAA,EAAA;IAAlB,IAAA,EAAA,MAAA;IACL,MAAA,CAAA,EAkCM,MAlCN,CAAA,MAAA,EAoCF,UApCE,CAAA,OAoCgB,cApChB,CAAA,GAoCkC,UApClC,CAAA,OAoCoD,cApCpD,CAAA,EAAA,CAAA;WAsCI;MACJ;CArByB"}
1
+ {"version":3,"file":"Commands.d.mts","names":[],"sources":["../../src/transactions/Commands.ts"],"mappings":";;;;;KAYY,mBAAA,GACT,UAAA,QAAkB,cAAA,MAChB,EAAA,EAAI,WAAA,KAAgB,UAAA,QAAkB,cAAA,KACxC,qBAAA;AAAA,KACS,gBAAA,GAAmB,OAAA;AAAA,aAInB,aAAA;EACX,UAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,KAGI,gBAAA,WAA2B,OAAA;EAAsB,KAAA,EAAO,CAAA;AAAA,YACtD,CAAA,GAAI,OAAA,CAAQ,OAAA,UAAiB,CAAA,UAAW,CAAA;;;;cAMlC,mBAAA;;IAIR,OAAA;IACA,MAAA;IACA,QAAA;IACA,SAAA,GAAY,QAAA;IACZ,aAAA;EAAA;IAGA,MAAA;IACA,SAAA,GAAY,QAAA;IACZ,aAAA;EAAA,IAED,gBAAA;2BAiBO,UAAA,QAAkB,cAAA,KAAiB,OAAA,EACnC,UAAA,QAAkB,cAAA,IACzB,gBAAA;mBAUI,UAAA,QAAkB,cAAA,GAAe,OAAA,EAC9B,UAAA,QAAkB,cAAA,MACzB,gBAAA;0BAUW,UAAA,QAAkB,cAAA,GAAe,OAAA,EACrC,UAAA,QAAkB,cAAA,MACzB,gBAAA;;;;;IAaF,OAAA;IACA,YAAA;EAAA,IACG,gBAAA;;;;;;;IAiBH,OAAA;IACA,YAAA;IACA,OAAA;IACA,MAAA,EAAQ,UAAA,QAAkB,cAAA;EAAA,IACvB,gBAAA;;;;;IAiBH,IAAA;IACA,QAAA,EAAU,UAAA,QAAkB,cAAA;EAAA,IACzB,gBAAA;;;;;;IAcH,IAAA;IACA,MAAA,GAAS,MAAA,SAER,UAAA,QAAkB,cAAA,IAAkB,UAAA,QAAkB,cAAA;IAEvD,IAAA,GAAO,MAAA;EAAA,IACJ,gBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Commands.mjs","names":[],"sources":["../../src/transactions/Commands.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toBase64 } from '@haneullabs/bcs';\nimport type { InferInput } from 'valibot';\nimport { parse } from 'valibot';\n\nimport { normalizeHaneulObjectId } from '../utils/haneul-types.js';\nimport type { Argument, CallArg, Command } from './data/internal.js';\nimport { ArgumentSchema } from './data/internal.js';\nimport type { AsyncTransactionThunk, Transaction } from './Transaction.js';\n\nexport type TransactionArgument =\n\t| InferInput<typeof ArgumentSchema>\n\t| ((tx: Transaction) => InferInput<typeof ArgumentSchema>)\n\t| AsyncTransactionThunk;\nexport type TransactionInput = CallArg;\n\n// Keep in sync with constants in\n// crate./haneul-framework/package./haneul-framework/sources/package.move\nexport enum UpgradePolicy {\n\tCOMPATIBLE = 0,\n\tADDITIVE = 128,\n\tDEP_ONLY = 192,\n}\n\ntype TransactionShape<T extends Command['$kind']> = { $kind: T } & {\n\t[K in T]: Extract<Command, { [K in T]: any }>[T];\n};\n\n/**\n * Simple helpers used to construct transactions:\n */\nexport const TransactionCommands = {\n\tMoveCall(\n\t\tinput:\n\t\t\t| {\n\t\t\t\t\tpackage: string;\n\t\t\t\t\tmodule: string;\n\t\t\t\t\tfunction: string;\n\t\t\t\t\targuments?: Argument[];\n\t\t\t\t\ttypeArguments?: string[];\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\ttarget: string;\n\t\t\t\t\targuments?: Argument[];\n\t\t\t\t\ttypeArguments?: string[];\n\t\t\t },\n\t): TransactionShape<'MoveCall'> {\n\t\tconst [pkg, mod = '', fn = ''] =\n\t\t\t'target' in input ? input.target.split('::') : [input.package, input.module, input.function];\n\n\t\treturn {\n\t\t\t$kind: 'MoveCall',\n\t\t\tMoveCall: {\n\t\t\t\tpackage: pkg,\n\t\t\t\tmodule: mod,\n\t\t\t\tfunction: fn,\n\t\t\t\ttypeArguments: input.typeArguments ?? [],\n\t\t\t\targuments: input.arguments ?? [],\n\t\t\t},\n\t\t};\n\t},\n\n\tTransferObjects(\n\t\tobjects: InferInput<typeof ArgumentSchema>[],\n\t\taddress: InferInput<typeof ArgumentSchema>,\n\t): TransactionShape<'TransferObjects'> {\n\t\treturn {\n\t\t\t$kind: 'TransferObjects',\n\t\t\tTransferObjects: {\n\t\t\t\tobjects: objects.map((o) => parse(ArgumentSchema, o)),\n\t\t\t\taddress: parse(ArgumentSchema, address),\n\t\t\t},\n\t\t};\n\t},\n\tSplitCoins(\n\t\tcoin: InferInput<typeof ArgumentSchema>,\n\t\tamounts: InferInput<typeof ArgumentSchema>[],\n\t): TransactionShape<'SplitCoins'> {\n\t\treturn {\n\t\t\t$kind: 'SplitCoins',\n\t\t\tSplitCoins: {\n\t\t\t\tcoin: parse(ArgumentSchema, coin),\n\t\t\t\tamounts: amounts.map((o) => parse(ArgumentSchema, o)),\n\t\t\t},\n\t\t};\n\t},\n\tMergeCoins(\n\t\tdestination: InferInput<typeof ArgumentSchema>,\n\t\tsources: InferInput<typeof ArgumentSchema>[],\n\t): TransactionShape<'MergeCoins'> {\n\t\treturn {\n\t\t\t$kind: 'MergeCoins',\n\t\t\tMergeCoins: {\n\t\t\t\tdestination: parse(ArgumentSchema, destination),\n\t\t\t\tsources: sources.map((o) => parse(ArgumentSchema, o)),\n\t\t\t},\n\t\t};\n\t},\n\tPublish({\n\t\tmodules,\n\t\tdependencies,\n\t}: {\n\t\tmodules: number[][] | string[];\n\t\tdependencies: string[];\n\t}): TransactionShape<'Publish'> {\n\t\treturn {\n\t\t\t$kind: 'Publish',\n\t\t\tPublish: {\n\t\t\t\tmodules: modules.map((module) =>\n\t\t\t\t\ttypeof module === 'string' ? module : toBase64(new Uint8Array(module)),\n\t\t\t\t),\n\t\t\t\tdependencies: dependencies.map((dep) => normalizeHaneulObjectId(dep)),\n\t\t\t},\n\t\t};\n\t},\n\tUpgrade({\n\t\tmodules,\n\t\tdependencies,\n\t\tpackage: packageId,\n\t\tticket,\n\t}: {\n\t\tmodules: number[][] | string[];\n\t\tdependencies: string[];\n\t\tpackage: string;\n\t\tticket: InferInput<typeof ArgumentSchema>;\n\t}): TransactionShape<'Upgrade'> {\n\t\treturn {\n\t\t\t$kind: 'Upgrade',\n\t\t\tUpgrade: {\n\t\t\t\tmodules: modules.map((module) =>\n\t\t\t\t\ttypeof module === 'string' ? module : toBase64(new Uint8Array(module)),\n\t\t\t\t),\n\t\t\t\tdependencies: dependencies.map((dep) => normalizeHaneulObjectId(dep)),\n\t\t\t\tpackage: packageId,\n\t\t\t\tticket: parse(ArgumentSchema, ticket),\n\t\t\t},\n\t\t};\n\t},\n\tMakeMoveVec({\n\t\ttype,\n\t\telements,\n\t}: {\n\t\ttype?: string;\n\t\telements: InferInput<typeof ArgumentSchema>[];\n\t}): TransactionShape<'MakeMoveVec'> {\n\t\treturn {\n\t\t\t$kind: 'MakeMoveVec',\n\t\t\tMakeMoveVec: {\n\t\t\t\ttype: type ?? null,\n\t\t\t\telements: elements.map((o) => parse(ArgumentSchema, o)),\n\t\t\t},\n\t\t};\n\t},\n\tIntent({\n\t\tname,\n\t\tinputs = {},\n\t\tdata = {},\n\t}: {\n\t\tname: string;\n\t\tinputs?: Record<\n\t\t\tstring,\n\t\t\tInferInput<typeof ArgumentSchema> | InferInput<typeof ArgumentSchema>[]\n\t\t>;\n\t\tdata?: Record<string, unknown>;\n\t}): TransactionShape<'$Intent'> {\n\t\treturn {\n\t\t\t$kind: '$Intent',\n\t\t\t$Intent: {\n\t\t\t\tname,\n\t\t\t\tinputs: Object.fromEntries(\n\t\t\t\t\tObject.entries(inputs).map(([key, value]) => [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tArray.isArray(value)\n\t\t\t\t\t\t\t? value.map((o) => parse(ArgumentSchema, o))\n\t\t\t\t\t\t\t: parse(ArgumentSchema, value),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tdata,\n\t\t\t},\n\t\t};\n\t},\n};\n"],"mappings":";;;;;;AAoBA,IAAY,0DAAL;AACN;AACA;AACA;;;;;;AAUD,MAAa,sBAAsB;CAClC,SACC,OAa+B;EAC/B,MAAM,CAAC,KAAK,MAAM,IAAI,KAAK,MAC1B,YAAY,QAAQ,MAAM,OAAO,MAAM,KAAK,GAAG;GAAC,MAAM;GAAS,MAAM;GAAQ,MAAM;GAAS;AAE7F,SAAO;GACN,OAAO;GACP,UAAU;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,eAAe,MAAM,iBAAiB,EAAE;IACxC,WAAW,MAAM,aAAa,EAAE;IAChC;GACD;;CAGF,gBACC,SACA,SACsC;AACtC,SAAO;GACN,OAAO;GACP,iBAAiB;IAChB,SAAS,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD,SAAS,MAAM,gBAAgB,QAAQ;IACvC;GACD;;CAEF,WACC,MACA,SACiC;AACjC,SAAO;GACN,OAAO;GACP,YAAY;IACX,MAAM,MAAM,gBAAgB,KAAK;IACjC,SAAS,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD;GACD;;CAEF,WACC,aACA,SACiC;AACjC,SAAO;GACN,OAAO;GACP,YAAY;IACX,aAAa,MAAM,gBAAgB,YAAY;IAC/C,SAAS,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD;GACD;;CAEF,QAAQ,EACP,SACA,gBAI+B;AAC/B,SAAO;GACN,OAAO;GACP,SAAS;IACR,SAAS,QAAQ,KAAK,WACrB,OAAO,WAAW,WAAW,SAAS,SAAS,IAAI,WAAW,OAAO,CAAC,CACtE;IACD,cAAc,aAAa,KAAK,QAAQ,wBAAwB,IAAI,CAAC;IACrE;GACD;;CAEF,QAAQ,EACP,SACA,cACA,SAAS,WACT,UAM+B;AAC/B,SAAO;GACN,OAAO;GACP,SAAS;IACR,SAAS,QAAQ,KAAK,WACrB,OAAO,WAAW,WAAW,SAAS,SAAS,IAAI,WAAW,OAAO,CAAC,CACtE;IACD,cAAc,aAAa,KAAK,QAAQ,wBAAwB,IAAI,CAAC;IACrE,SAAS;IACT,QAAQ,MAAM,gBAAgB,OAAO;IACrC;GACD;;CAEF,YAAY,EACX,MACA,YAImC;AACnC,SAAO;GACN,OAAO;GACP,aAAa;IACZ,MAAM,QAAQ;IACd,UAAU,SAAS,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACvD;GACD;;CAEF,OAAO,EACN,MACA,SAAS,EAAE,EACX,OAAO,EAAE,IAQsB;AAC/B,SAAO;GACN,OAAO;GACP,SAAS;IACR;IACA,QAAQ,OAAO,YACd,OAAO,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,CAC5C,KACA,MAAM,QAAQ,MAAM,GACjB,MAAM,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC,GAC1C,MAAM,gBAAgB,MAAM,CAC/B,CAAC,CACF;IACD;IACA;GACD;;CAEF"}
1
+ {"version":3,"file":"Commands.mjs","names":[],"sources":["../../src/transactions/Commands.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toBase64 } from '@haneullabs/bcs';\nimport type { InferInput } from 'valibot';\nimport { parse } from 'valibot';\n\nimport { normalizeHaneulObjectId } from '../utils/haneul-types.js';\nimport type { Argument, CallArg, Command } from './data/internal.js';\nimport { ArgumentSchema } from './data/internal.js';\nimport type { AsyncTransactionThunk, Transaction } from './Transaction.js';\n\nexport type TransactionArgument =\n\t| InferInput<typeof ArgumentSchema>\n\t| ((tx: Transaction) => InferInput<typeof ArgumentSchema>)\n\t| AsyncTransactionThunk;\nexport type TransactionInput = CallArg;\n\n// Keep in sync with constants in\n// crates/haneul-framework/packages/haneul-framework/sources/package.move\nexport enum UpgradePolicy {\n\tCOMPATIBLE = 0,\n\tADDITIVE = 128,\n\tDEP_ONLY = 192,\n}\n\ntype TransactionShape<T extends Command['$kind']> = { $kind: T } & {\n\t[K in T]: Extract<Command, { [K in T]: any }>[T];\n};\n\n/**\n * Simple helpers used to construct transactions:\n */\nexport const TransactionCommands = {\n\tMoveCall(\n\t\tinput:\n\t\t\t| {\n\t\t\t\t\tpackage: string;\n\t\t\t\t\tmodule: string;\n\t\t\t\t\tfunction: string;\n\t\t\t\t\targuments?: Argument[];\n\t\t\t\t\ttypeArguments?: string[];\n\t\t\t }\n\t\t\t| {\n\t\t\t\t\ttarget: string;\n\t\t\t\t\targuments?: Argument[];\n\t\t\t\t\ttypeArguments?: string[];\n\t\t\t },\n\t): TransactionShape<'MoveCall'> {\n\t\tconst [pkg, mod = '', fn = ''] =\n\t\t\t'target' in input ? input.target.split('::') : [input.package, input.module, input.function];\n\n\t\treturn {\n\t\t\t$kind: 'MoveCall',\n\t\t\tMoveCall: {\n\t\t\t\tpackage: pkg,\n\t\t\t\tmodule: mod,\n\t\t\t\tfunction: fn,\n\t\t\t\ttypeArguments: input.typeArguments ?? [],\n\t\t\t\targuments: input.arguments ?? [],\n\t\t\t},\n\t\t};\n\t},\n\n\tTransferObjects(\n\t\tobjects: InferInput<typeof ArgumentSchema>[],\n\t\taddress: InferInput<typeof ArgumentSchema>,\n\t): TransactionShape<'TransferObjects'> {\n\t\treturn {\n\t\t\t$kind: 'TransferObjects',\n\t\t\tTransferObjects: {\n\t\t\t\tobjects: objects.map((o) => parse(ArgumentSchema, o)),\n\t\t\t\taddress: parse(ArgumentSchema, address),\n\t\t\t},\n\t\t};\n\t},\n\tSplitCoins(\n\t\tcoin: InferInput<typeof ArgumentSchema>,\n\t\tamounts: InferInput<typeof ArgumentSchema>[],\n\t): TransactionShape<'SplitCoins'> {\n\t\treturn {\n\t\t\t$kind: 'SplitCoins',\n\t\t\tSplitCoins: {\n\t\t\t\tcoin: parse(ArgumentSchema, coin),\n\t\t\t\tamounts: amounts.map((o) => parse(ArgumentSchema, o)),\n\t\t\t},\n\t\t};\n\t},\n\tMergeCoins(\n\t\tdestination: InferInput<typeof ArgumentSchema>,\n\t\tsources: InferInput<typeof ArgumentSchema>[],\n\t): TransactionShape<'MergeCoins'> {\n\t\treturn {\n\t\t\t$kind: 'MergeCoins',\n\t\t\tMergeCoins: {\n\t\t\t\tdestination: parse(ArgumentSchema, destination),\n\t\t\t\tsources: sources.map((o) => parse(ArgumentSchema, o)),\n\t\t\t},\n\t\t};\n\t},\n\tPublish({\n\t\tmodules,\n\t\tdependencies,\n\t}: {\n\t\tmodules: number[][] | string[];\n\t\tdependencies: string[];\n\t}): TransactionShape<'Publish'> {\n\t\treturn {\n\t\t\t$kind: 'Publish',\n\t\t\tPublish: {\n\t\t\t\tmodules: modules.map((module) =>\n\t\t\t\t\ttypeof module === 'string' ? module : toBase64(new Uint8Array(module)),\n\t\t\t\t),\n\t\t\t\tdependencies: dependencies.map((dep) => normalizeHaneulObjectId(dep)),\n\t\t\t},\n\t\t};\n\t},\n\tUpgrade({\n\t\tmodules,\n\t\tdependencies,\n\t\tpackage: packageId,\n\t\tticket,\n\t}: {\n\t\tmodules: number[][] | string[];\n\t\tdependencies: string[];\n\t\tpackage: string;\n\t\tticket: InferInput<typeof ArgumentSchema>;\n\t}): TransactionShape<'Upgrade'> {\n\t\treturn {\n\t\t\t$kind: 'Upgrade',\n\t\t\tUpgrade: {\n\t\t\t\tmodules: modules.map((module) =>\n\t\t\t\t\ttypeof module === 'string' ? module : toBase64(new Uint8Array(module)),\n\t\t\t\t),\n\t\t\t\tdependencies: dependencies.map((dep) => normalizeHaneulObjectId(dep)),\n\t\t\t\tpackage: packageId,\n\t\t\t\tticket: parse(ArgumentSchema, ticket),\n\t\t\t},\n\t\t};\n\t},\n\tMakeMoveVec({\n\t\ttype,\n\t\telements,\n\t}: {\n\t\ttype?: string;\n\t\telements: InferInput<typeof ArgumentSchema>[];\n\t}): TransactionShape<'MakeMoveVec'> {\n\t\treturn {\n\t\t\t$kind: 'MakeMoveVec',\n\t\t\tMakeMoveVec: {\n\t\t\t\ttype: type ?? null,\n\t\t\t\telements: elements.map((o) => parse(ArgumentSchema, o)),\n\t\t\t},\n\t\t};\n\t},\n\tIntent({\n\t\tname,\n\t\tinputs = {},\n\t\tdata = {},\n\t}: {\n\t\tname: string;\n\t\tinputs?: Record<\n\t\t\tstring,\n\t\t\tInferInput<typeof ArgumentSchema> | InferInput<typeof ArgumentSchema>[]\n\t\t>;\n\t\tdata?: Record<string, unknown>;\n\t}): TransactionShape<'$Intent'> {\n\t\treturn {\n\t\t\t$kind: '$Intent',\n\t\t\t$Intent: {\n\t\t\t\tname,\n\t\t\t\tinputs: Object.fromEntries(\n\t\t\t\t\tObject.entries(inputs).map(([key, value]) => [\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tArray.isArray(value)\n\t\t\t\t\t\t\t? value.map((o) => parse(ArgumentSchema, o))\n\t\t\t\t\t\t\t: parse(ArgumentSchema, value),\n\t\t\t\t\t]),\n\t\t\t\t),\n\t\t\t\tdata,\n\t\t\t},\n\t\t};\n\t},\n};\n"],"mappings":";;;;;;AAoBA,IAAY,0DAAL;AACN;AACA;AACA;;;;;;AAUD,MAAa,sBAAsB;CAClC,SACC,OAa+B;EAC/B,MAAM,CAAC,KAAK,MAAM,IAAI,KAAK,MAC1B,YAAY,QAAQ,MAAM,OAAO,MAAM,KAAK,GAAG;GAAC,MAAM;GAAS,MAAM;GAAQ,MAAM;GAAS;AAE7F,SAAO;GACN,OAAO;GACP,UAAU;IACT,SAAS;IACT,QAAQ;IACR,UAAU;IACV,eAAe,MAAM,iBAAiB,EAAE;IACxC,WAAW,MAAM,aAAa,EAAE;IAChC;GACD;;CAGF,gBACC,SACA,SACsC;AACtC,SAAO;GACN,OAAO;GACP,iBAAiB;IAChB,SAAS,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD,SAAS,MAAM,gBAAgB,QAAQ;IACvC;GACD;;CAEF,WACC,MACA,SACiC;AACjC,SAAO;GACN,OAAO;GACP,YAAY;IACX,MAAM,MAAM,gBAAgB,KAAK;IACjC,SAAS,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD;GACD;;CAEF,WACC,aACA,SACiC;AACjC,SAAO;GACN,OAAO;GACP,YAAY;IACX,aAAa,MAAM,gBAAgB,YAAY;IAC/C,SAAS,QAAQ,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACrD;GACD;;CAEF,QAAQ,EACP,SACA,gBAI+B;AAC/B,SAAO;GACN,OAAO;GACP,SAAS;IACR,SAAS,QAAQ,KAAK,WACrB,OAAO,WAAW,WAAW,SAAS,SAAS,IAAI,WAAW,OAAO,CAAC,CACtE;IACD,cAAc,aAAa,KAAK,QAAQ,wBAAwB,IAAI,CAAC;IACrE;GACD;;CAEF,QAAQ,EACP,SACA,cACA,SAAS,WACT,UAM+B;AAC/B,SAAO;GACN,OAAO;GACP,SAAS;IACR,SAAS,QAAQ,KAAK,WACrB,OAAO,WAAW,WAAW,SAAS,SAAS,IAAI,WAAW,OAAO,CAAC,CACtE;IACD,cAAc,aAAa,KAAK,QAAQ,wBAAwB,IAAI,CAAC;IACrE,SAAS;IACT,QAAQ,MAAM,gBAAgB,OAAO;IACrC;GACD;;CAEF,YAAY,EACX,MACA,YAImC;AACnC,SAAO;GACN,OAAO;GACP,aAAa;IACZ,MAAM,QAAQ;IACd,UAAU,SAAS,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC;IACvD;GACD;;CAEF,OAAO,EACN,MACA,SAAS,EAAE,EACX,OAAO,EAAE,IAQsB;AAC/B,SAAO;GACN,OAAO;GACP,SAAS;IACR;IACA,QAAQ,OAAO,YACd,OAAO,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,WAAW,CAC5C,KACA,MAAM,QAAQ,MAAM,GACjB,MAAM,KAAK,MAAM,MAAM,gBAAgB,EAAE,CAAC,GAC1C,MAAM,gBAAgB,MAAM,CAC/B,CAAC,CACF;IACD;IACA;GACD;;CAEF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Inputs.d.mts","names":[],"sources":["../../src/transactions/Inputs.ts"],"sourcesContent":[],"mappings":";;;;iBAeS,IAAA,OAAW,aAAa,qBAAqB,QAAQ;;AAFlC,CAAA,CAAA;AAER,cASP,MATO,EAAA;EAAa,IAAA,EAAA,WAAA;EAA6B,SAAA,CAAA;IAAA,QAAA;IAAA,MAAA;IAAA;EAAA,CAAA,EAWpB,SAXoB,CAAA,EAWR,OAXQ,CAWA,OAXA,EAAA;IAAR,MAAA,EAAA,OAAA;EAAO,CAAA,CAAA;EAShD,eAmEZ,CAAA;IAAA,QAAA;IAAA,OAAA;IAAA;GAAA,EAAA;;;;MA5CI,QAAQ;IArB6B,MAAA,EAAA,OAAA;EAAoB,CAAA,CAAA;EAAR,YAAA,CAAA;IAAA,QAAA;IAAA,MAAA;IAAA;EAAA,CAAA,EAkCT,SAlCS,CAAA,EAkCG,OAlCH,CAkCW,OAlCX,EAAA;;;;;;;;IAqBzC,WAAA,EA+BE,WA/BF;IAAR,OAAA,EAgCM,iBAhCN;kBAiCW;MACX,QAAQ;;EArBgC,CAAA,CAAA;CAAoB"}
1
+ {"version":3,"file":"Inputs.d.mts","names":[],"sources":["../../src/transactions/Inputs.ts"],"mappings":";;;;iBAeS,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,aAAA,QAAqB,OAAA,CAAQ,OAAA;EAAW,IAAA;AAAA;AAAA,cAS5D,MAAA;;;;;;KAE6B,SAAA,GAAY,OAAA,CAAQ,OAAA;IAAW,MAAA;EAAA;;;;;;IAkBvE,QAAA;IACA,OAAA;IACA,oBAAA;EAAA,IACG,OAAA,CAAQ,OAAA;IAAW,MAAA;EAAA;;;;;KAaqB,SAAA,GAAY,OAAA,CAAQ,OAAA;IAAW,MAAA;EAAA;;;;;;IAkB1E,WAAA,EAAa,WAAA;IACb,OAAA,EAAS,iBAAA;IACT,YAAA,EAAc,YAAA;EAAA,IACX,OAAA,CAAQ,OAAA;IAAW,eAAA;EAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- import { bcs as suiBcs } from "../bcs/index.mjs";
1
+ import { bcs as haneulBcs } from "../bcs/index.mjs";
2
2
  import { HaneulClientTypes } from "../client/types.mjs";
3
3
  import { TransactionPlugin } from "./resolve.mjs";
4
4
 
@@ -55,7 +55,7 @@ declare abstract class AsyncCache {
55
55
  }
56
56
  interface ObjectCacheOptions {
57
57
  cache?: AsyncCache;
58
- onEffects?: (effects: typeof suiBcs.TransactionEffects.$inferType) => Promise<void>;
58
+ onEffects?: (effects: typeof haneulBcs.TransactionEffects.$inferType) => Promise<void>;
59
59
  }
60
60
  declare class ObjectCache {
61
61
  #private;
@@ -77,7 +77,7 @@ declare class ObjectCache {
77
77
  getCustom<T>(key: string): Promise<T | null>;
78
78
  setCustom<T>(key: string, value: T): Promise<void>;
79
79
  deleteCustom(key: string): Promise<void>;
80
- applyEffects(effects: typeof suiBcs.TransactionEffects.$inferType): Promise<void>;
80
+ applyEffects(effects: typeof haneulBcs.TransactionEffects.$inferType): Promise<void>;
81
81
  }
82
82
  //#endregion
83
83
  export { AsyncCache, ObjectCache, ObjectCacheOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectCache.d.mts","names":[],"sources":["../../src/transactions/ObjectCache.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"ObjectCache.d.mts","names":[],"sources":["../../src/transactions/ObjectCache.ts"],"mappings":";;;;;UAQiB,gBAAA;EAChB,QAAA;EACA,OAAA;EACA,MAAA;EACA,KAAA;EACA,oBAAA;AAAA;AAAA,UAGgB,sBAAA;EAChB,OAAA;EACA,MAAA;EACA,QAAA;EACA,UAAA,EAAY,iBAAA,CAAkB,aAAA;AAAA;AAAA,UAGd,eAAA;EAChB,WAAA,EAAa,gBAAA;EACb,uBAAA,EAAyB,gBAAA;EACzB,YAAA,EAAc,sBAAA;EACd,MAAA;AAAA;AAAA,uBAEqB,UAAA;EAAA,mBACF,GAAA,iBAAoB,eAAA,CAAA,CACtC,IAAA,EAAM,CAAA,EACN,GAAA,WACE,OAAA,CAAQ,eAAA,CAAgB,CAAA;EAAA,mBACR,GAAA,iBAAoB,eAAA,CAAA,CACtC,IAAA,EAAM,CAAA,EACN,GAAA,UACA,KAAA,EAAO,eAAA,CAAgB,CAAA,IACrB,OAAA;EAAA,mBACgB,MAAA,iBAAuB,eAAA,CAAA,CAAiB,IAAA,EAAM,CAAA,EAAG,GAAA,WAAc,OAAA;EAAA,SACzE,KAAA,iBAAsB,eAAA,CAAA,CAAiB,IAAA,GAAO,CAAA,GAAI,OAAA;EAErD,SAAA,CAAU,EAAA,WAAU,OAAA,CAAA,gBAAA;EASpB,UAAA,CAAW,GAAA,aAAa,OAAA,EAAA,gBAAA;EAIxB,SAAA,CAAU,MAAA,EAAQ,gBAAA,GAAgB,OAAA,CAAA,gBAAA;EAUlC,UAAA,CAAW,OAAA,EAAS,gBAAA,KAAkB,OAAA;EAItC,YAAA,CAAa,EAAA,WAAU,OAAA;EAIvB,aAAA,CAAc,GAAA,aAAa,OAAA;EAI3B,yBAAA,CAA0B,GAAA;IAAO,OAAA;IAAiB,MAAA;IAAgB,QAAA;EAAA,IAAkB,OAAA,CAAA,sBAAA;EAKpF,yBAAA,CAA0B,aAAA,EAAe,sBAAA,GAAsB,OAAA;;;;gBA9DzD,iBAAA,CAAkB,aAAA;EAAA;EA2ExB,4BAAA,CAA6B,GAAA;IAAO,OAAA;IAAiB,MAAA;IAAgB,QAAA;EAAA,IAAkB,OAAA;EAKvF,SAAA,GAAA,CAAa,GAAA,WAAW,OAAA,CAAA,CAAA;EAIxB,SAAA,GAAA,CAAa,GAAA,UAAa,KAAA,EAAO,CAAA,GAAC,OAAA;EAIlC,YAAA,CAAa,GAAA,WAAW,OAAA;AAAA;AAAA,UAwCd,kBAAA;EAChB,KAAA,GAAQ,UAAA;EACR,SAAA,IAAa,OAAA,SAAgB,SAAA,CAAI,kBAAA,CAAmB,UAAA,KAAe,OAAA;AAAA;AAAA,cAGvD,WAAA;EAAA;;IAIE,KAAA;IAA6B;EAAA,GAAa,kBAAA;EAKxD,QAAA,CAAA,GAAY,iBAAA;EAqEN,KAAA,CAAA,GAAK,OAAA;EAIL,yBAAA,CAA0B,GAAA;IAAO,OAAA;IAAiB,MAAA;IAAgB,QAAA;EAAA,IAAkB,OAAA,CAAA,sBAAA;EAIpF,UAAA,CAAW,GAAA,aAAa,OAAA,EAAA,gBAAA;EAIxB,aAAA,CAAc,GAAA,aAAa,OAAA;EAI3B,iBAAA,CAAA,GAAiB,OAAA;EAIjB,WAAA,CAAA,GAAW,OAAA;EAIX,SAAA,GAAA,CAAa,GAAA,WAAW,OAAA,CAAA,CAAA;EAIxB,SAAA,GAAA,CAAa,GAAA,UAAa,KAAA,EAAO,CAAA,GAAC,OAAA;EAIlC,YAAA,CAAa,GAAA,WAAW,OAAA;EAIxB,YAAA,CAAa,OAAA,SAAgB,SAAA,CAAI,kBAAA,CAAmB,UAAA,GAAU,OAAA;AAAA"}
@@ -8,7 +8,7 @@ import { createPure } from "./pure.mjs";
8
8
  import { SignatureWithBytes, Signer } from "../cryptography/keypair.mjs";
9
9
  import "../cryptography/index.mjs";
10
10
  import { ClientWithCoreApi } from "../client/core.mjs";
11
- import * as _haneullabs_bcs1126 from "@haneullabs/bcs";
11
+ import * as _haneullabs_bcs1124 from "@haneullabs/bcs";
12
12
  import { SerializedBcs } from "@haneullabs/bcs";
13
13
  import { InferInput } from "valibot";
14
14
 
@@ -77,7 +77,7 @@ declare class Transaction {
77
77
  getData(): {
78
78
  version: 2;
79
79
  sender?: string | null | undefined;
80
- expiration?: _haneullabs_bcs1126.EnumOutputShapeWithKeys<{
80
+ expiration?: _haneullabs_bcs1124.EnumOutputShapeWithKeys<{
81
81
  None: true;
82
82
  Epoch: string | number;
83
83
  ValidDuring: {
@@ -99,8 +99,8 @@ declare class Transaction {
99
99
  digest: string;
100
100
  }[] | null;
101
101
  };
102
- inputs: _haneullabs_bcs1126.EnumOutputShapeWithKeys<{
103
- Object: _haneullabs_bcs1126.EnumOutputShapeWithKeys<{
102
+ inputs: _haneullabs_bcs1124.EnumOutputShapeWithKeys<{
103
+ Object: _haneullabs_bcs1124.EnumOutputShapeWithKeys<{
104
104
  ImmOrOwnedObject: {
105
105
  objectId: string;
106
106
  version: string | number;
@@ -139,13 +139,13 @@ declare class Transaction {
139
139
  Balance: string;
140
140
  $kind: "Balance";
141
141
  };
142
- withdrawFrom: _haneullabs_bcs1126.EnumOutputShapeWithKeys<{
142
+ withdrawFrom: _haneullabs_bcs1124.EnumOutputShapeWithKeys<{
143
143
  Sender: true;
144
144
  Sponsor: true;
145
145
  }, "Sender" | "Sponsor">;
146
146
  };
147
147
  }, "Pure" | "Object" | "FundsWithdrawal" | "UnresolvedPure" | "UnresolvedObject">[];
148
- commands: _haneullabs_bcs1126.EnumOutputShapeWithKeys<{
148
+ commands: _haneullabs_bcs1124.EnumOutputShapeWithKeys<{
149
149
  MoveCall: {
150
150
  package: string;
151
151
  module: string;
@@ -344,6 +344,32 @@ declare class Transaction {
344
344
  $kind: "GasCoin";
345
345
  GasCoin: true;
346
346
  };
347
+ /**
348
+ * Creates a coin of the specified type and balance.
349
+ * Sourced from address balance when available, falling back to owned coins.
350
+ */
351
+ coin({
352
+ type,
353
+ balance,
354
+ useGasCoin
355
+ }: {
356
+ balance: bigint | number;
357
+ type?: string;
358
+ useGasCoin?: boolean;
359
+ }): TransactionResult;
360
+ /**
361
+ * Creates a Balance object of the specified type and balance.
362
+ * Sourced from address balance when available, falling back to owned coins.
363
+ */
364
+ balance({
365
+ type,
366
+ balance,
367
+ useGasCoin
368
+ }: {
369
+ balance: bigint | number;
370
+ type?: string;
371
+ useGasCoin?: boolean;
372
+ }): TransactionResult;
347
373
  /**
348
374
  * Add a new object input to the transaction.
349
375
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.mts","names":[],"sources":["../../src/transactions/Transaction.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.mts","names":[],"sources":["../../src/transactions/Transaction.ts"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { needsTransactionResolution, resolveTransactionPlugin } from "./resolve.
10
10
  import { createObjectMethods } from "./object.mjs";
11
11
  import { createPure } from "./pure.mjs";
12
12
  import { namedPackagesPlugin } from "./plugins/NamedPackagesPlugin.mjs";
13
- import { COIN_WITH_BALANCE, resolveCoinBalance } from "./intents/CoinWithBalance.mjs";
13
+ import { COIN_WITH_BALANCE, coinWithBalance, createBalance, resolveCoinBalance } from "./intents/CoinWithBalance.mjs";
14
14
  import { fromBase64, isSerializedBcs } from "@haneullabs/bcs";
15
15
  import { is, parse } from "valibot";
16
16
 
@@ -185,6 +185,28 @@ var Transaction = class Transaction {
185
185
  };
186
186
  }
187
187
  /**
188
+ * Creates a coin of the specified type and balance.
189
+ * Sourced from address balance when available, falling back to owned coins.
190
+ */
191
+ coin({ type, balance, useGasCoin }) {
192
+ return this.add(coinWithBalance({
193
+ type,
194
+ balance,
195
+ useGasCoin
196
+ }));
197
+ }
198
+ /**
199
+ * Creates a Balance object of the specified type and balance.
200
+ * Sourced from address balance when available, falling back to owned coins.
201
+ */
202
+ balance({ type, balance, useGasCoin }) {
203
+ return this.add(createBalance({
204
+ type,
205
+ balance,
206
+ useGasCoin
207
+ }));
208
+ }
209
+ /**
188
210
  * Add a new object input to the transaction using the fully-resolved object reference.
189
211
  * If you only have an object ID, use `builder.object(id)` instead.
190
212
  */