@haneullabs/haneul 0.1.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 (1175) hide show
  1. package/CHANGELOG.md +1723 -0
  2. package/LICENSE +201 -0
  3. package/README.md +449 -0
  4. package/bcs/package.json +6 -0
  5. package/client/package.json +6 -0
  6. package/cryptography/package.json +6 -0
  7. package/dist/cjs/bcs/bcs.d.ts +1973 -0
  8. package/dist/cjs/bcs/bcs.js +328 -0
  9. package/dist/cjs/bcs/bcs.js.map +7 -0
  10. package/dist/cjs/bcs/effects.d.ts +579 -0
  11. package/dist/cjs/bcs/effects.js +210 -0
  12. package/dist/cjs/bcs/effects.js.map +7 -0
  13. package/dist/cjs/bcs/index.d.ts +2589 -0
  14. package/dist/cjs/bcs/index.js +80 -0
  15. package/dist/cjs/bcs/index.js.map +7 -0
  16. package/dist/cjs/bcs/pure.d.ts +22 -0
  17. package/dist/cjs/bcs/pure.js +59 -0
  18. package/dist/cjs/bcs/pure.js.map +7 -0
  19. package/dist/cjs/bcs/type-tag-serializer.d.ts +7 -0
  20. package/dist/cjs/bcs/type-tag-serializer.js +117 -0
  21. package/dist/cjs/bcs/type-tag-serializer.js.map +7 -0
  22. package/dist/cjs/bcs/types.d.ts +114 -0
  23. package/dist/cjs/bcs/types.js +27 -0
  24. package/dist/cjs/bcs/types.js.map +7 -0
  25. package/dist/cjs/client/index.d.ts +5 -0
  26. package/dist/cjs/client/index.js +34 -0
  27. package/dist/cjs/client/index.js.map +7 -0
  28. package/dist/cjs/client/network.d.ts +1 -0
  29. package/dist/cjs/client/network.js +38 -0
  30. package/dist/cjs/client/network.js.map +7 -0
  31. package/dist/cjs/cryptography/index.d.ts +7 -0
  32. package/dist/cjs/cryptography/index.js +47 -0
  33. package/dist/cjs/cryptography/index.js.map +7 -0
  34. package/dist/cjs/cryptography/intent.d.ts +6 -0
  35. package/dist/cjs/cryptography/intent.js +35 -0
  36. package/dist/cjs/cryptography/intent.js.map +7 -0
  37. package/dist/cjs/cryptography/keypair.d.ts +72 -0
  38. package/dist/cjs/cryptography/keypair.js +118 -0
  39. package/dist/cjs/cryptography/keypair.js.map +7 -0
  40. package/dist/cjs/cryptography/mnemonics.d.ts +27 -0
  41. package/dist/cjs/cryptography/mnemonics.js +47 -0
  42. package/dist/cjs/cryptography/mnemonics.js.map +7 -0
  43. package/dist/cjs/cryptography/publickey.d.ts +67 -0
  44. package/dist/cjs/cryptography/publickey.js +140 -0
  45. package/dist/cjs/cryptography/publickey.js.map +7 -0
  46. package/dist/cjs/cryptography/signature-scheme.d.ts +24 -0
  47. package/dist/cjs/cryptography/signature-scheme.js +48 -0
  48. package/dist/cjs/cryptography/signature-scheme.js.map +7 -0
  49. package/dist/cjs/cryptography/signature.d.ts +65 -0
  50. package/dist/cjs/cryptography/signature.js +71 -0
  51. package/dist/cjs/cryptography/signature.js.map +7 -0
  52. package/dist/cjs/experimental/cache.d.ts +12 -0
  53. package/dist/cjs/experimental/cache.js +88 -0
  54. package/dist/cjs/experimental/cache.js.map +7 -0
  55. package/dist/cjs/experimental/client.d.ts +12 -0
  56. package/dist/cjs/experimental/client.js +46 -0
  57. package/dist/cjs/experimental/client.js.map +7 -0
  58. package/dist/cjs/experimental/core.d.ts +37 -0
  59. package/dist/cjs/experimental/core.js +114 -0
  60. package/dist/cjs/experimental/core.js.map +7 -0
  61. package/dist/cjs/experimental/errors.d.ts +8 -0
  62. package/dist/cjs/experimental/errors.js +54 -0
  63. package/dist/cjs/experimental/errors.js.map +7 -0
  64. package/dist/cjs/experimental/index.d.ts +7 -0
  65. package/dist/cjs/experimental/index.js +32 -0
  66. package/dist/cjs/experimental/index.js.map +7 -0
  67. package/dist/cjs/experimental/mvr.d.ts +42 -0
  68. package/dist/cjs/experimental/mvr.js +365 -0
  69. package/dist/cjs/experimental/mvr.js.map +7 -0
  70. package/dist/cjs/experimental/transports/utils.d.ts +3 -0
  71. package/dist/cjs/experimental/transports/utils.js +101 -0
  72. package/dist/cjs/experimental/transports/utils.js.map +7 -0
  73. package/dist/cjs/experimental/types.d.ts +434 -0
  74. package/dist/cjs/experimental/types.js +17 -0
  75. package/dist/cjs/experimental/types.js.map +7 -0
  76. package/dist/cjs/faucet/faucet.d.ts +65 -0
  77. package/dist/cjs/faucet/faucet.js +130 -0
  78. package/dist/cjs/faucet/faucet.js.map +7 -0
  79. package/dist/cjs/faucet/index.d.ts +1 -0
  80. package/dist/cjs/faucet/index.js +30 -0
  81. package/dist/cjs/faucet/index.js.map +7 -0
  82. package/dist/cjs/graphql/client.d.ts +50 -0
  83. package/dist/cjs/graphql/client.js +94 -0
  84. package/dist/cjs/graphql/client.js.map +7 -0
  85. package/dist/cjs/graphql/core.d.ts +32 -0
  86. package/dist/cjs/graphql/core.js +471 -0
  87. package/dist/cjs/graphql/core.js.map +7 -0
  88. package/dist/cjs/graphql/generated/2024.1/tada-env.d.ts +11380 -0
  89. package/dist/cjs/graphql/generated/2024.1/tada-env.js +13142 -0
  90. package/dist/cjs/graphql/generated/2024.1/tada-env.js.map +7 -0
  91. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js +12 -0
  92. package/dist/cjs/graphql/generated/2024.1/tsconfig.tada.js.map +7 -0
  93. package/dist/cjs/graphql/generated/2024.4/tada-env.d.ts +11496 -0
  94. package/dist/cjs/graphql/generated/2024.4/tada-env.js +13288 -0
  95. package/dist/cjs/graphql/generated/2024.4/tada-env.js.map +7 -0
  96. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js +12 -0
  97. package/dist/cjs/graphql/generated/2024.4/tsconfig.tada.js.map +7 -0
  98. package/dist/cjs/graphql/generated/latest/tada-env.d.ts +11128 -0
  99. package/dist/cjs/graphql/generated/latest/tada-env.js +12926 -0
  100. package/dist/cjs/graphql/generated/latest/tada-env.js.map +7 -0
  101. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js +12 -0
  102. package/dist/cjs/graphql/generated/latest/tsconfig.tada.js.map +7 -0
  103. package/dist/cjs/graphql/generated/queries.d.ts +4980 -0
  104. package/dist/cjs/graphql/generated/queries.js +803 -0
  105. package/dist/cjs/graphql/generated/queries.js.map +7 -0
  106. package/dist/cjs/graphql/index.d.ts +1 -0
  107. package/dist/cjs/graphql/index.js +26 -0
  108. package/dist/cjs/graphql/index.js.map +7 -0
  109. package/dist/cjs/graphql/schemas/2024.1/index.d.ts +10 -0
  110. package/dist/cjs/graphql/schemas/2024.1/index.js +29 -0
  111. package/dist/cjs/graphql/schemas/2024.1/index.js.map +7 -0
  112. package/dist/cjs/graphql/schemas/2024.4/index.d.ts +10 -0
  113. package/dist/cjs/graphql/schemas/2024.4/index.js +29 -0
  114. package/dist/cjs/graphql/schemas/2024.4/index.js.map +7 -0
  115. package/dist/cjs/graphql/schemas/latest/index.d.ts +10 -0
  116. package/dist/cjs/graphql/schemas/latest/index.js +29 -0
  117. package/dist/cjs/graphql/schemas/latest/index.js.map +7 -0
  118. package/dist/cjs/graphql/types.d.ts +71 -0
  119. package/dist/cjs/graphql/types.js +17 -0
  120. package/dist/cjs/graphql/types.js.map +7 -0
  121. package/dist/cjs/grpc/client.d.ts +33 -0
  122. package/dist/cjs/grpc/client.js +53 -0
  123. package/dist/cjs/grpc/client.js.map +7 -0
  124. package/dist/cjs/grpc/core.d.ts +30 -0
  125. package/dist/cjs/grpc/core.js +651 -0
  126. package/dist/cjs/grpc/core.js.map +7 -0
  127. package/dist/cjs/grpc/index.d.ts +4 -0
  128. package/dist/cjs/grpc/index.js +27 -0
  129. package/dist/cjs/grpc/index.js.map +7 -0
  130. package/dist/cjs/grpc/proto/google/protobuf/any.d.ts +173 -0
  131. package/dist/cjs/grpc/proto/google/protobuf/any.js +139 -0
  132. package/dist/cjs/grpc/proto/google/protobuf/any.js.map +7 -0
  133. package/dist/cjs/grpc/proto/google/protobuf/duration.d.ts +104 -0
  134. package/dist/cjs/grpc/proto/google/protobuf/duration.js +88 -0
  135. package/dist/cjs/grpc/proto/google/protobuf/duration.js.map +7 -0
  136. package/dist/cjs/grpc/proto/google/protobuf/empty.d.ts +25 -0
  137. package/dist/cjs/grpc/proto/google/protobuf/empty.js +31 -0
  138. package/dist/cjs/grpc/proto/google/protobuf/empty.js.map +7 -0
  139. package/dist/cjs/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
  140. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js +73 -0
  141. package/dist/cjs/grpc/proto/google/protobuf/field_mask.js.map +7 -0
  142. package/dist/cjs/grpc/proto/google/protobuf/struct.d.ts +169 -0
  143. package/dist/cjs/grpc/proto/google/protobuf/struct.js +199 -0
  144. package/dist/cjs/grpc/proto/google/protobuf/struct.js.map +7 -0
  145. package/dist/cjs/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
  146. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js +123 -0
  147. package/dist/cjs/grpc/proto/google/protobuf/timestamp.js.map +7 -0
  148. package/dist/cjs/grpc/proto/google/rpc/error_details.d.ts +525 -0
  149. package/dist/cjs/grpc/proto/google/rpc/error_details.js +332 -0
  150. package/dist/cjs/grpc/proto/google/rpc/error_details.js.map +7 -0
  151. package/dist/cjs/grpc/proto/google/rpc/status.d.ts +46 -0
  152. package/dist/cjs/grpc/proto/google/rpc/status.js +48 -0
  153. package/dist/cjs/grpc/proto/google/rpc/status.js.map +7 -0
  154. package/dist/cjs/grpc/proto/haneul/rpc/v2/argument.d.ts +66 -0
  155. package/dist/cjs/grpc/proto/haneul/rpc/v2/argument.js +71 -0
  156. package/dist/cjs/grpc/proto/haneul/rpc/v2/argument.js.map +7 -0
  157. package/dist/cjs/grpc/proto/haneul/rpc/v2/balance_change.d.ts +34 -0
  158. package/dist/cjs/grpc/proto/haneul/rpc/v2/balance_change.js +56 -0
  159. package/dist/cjs/grpc/proto/haneul/rpc/v2/balance_change.js.map +7 -0
  160. package/dist/cjs/grpc/proto/haneul/rpc/v2/bcs.d.ts +30 -0
  161. package/dist/cjs/grpc/proto/haneul/rpc/v2/bcs.js +48 -0
  162. package/dist/cjs/grpc/proto/haneul/rpc/v2/bcs.js.map +7 -0
  163. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint.d.ts +68 -0
  164. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint.js +64 -0
  165. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint.js.map +7 -0
  166. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.ts +74 -0
  167. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_contents.js +89 -0
  168. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_contents.js.map +7 -0
  169. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.ts +195 -0
  170. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_summary.js +165 -0
  171. package/dist/cjs/grpc/proto/haneul/rpc/v2/checkpoint_summary.js.map +7 -0
  172. package/dist/cjs/grpc/proto/haneul/rpc/v2/effects.d.ts +338 -0
  173. package/dist/cjs/grpc/proto/haneul/rpc/v2/effects.js +294 -0
  174. package/dist/cjs/grpc/proto/haneul/rpc/v2/effects.js.map +7 -0
  175. package/dist/cjs/grpc/proto/haneul/rpc/v2/epoch.d.ts +62 -0
  176. package/dist/cjs/grpc/proto/haneul/rpc/v2/epoch.js +73 -0
  177. package/dist/cjs/grpc/proto/haneul/rpc/v2/epoch.js.map +7 -0
  178. package/dist/cjs/grpc/proto/haneul/rpc/v2/error_reason.d.ts +17 -0
  179. package/dist/cjs/grpc/proto/haneul/rpc/v2/error_reason.js +30 -0
  180. package/dist/cjs/grpc/proto/haneul/rpc/v2/error_reason.js.map +7 -0
  181. package/dist/cjs/grpc/proto/haneul/rpc/v2/event.d.ts +88 -0
  182. package/dist/cjs/grpc/proto/haneul/rpc/v2/event.js +86 -0
  183. package/dist/cjs/grpc/proto/haneul/rpc/v2/event.js.map +7 -0
  184. package/dist/cjs/grpc/proto/haneul/rpc/v2/executed_transaction.d.ts +80 -0
  185. package/dist/cjs/grpc/proto/haneul/rpc/v2/executed_transaction.js +74 -0
  186. package/dist/cjs/grpc/proto/haneul/rpc/v2/executed_transaction.js.map +7 -0
  187. package/dist/cjs/grpc/proto/haneul/rpc/v2/execution_status.d.ts +843 -0
  188. package/dist/cjs/grpc/proto/haneul/rpc/v2/execution_status.js +513 -0
  189. package/dist/cjs/grpc/proto/haneul/rpc/v2/execution_status.js.map +7 -0
  190. package/dist/cjs/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.ts +41 -0
  191. package/dist/cjs/grpc/proto/haneul/rpc/v2/gas_cost_summary.js +64 -0
  192. package/dist/cjs/grpc/proto/haneul/rpc/v2/gas_cost_summary.js.map +7 -0
  193. package/dist/cjs/grpc/proto/haneul/rpc/v2/input.d.ts +98 -0
  194. package/dist/cjs/grpc/proto/haneul/rpc/v2/input.js +90 -0
  195. package/dist/cjs/grpc/proto/haneul/rpc/v2/input.js.map +7 -0
  196. package/dist/cjs/grpc/proto/haneul/rpc/v2/jwk.d.ts +70 -0
  197. package/dist/cjs/grpc/proto/haneul/rpc/v2/jwk.js +88 -0
  198. package/dist/cjs/grpc/proto/haneul/rpc/v2/jwk.js.map +7 -0
  199. package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.client.d.ts +95 -0
  200. package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.client.js +127 -0
  201. package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.client.js.map +7 -0
  202. package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.d.ts +420 -0
  203. package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.js +327 -0
  204. package/dist/cjs/grpc/proto/haneul/rpc/v2/ledger_service.js.map +7 -0
  205. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package.d.ts +579 -0
  206. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package.js +480 -0
  207. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package.js.map +7 -0
  208. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.client.d.ts +61 -0
  209. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.client.js +86 -0
  210. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.client.js.map +7 -0
  211. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.d.ts +229 -0
  212. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.js +226 -0
  213. package/dist/cjs/grpc/proto/haneul/rpc/v2/move_package_service.js.map +7 -0
  214. package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.client.d.ts +41 -0
  215. package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.client.js +60 -0
  216. package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.client.js.map +7 -0
  217. package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.d.ts +144 -0
  218. package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.js +138 -0
  219. package/dist/cjs/grpc/proto/haneul/rpc/v2/name_service.js.map +7 -0
  220. package/dist/cjs/grpc/proto/haneul/rpc/v2/object.d.ts +127 -0
  221. package/dist/cjs/grpc/proto/haneul/rpc/v2/object.js +113 -0
  222. package/dist/cjs/grpc/proto/haneul/rpc/v2/object.js.map +7 -0
  223. package/dist/cjs/grpc/proto/haneul/rpc/v2/object_reference.d.ts +34 -0
  224. package/dist/cjs/grpc/proto/haneul/rpc/v2/object_reference.js +56 -0
  225. package/dist/cjs/grpc/proto/haneul/rpc/v2/object_reference.js.map +7 -0
  226. package/dist/cjs/grpc/proto/haneul/rpc/v2/owner.d.ts +61 -0
  227. package/dist/cjs/grpc/proto/haneul/rpc/v2/owner.js +65 -0
  228. package/dist/cjs/grpc/proto/haneul/rpc/v2/owner.js.map +7 -0
  229. package/dist/cjs/grpc/proto/haneul/rpc/v2/protocol_config.d.ts +30 -0
  230. package/dist/cjs/grpc/proto/haneul/rpc/v2/protocol_config.js +62 -0
  231. package/dist/cjs/grpc/proto/haneul/rpc/v2/protocol_config.js.map +7 -0
  232. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature.d.ts +630 -0
  233. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature.js +514 -0
  234. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature.js.map +7 -0
  235. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_scheme.d.ts +40 -0
  236. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_scheme.js +34 -0
  237. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_scheme.js.map +7 -0
  238. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.ts +35 -0
  239. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js +49 -0
  240. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js.map +7 -0
  241. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.d.ts +79 -0
  242. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.js +76 -0
  243. package/dist/cjs/grpc/proto/haneul/rpc/v2/signature_verification_service.js.map +7 -0
  244. package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.client.d.ts +71 -0
  245. package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.client.js +99 -0
  246. package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.client.js.map +7 -0
  247. package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.d.ts +690 -0
  248. package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.js +546 -0
  249. package/dist/cjs/grpc/proto/haneul/rpc/v2/state_service.js.map +7 -0
  250. package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.client.d.ts +55 -0
  251. package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.client.js +59 -0
  252. package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.client.js.map +7 -0
  253. package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.d.ts +57 -0
  254. package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.js +63 -0
  255. package/dist/cjs/grpc/proto/haneul/rpc/v2/subscription_service.js.map +7 -0
  256. package/dist/cjs/grpc/proto/haneul/rpc/v2/system_state.d.ts +684 -0
  257. package/dist/cjs/grpc/proto/haneul/rpc/v2/system_state.js +674 -0
  258. package/dist/cjs/grpc/proto/haneul/rpc/v2/system_state.js.map +7 -0
  259. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction.d.ts +1321 -0
  260. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction.js +931 -0
  261. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction.js.map +7 -0
  262. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.ts +41 -0
  263. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js +60 -0
  264. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js.map +7 -0
  265. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.ts +184 -0
  266. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.js +159 -0
  267. package/dist/cjs/grpc/proto/haneul/rpc/v2/transaction_execution_service.js.map +7 -0
  268. package/dist/cjs/jsonRpc/client.d.ts +264 -0
  269. package/dist/cjs/jsonRpc/client.js +832 -0
  270. package/dist/cjs/jsonRpc/client.js.map +7 -0
  271. package/dist/cjs/jsonRpc/core.d.ts +93 -0
  272. package/dist/cjs/jsonRpc/core.js +644 -0
  273. package/dist/cjs/jsonRpc/core.js.map +7 -0
  274. package/dist/cjs/jsonRpc/errors.d.ts +12 -0
  275. package/dist/cjs/jsonRpc/errors.js +60 -0
  276. package/dist/cjs/jsonRpc/errors.js.map +7 -0
  277. package/dist/cjs/jsonRpc/http-transport.d.ts +42 -0
  278. package/dist/cjs/jsonRpc/http-transport.js +119 -0
  279. package/dist/cjs/jsonRpc/http-transport.js.map +7 -0
  280. package/dist/cjs/jsonRpc/index.d.ts +4 -0
  281. package/dist/cjs/jsonRpc/index.js +32 -0
  282. package/dist/cjs/jsonRpc/index.js.map +7 -0
  283. package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +4 -0
  284. package/dist/cjs/jsonRpc/json-rpc-resolver.js +311 -0
  285. package/dist/cjs/jsonRpc/json-rpc-resolver.js.map +7 -0
  286. package/dist/cjs/jsonRpc/rpc-websocket-client.d.ts +43 -0
  287. package/dist/cjs/jsonRpc/rpc-websocket-client.js +194 -0
  288. package/dist/cjs/jsonRpc/rpc-websocket-client.js.map +7 -0
  289. package/dist/cjs/jsonRpc/types/chain.d.ts +99 -0
  290. package/dist/cjs/jsonRpc/types/chain.js +17 -0
  291. package/dist/cjs/jsonRpc/types/chain.js.map +7 -0
  292. package/dist/cjs/jsonRpc/types/changes.d.ts +19 -0
  293. package/dist/cjs/jsonRpc/types/changes.js +17 -0
  294. package/dist/cjs/jsonRpc/types/changes.js.map +7 -0
  295. package/dist/cjs/jsonRpc/types/coins.d.ts +6 -0
  296. package/dist/cjs/jsonRpc/types/coins.js +17 -0
  297. package/dist/cjs/jsonRpc/types/coins.js.map +7 -0
  298. package/dist/cjs/jsonRpc/types/common.d.ts +2 -0
  299. package/dist/cjs/jsonRpc/types/common.js +17 -0
  300. package/dist/cjs/jsonRpc/types/common.js.map +7 -0
  301. package/dist/cjs/jsonRpc/types/generated.d.ts +1492 -0
  302. package/dist/cjs/jsonRpc/types/generated.js +17 -0
  303. package/dist/cjs/jsonRpc/types/generated.js.map +7 -0
  304. package/dist/cjs/jsonRpc/types/index.d.ts +6 -0
  305. package/dist/cjs/jsonRpc/types/index.js +17 -0
  306. package/dist/cjs/jsonRpc/types/index.js.map +7 -0
  307. package/dist/cjs/jsonRpc/types/params.d.ts +656 -0
  308. package/dist/cjs/jsonRpc/types/params.js +17 -0
  309. package/dist/cjs/jsonRpc/types/params.js.map +7 -0
  310. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
  311. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +77 -0
  312. package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +7 -0
  313. package/dist/cjs/keypairs/ed25519/index.d.ts +2 -0
  314. package/dist/cjs/keypairs/ed25519/index.js +28 -0
  315. package/dist/cjs/keypairs/ed25519/index.js.map +7 -0
  316. package/dist/cjs/keypairs/ed25519/keypair.d.ts +74 -0
  317. package/dist/cjs/keypairs/ed25519/keypair.js +162 -0
  318. package/dist/cjs/keypairs/ed25519/keypair.js.map +7 -0
  319. package/dist/cjs/keypairs/ed25519/publickey.d.ts +30 -0
  320. package/dist/cjs/keypairs/ed25519/publickey.js +88 -0
  321. package/dist/cjs/keypairs/ed25519/publickey.js.map +7 -0
  322. package/dist/cjs/keypairs/passkey/index.d.ts +3 -0
  323. package/dist/cjs/keypairs/passkey/index.js +29 -0
  324. package/dist/cjs/keypairs/passkey/index.js.map +7 -0
  325. package/dist/cjs/keypairs/passkey/keypair.d.ts +113 -0
  326. package/dist/cjs/keypairs/passkey/keypair.js +251 -0
  327. package/dist/cjs/keypairs/passkey/keypair.js.map +7 -0
  328. package/dist/cjs/keypairs/passkey/publickey.d.ts +72 -0
  329. package/dist/cjs/keypairs/passkey/publickey.js +168 -0
  330. package/dist/cjs/keypairs/passkey/publickey.js.map +7 -0
  331. package/dist/cjs/keypairs/passkey/types.d.ts +12 -0
  332. package/dist/cjs/keypairs/passkey/types.js +17 -0
  333. package/dist/cjs/keypairs/passkey/types.js.map +7 -0
  334. package/dist/cjs/keypairs/secp256k1/index.d.ts +2 -0
  335. package/dist/cjs/keypairs/secp256k1/index.js +28 -0
  336. package/dist/cjs/keypairs/secp256k1/index.js.map +7 -0
  337. package/dist/cjs/keypairs/secp256k1/keypair.d.ts +73 -0
  338. package/dist/cjs/keypairs/secp256k1/keypair.js +150 -0
  339. package/dist/cjs/keypairs/secp256k1/keypair.js.map +7 -0
  340. package/dist/cjs/keypairs/secp256k1/publickey.d.ts +30 -0
  341. package/dist/cjs/keypairs/secp256k1/publickey.js +93 -0
  342. package/dist/cjs/keypairs/secp256k1/publickey.js.map +7 -0
  343. package/dist/cjs/keypairs/secp256r1/index.d.ts +2 -0
  344. package/dist/cjs/keypairs/secp256r1/index.js +28 -0
  345. package/dist/cjs/keypairs/secp256r1/index.js.map +7 -0
  346. package/dist/cjs/keypairs/secp256r1/keypair.d.ts +73 -0
  347. package/dist/cjs/keypairs/secp256r1/keypair.js +144 -0
  348. package/dist/cjs/keypairs/secp256r1/keypair.js.map +7 -0
  349. package/dist/cjs/keypairs/secp256r1/publickey.d.ts +30 -0
  350. package/dist/cjs/keypairs/secp256r1/publickey.js +94 -0
  351. package/dist/cjs/keypairs/secp256r1/publickey.js.map +7 -0
  352. package/dist/cjs/multisig/index.d.ts +2 -0
  353. package/dist/cjs/multisig/index.js +28 -0
  354. package/dist/cjs/multisig/index.js.map +7 -0
  355. package/dist/cjs/multisig/publickey.d.ts +114 -0
  356. package/dist/cjs/multisig/publickey.js +260 -0
  357. package/dist/cjs/multisig/publickey.js.map +7 -0
  358. package/dist/cjs/multisig/signer.d.ts +20 -0
  359. package/dist/cjs/multisig/signer.js +105 -0
  360. package/dist/cjs/multisig/signer.js.map +7 -0
  361. package/dist/cjs/package.json +5 -0
  362. package/dist/cjs/transactions/Arguments.d.ts +49 -0
  363. package/dist/cjs/transactions/Arguments.js +33 -0
  364. package/dist/cjs/transactions/Arguments.js.map +7 -0
  365. package/dist/cjs/transactions/Commands.d.ts +57 -0
  366. package/dist/cjs/transactions/Commands.js +140 -0
  367. package/dist/cjs/transactions/Commands.js.map +7 -0
  368. package/dist/cjs/transactions/Inputs.d.ts +22 -0
  369. package/dist/cjs/transactions/Inputs.js +80 -0
  370. package/dist/cjs/transactions/Inputs.js.map +7 -0
  371. package/dist/cjs/transactions/ObjectCache.d.ts +83 -0
  372. package/dist/cjs/transactions/ObjectCache.js +241 -0
  373. package/dist/cjs/transactions/ObjectCache.js.map +7 -0
  374. package/dist/cjs/transactions/Transaction.d.ts +710 -0
  375. package/dist/cjs/transactions/Transaction.js +683 -0
  376. package/dist/cjs/transactions/Transaction.js.map +7 -0
  377. package/dist/cjs/transactions/TransactionData.d.ts +73 -0
  378. package/dist/cjs/transactions/TransactionData.js +433 -0
  379. package/dist/cjs/transactions/TransactionData.js.map +7 -0
  380. package/dist/cjs/transactions/__tests__/Transaction.test.d.ts +1 -0
  381. package/dist/cjs/transactions/__tests__/bcs.test.d.ts +1 -0
  382. package/dist/cjs/transactions/data/internal.d.ts +1010 -0
  383. package/dist/cjs/transactions/data/internal.js +216 -0
  384. package/dist/cjs/transactions/data/internal.js.map +7 -0
  385. package/dist/cjs/transactions/data/v1.d.ts +312 -0
  386. package/dist/cjs/transactions/data/v1.js +482 -0
  387. package/dist/cjs/transactions/data/v1.js.map +7 -0
  388. package/dist/cjs/transactions/data/v2.d.ts +153 -0
  389. package/dist/cjs/transactions/data/v2.js +125 -0
  390. package/dist/cjs/transactions/data/v2.js.map +7 -0
  391. package/dist/cjs/transactions/executor/caching.d.ts +31 -0
  392. package/dist/cjs/transactions/executor/caching.js +114 -0
  393. package/dist/cjs/transactions/executor/caching.js.map +7 -0
  394. package/dist/cjs/transactions/executor/parallel.d.ts +37 -0
  395. package/dist/cjs/transactions/executor/parallel.js +380 -0
  396. package/dist/cjs/transactions/executor/parallel.js.map +7 -0
  397. package/dist/cjs/transactions/executor/queue.d.ts +11 -0
  398. package/dist/cjs/transactions/executor/queue.js +85 -0
  399. package/dist/cjs/transactions/executor/queue.js.map +7 -0
  400. package/dist/cjs/transactions/executor/serial.d.ts +31 -0
  401. package/dist/cjs/transactions/executor/serial.js +137 -0
  402. package/dist/cjs/transactions/executor/serial.js.map +7 -0
  403. package/dist/cjs/transactions/hash.d.ts +7 -0
  404. package/dist/cjs/transactions/hash.js +32 -0
  405. package/dist/cjs/transactions/hash.js.map +7 -0
  406. package/dist/cjs/transactions/index.d.ts +21 -0
  407. package/dist/cjs/transactions/index.js +51 -0
  408. package/dist/cjs/transactions/index.js.map +7 -0
  409. package/dist/cjs/transactions/intents/CoinWithBalance.d.ts +9 -0
  410. package/dist/cjs/transactions/intents/CoinWithBalance.js +188 -0
  411. package/dist/cjs/transactions/intents/CoinWithBalance.js.map +7 -0
  412. package/dist/cjs/transactions/object.d.ts +16 -0
  413. package/dist/cjs/transactions/object.js +78 -0
  414. package/dist/cjs/transactions/object.js.map +7 -0
  415. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +48 -0
  416. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js +67 -0
  417. package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +7 -0
  418. package/dist/cjs/transactions/pure.d.ts +20 -0
  419. package/dist/cjs/transactions/pure.js +57 -0
  420. package/dist/cjs/transactions/pure.js.map +7 -0
  421. package/dist/cjs/transactions/resolve.d.ts +13 -0
  422. package/dist/cjs/transactions/resolve.js +98 -0
  423. package/dist/cjs/transactions/resolve.js.map +7 -0
  424. package/dist/cjs/transactions/serializer.d.ts +7 -0
  425. package/dist/cjs/transactions/serializer.js +182 -0
  426. package/dist/cjs/transactions/serializer.js.map +7 -0
  427. package/dist/cjs/transactions/utils.d.ts +10 -0
  428. package/dist/cjs/transactions/utils.js +135 -0
  429. package/dist/cjs/transactions/utils.js.map +7 -0
  430. package/dist/cjs/utils/constants.d.ts +10 -0
  431. package/dist/cjs/utils/constants.js +44 -0
  432. package/dist/cjs/utils/constants.js.map +7 -0
  433. package/dist/cjs/utils/derived-objects.d.ts +5 -0
  434. package/dist/cjs/utils/derived-objects.js +34 -0
  435. package/dist/cjs/utils/derived-objects.js.map +7 -0
  436. package/dist/cjs/utils/dynamic-fields.d.ts +2 -0
  437. package/dist/cjs/utils/dynamic-fields.js +41 -0
  438. package/dist/cjs/utils/dynamic-fields.js.map +7 -0
  439. package/dist/cjs/utils/format.d.ts +2 -0
  440. package/dist/cjs/utils/format.js +36 -0
  441. package/dist/cjs/utils/format.js.map +7 -0
  442. package/dist/cjs/utils/haneul-types.d.ts +26 -0
  443. package/dist/cjs/utils/haneul-types.js +91 -0
  444. package/dist/cjs/utils/haneul-types.js.map +7 -0
  445. package/dist/cjs/utils/haneulns.d.ts +2 -0
  446. package/dist/cjs/utils/haneulns.js +57 -0
  447. package/dist/cjs/utils/haneulns.js.map +7 -0
  448. package/dist/cjs/utils/index.d.ts +9 -0
  449. package/dist/cjs/utils/index.js +69 -0
  450. package/dist/cjs/utils/index.js.map +7 -0
  451. package/dist/cjs/utils/move-registry.d.ts +6 -0
  452. package/dist/cjs/utils/move-registry.js +45 -0
  453. package/dist/cjs/utils/move-registry.js.map +7 -0
  454. package/dist/cjs/verify/index.d.ts +1 -0
  455. package/dist/cjs/verify/index.js +29 -0
  456. package/dist/cjs/verify/index.js.map +7 -0
  457. package/dist/cjs/verify/verify.d.ts +21 -0
  458. package/dist/cjs/verify/verify.js +124 -0
  459. package/dist/cjs/verify/verify.js.map +7 -0
  460. package/dist/cjs/version.d.ts +2 -0
  461. package/dist/cjs/version.js +27 -0
  462. package/dist/cjs/version.js.map +7 -0
  463. package/dist/cjs/zklogin/address.d.ts +16 -0
  464. package/dist/cjs/zklogin/address.js +87 -0
  465. package/dist/cjs/zklogin/address.js.map +7 -0
  466. package/dist/cjs/zklogin/bcs.d.ts +28 -0
  467. package/dist/cjs/zklogin/bcs.js +42 -0
  468. package/dist/cjs/zklogin/bcs.js.map +7 -0
  469. package/dist/cjs/zklogin/index.d.ts +9 -0
  470. package/dist/cjs/zklogin/index.js +46 -0
  471. package/dist/cjs/zklogin/index.js.map +7 -0
  472. package/dist/cjs/zklogin/jwt-decode.d.ts +47 -0
  473. package/dist/cjs/zklogin/jwt-decode.js +85 -0
  474. package/dist/cjs/zklogin/jwt-decode.js.map +7 -0
  475. package/dist/cjs/zklogin/jwt-utils.d.ts +12 -0
  476. package/dist/cjs/zklogin/jwt-utils.js +121 -0
  477. package/dist/cjs/zklogin/jwt-utils.js.map +7 -0
  478. package/dist/cjs/zklogin/nonce.d.ts +4 -0
  479. package/dist/cjs/zklogin/nonce.js +54 -0
  480. package/dist/cjs/zklogin/nonce.js.map +7 -0
  481. package/dist/cjs/zklogin/poseidon.d.ts +2 -0
  482. package/dist/cjs/zklogin/poseidon.js +63 -0
  483. package/dist/cjs/zklogin/poseidon.js.map +7 -0
  484. package/dist/cjs/zklogin/publickey.d.ts +87 -0
  485. package/dist/cjs/zklogin/publickey.js +257 -0
  486. package/dist/cjs/zklogin/publickey.js.map +7 -0
  487. package/dist/cjs/zklogin/signature.d.ts +23 -0
  488. package/dist/cjs/zklogin/signature.js +48 -0
  489. package/dist/cjs/zklogin/signature.js.map +7 -0
  490. package/dist/cjs/zklogin/utils.d.ts +16 -0
  491. package/dist/cjs/zklogin/utils.js +97 -0
  492. package/dist/cjs/zklogin/utils.js.map +7 -0
  493. package/dist/esm/bcs/bcs.d.ts +1973 -0
  494. package/dist/esm/bcs/bcs.js +308 -0
  495. package/dist/esm/bcs/bcs.js.map +7 -0
  496. package/dist/esm/bcs/effects.d.ts +579 -0
  497. package/dist/esm/bcs/effects.js +190 -0
  498. package/dist/esm/bcs/effects.js.map +7 -0
  499. package/dist/esm/bcs/index.d.ts +2589 -0
  500. package/dist/esm/bcs/index.js +94 -0
  501. package/dist/esm/bcs/index.js.map +7 -0
  502. package/dist/esm/bcs/pure.d.ts +22 -0
  503. package/dist/esm/bcs/pure.js +39 -0
  504. package/dist/esm/bcs/pure.js.map +7 -0
  505. package/dist/esm/bcs/type-tag-serializer.d.ts +7 -0
  506. package/dist/esm/bcs/type-tag-serializer.js +97 -0
  507. package/dist/esm/bcs/type-tag-serializer.js.map +7 -0
  508. package/dist/esm/bcs/types.d.ts +114 -0
  509. package/dist/esm/bcs/types.js +7 -0
  510. package/dist/esm/bcs/types.js.map +7 -0
  511. package/dist/esm/client/index.d.ts +5 -0
  512. package/dist/esm/client/index.js +19 -0
  513. package/dist/esm/client/index.js.map +7 -0
  514. package/dist/esm/client/network.d.ts +1 -0
  515. package/dist/esm/client/network.js +18 -0
  516. package/dist/esm/client/network.js.map +7 -0
  517. package/dist/esm/cryptography/index.d.ts +7 -0
  518. package/dist/esm/cryptography/index.js +47 -0
  519. package/dist/esm/cryptography/index.js.map +7 -0
  520. package/dist/esm/cryptography/intent.d.ts +6 -0
  521. package/dist/esm/cryptography/intent.js +15 -0
  522. package/dist/esm/cryptography/intent.js.map +7 -0
  523. package/dist/esm/cryptography/keypair.d.ts +72 -0
  524. package/dist/esm/cryptography/keypair.js +98 -0
  525. package/dist/esm/cryptography/keypair.js.map +7 -0
  526. package/dist/esm/cryptography/mnemonics.d.ts +27 -0
  527. package/dist/esm/cryptography/mnemonics.js +27 -0
  528. package/dist/esm/cryptography/mnemonics.js.map +7 -0
  529. package/dist/esm/cryptography/publickey.d.ts +67 -0
  530. package/dist/esm/cryptography/publickey.js +120 -0
  531. package/dist/esm/cryptography/publickey.js.map +7 -0
  532. package/dist/esm/cryptography/signature-scheme.d.ts +24 -0
  533. package/dist/esm/cryptography/signature-scheme.js +28 -0
  534. package/dist/esm/cryptography/signature-scheme.js.map +7 -0
  535. package/dist/esm/cryptography/signature.d.ts +65 -0
  536. package/dist/esm/cryptography/signature.js +51 -0
  537. package/dist/esm/cryptography/signature.js.map +7 -0
  538. package/dist/esm/experimental/cache.d.ts +12 -0
  539. package/dist/esm/experimental/cache.js +68 -0
  540. package/dist/esm/experimental/cache.js.map +7 -0
  541. package/dist/esm/experimental/client.d.ts +12 -0
  542. package/dist/esm/experimental/client.js +26 -0
  543. package/dist/esm/experimental/client.js.map +7 -0
  544. package/dist/esm/experimental/core.d.ts +37 -0
  545. package/dist/esm/experimental/core.js +94 -0
  546. package/dist/esm/experimental/core.js.map +7 -0
  547. package/dist/esm/experimental/errors.d.ts +8 -0
  548. package/dist/esm/experimental/errors.js +34 -0
  549. package/dist/esm/experimental/errors.js.map +7 -0
  550. package/dist/esm/experimental/index.d.ts +7 -0
  551. package/dist/esm/experimental/index.js +12 -0
  552. package/dist/esm/experimental/index.js.map +7 -0
  553. package/dist/esm/experimental/mvr.d.ts +42 -0
  554. package/dist/esm/experimental/mvr.js +350 -0
  555. package/dist/esm/experimental/mvr.js.map +7 -0
  556. package/dist/esm/experimental/transports/utils.d.ts +3 -0
  557. package/dist/esm/experimental/transports/utils.js +81 -0
  558. package/dist/esm/experimental/transports/utils.js.map +7 -0
  559. package/dist/esm/experimental/types.d.ts +434 -0
  560. package/dist/esm/experimental/types.js +1 -0
  561. package/dist/esm/experimental/types.js.map +7 -0
  562. package/dist/esm/faucet/faucet.d.ts +65 -0
  563. package/dist/esm/faucet/faucet.js +110 -0
  564. package/dist/esm/faucet/faucet.js.map +7 -0
  565. package/dist/esm/faucet/index.d.ts +1 -0
  566. package/dist/esm/faucet/index.js +17 -0
  567. package/dist/esm/faucet/index.js.map +7 -0
  568. package/dist/esm/graphql/client.d.ts +50 -0
  569. package/dist/esm/graphql/client.js +74 -0
  570. package/dist/esm/graphql/client.js.map +7 -0
  571. package/dist/esm/graphql/core.d.ts +32 -0
  572. package/dist/esm/graphql/core.js +469 -0
  573. package/dist/esm/graphql/core.js.map +7 -0
  574. package/dist/esm/graphql/generated/2024.1/tada-env.d.ts +11380 -0
  575. package/dist/esm/graphql/generated/2024.1/tada-env.js +13122 -0
  576. package/dist/esm/graphql/generated/2024.1/tada-env.js.map +7 -0
  577. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js +17 -0
  578. package/dist/esm/graphql/generated/2024.1/tsconfig.tada.js.map +7 -0
  579. package/dist/esm/graphql/generated/2024.4/tada-env.d.ts +11496 -0
  580. package/dist/esm/graphql/generated/2024.4/tada-env.js +13268 -0
  581. package/dist/esm/graphql/generated/2024.4/tada-env.js.map +7 -0
  582. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js +17 -0
  583. package/dist/esm/graphql/generated/2024.4/tsconfig.tada.js.map +7 -0
  584. package/dist/esm/graphql/generated/latest/tada-env.d.ts +11128 -0
  585. package/dist/esm/graphql/generated/latest/tada-env.js +12906 -0
  586. package/dist/esm/graphql/generated/latest/tada-env.js.map +7 -0
  587. package/dist/esm/graphql/generated/latest/tsconfig.tada.js +17 -0
  588. package/dist/esm/graphql/generated/latest/tsconfig.tada.js.map +7 -0
  589. package/dist/esm/graphql/generated/queries.d.ts +4980 -0
  590. package/dist/esm/graphql/generated/queries.js +783 -0
  591. package/dist/esm/graphql/generated/queries.js.map +7 -0
  592. package/dist/esm/graphql/index.d.ts +1 -0
  593. package/dist/esm/graphql/index.js +9 -0
  594. package/dist/esm/graphql/index.js.map +7 -0
  595. package/dist/esm/graphql/schemas/2024.1/index.d.ts +10 -0
  596. package/dist/esm/graphql/schemas/2024.1/index.js +9 -0
  597. package/dist/esm/graphql/schemas/2024.1/index.js.map +7 -0
  598. package/dist/esm/graphql/schemas/2024.4/index.d.ts +10 -0
  599. package/dist/esm/graphql/schemas/2024.4/index.js +9 -0
  600. package/dist/esm/graphql/schemas/2024.4/index.js.map +7 -0
  601. package/dist/esm/graphql/schemas/latest/index.d.ts +10 -0
  602. package/dist/esm/graphql/schemas/latest/index.js +9 -0
  603. package/dist/esm/graphql/schemas/latest/index.js.map +7 -0
  604. package/dist/esm/graphql/types.d.ts +71 -0
  605. package/dist/esm/graphql/types.js +1 -0
  606. package/dist/esm/graphql/types.js.map +7 -0
  607. package/dist/esm/grpc/client.d.ts +33 -0
  608. package/dist/esm/grpc/client.js +33 -0
  609. package/dist/esm/grpc/client.js.map +7 -0
  610. package/dist/esm/grpc/core.d.ts +30 -0
  611. package/dist/esm/grpc/core.js +640 -0
  612. package/dist/esm/grpc/core.js.map +7 -0
  613. package/dist/esm/grpc/index.d.ts +4 -0
  614. package/dist/esm/grpc/index.js +7 -0
  615. package/dist/esm/grpc/index.js.map +7 -0
  616. package/dist/esm/grpc/proto/google/protobuf/any.d.ts +173 -0
  617. package/dist/esm/grpc/proto/google/protobuf/any.js +119 -0
  618. package/dist/esm/grpc/proto/google/protobuf/any.js.map +7 -0
  619. package/dist/esm/grpc/proto/google/protobuf/duration.d.ts +104 -0
  620. package/dist/esm/grpc/proto/google/protobuf/duration.js +68 -0
  621. package/dist/esm/grpc/proto/google/protobuf/duration.js.map +7 -0
  622. package/dist/esm/grpc/proto/google/protobuf/empty.d.ts +25 -0
  623. package/dist/esm/grpc/proto/google/protobuf/empty.js +11 -0
  624. package/dist/esm/grpc/proto/google/protobuf/empty.js.map +7 -0
  625. package/dist/esm/grpc/proto/google/protobuf/field_mask.d.ts +231 -0
  626. package/dist/esm/grpc/proto/google/protobuf/field_mask.js +53 -0
  627. package/dist/esm/grpc/proto/google/protobuf/field_mask.js.map +7 -0
  628. package/dist/esm/grpc/proto/google/protobuf/struct.d.ts +169 -0
  629. package/dist/esm/grpc/proto/google/protobuf/struct.js +179 -0
  630. package/dist/esm/grpc/proto/google/protobuf/struct.js.map +7 -0
  631. package/dist/esm/grpc/proto/google/protobuf/timestamp.d.ts +145 -0
  632. package/dist/esm/grpc/proto/google/protobuf/timestamp.js +103 -0
  633. package/dist/esm/grpc/proto/google/protobuf/timestamp.js.map +7 -0
  634. package/dist/esm/grpc/proto/google/rpc/error_details.d.ts +525 -0
  635. package/dist/esm/grpc/proto/google/rpc/error_details.js +312 -0
  636. package/dist/esm/grpc/proto/google/rpc/error_details.js.map +7 -0
  637. package/dist/esm/grpc/proto/google/rpc/status.d.ts +46 -0
  638. package/dist/esm/grpc/proto/google/rpc/status.js +28 -0
  639. package/dist/esm/grpc/proto/google/rpc/status.js.map +7 -0
  640. package/dist/esm/grpc/proto/haneul/rpc/v2/argument.d.ts +66 -0
  641. package/dist/esm/grpc/proto/haneul/rpc/v2/argument.js +51 -0
  642. package/dist/esm/grpc/proto/haneul/rpc/v2/argument.js.map +7 -0
  643. package/dist/esm/grpc/proto/haneul/rpc/v2/balance_change.d.ts +34 -0
  644. package/dist/esm/grpc/proto/haneul/rpc/v2/balance_change.js +36 -0
  645. package/dist/esm/grpc/proto/haneul/rpc/v2/balance_change.js.map +7 -0
  646. package/dist/esm/grpc/proto/haneul/rpc/v2/bcs.d.ts +30 -0
  647. package/dist/esm/grpc/proto/haneul/rpc/v2/bcs.js +28 -0
  648. package/dist/esm/grpc/proto/haneul/rpc/v2/bcs.js.map +7 -0
  649. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint.d.ts +68 -0
  650. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint.js +44 -0
  651. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint.js.map +7 -0
  652. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_contents.d.ts +74 -0
  653. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_contents.js +69 -0
  654. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_contents.js.map +7 -0
  655. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_summary.d.ts +195 -0
  656. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_summary.js +145 -0
  657. package/dist/esm/grpc/proto/haneul/rpc/v2/checkpoint_summary.js.map +7 -0
  658. package/dist/esm/grpc/proto/haneul/rpc/v2/effects.d.ts +338 -0
  659. package/dist/esm/grpc/proto/haneul/rpc/v2/effects.js +274 -0
  660. package/dist/esm/grpc/proto/haneul/rpc/v2/effects.js.map +7 -0
  661. package/dist/esm/grpc/proto/haneul/rpc/v2/epoch.d.ts +62 -0
  662. package/dist/esm/grpc/proto/haneul/rpc/v2/epoch.js +53 -0
  663. package/dist/esm/grpc/proto/haneul/rpc/v2/epoch.js.map +7 -0
  664. package/dist/esm/grpc/proto/haneul/rpc/v2/error_reason.d.ts +17 -0
  665. package/dist/esm/grpc/proto/haneul/rpc/v2/error_reason.js +10 -0
  666. package/dist/esm/grpc/proto/haneul/rpc/v2/error_reason.js.map +7 -0
  667. package/dist/esm/grpc/proto/haneul/rpc/v2/event.d.ts +88 -0
  668. package/dist/esm/grpc/proto/haneul/rpc/v2/event.js +66 -0
  669. package/dist/esm/grpc/proto/haneul/rpc/v2/event.js.map +7 -0
  670. package/dist/esm/grpc/proto/haneul/rpc/v2/executed_transaction.d.ts +80 -0
  671. package/dist/esm/grpc/proto/haneul/rpc/v2/executed_transaction.js +54 -0
  672. package/dist/esm/grpc/proto/haneul/rpc/v2/executed_transaction.js.map +7 -0
  673. package/dist/esm/grpc/proto/haneul/rpc/v2/execution_status.d.ts +843 -0
  674. package/dist/esm/grpc/proto/haneul/rpc/v2/execution_status.js +493 -0
  675. package/dist/esm/grpc/proto/haneul/rpc/v2/execution_status.js.map +7 -0
  676. package/dist/esm/grpc/proto/haneul/rpc/v2/gas_cost_summary.d.ts +41 -0
  677. package/dist/esm/grpc/proto/haneul/rpc/v2/gas_cost_summary.js +44 -0
  678. package/dist/esm/grpc/proto/haneul/rpc/v2/gas_cost_summary.js.map +7 -0
  679. package/dist/esm/grpc/proto/haneul/rpc/v2/input.d.ts +98 -0
  680. package/dist/esm/grpc/proto/haneul/rpc/v2/input.js +70 -0
  681. package/dist/esm/grpc/proto/haneul/rpc/v2/input.js.map +7 -0
  682. package/dist/esm/grpc/proto/haneul/rpc/v2/jwk.d.ts +70 -0
  683. package/dist/esm/grpc/proto/haneul/rpc/v2/jwk.js +68 -0
  684. package/dist/esm/grpc/proto/haneul/rpc/v2/jwk.js.map +7 -0
  685. package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.client.d.ts +95 -0
  686. package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.client.js +107 -0
  687. package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.client.js.map +7 -0
  688. package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.d.ts +420 -0
  689. package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.js +307 -0
  690. package/dist/esm/grpc/proto/haneul/rpc/v2/ledger_service.js.map +7 -0
  691. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package.d.ts +579 -0
  692. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package.js +460 -0
  693. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package.js.map +7 -0
  694. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.client.d.ts +61 -0
  695. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.client.js +66 -0
  696. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.client.js.map +7 -0
  697. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.d.ts +229 -0
  698. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.js +206 -0
  699. package/dist/esm/grpc/proto/haneul/rpc/v2/move_package_service.js.map +7 -0
  700. package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.client.d.ts +41 -0
  701. package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.client.js +40 -0
  702. package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.client.js.map +7 -0
  703. package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.d.ts +144 -0
  704. package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.js +118 -0
  705. package/dist/esm/grpc/proto/haneul/rpc/v2/name_service.js.map +7 -0
  706. package/dist/esm/grpc/proto/haneul/rpc/v2/object.d.ts +127 -0
  707. package/dist/esm/grpc/proto/haneul/rpc/v2/object.js +93 -0
  708. package/dist/esm/grpc/proto/haneul/rpc/v2/object.js.map +7 -0
  709. package/dist/esm/grpc/proto/haneul/rpc/v2/object_reference.d.ts +34 -0
  710. package/dist/esm/grpc/proto/haneul/rpc/v2/object_reference.js +36 -0
  711. package/dist/esm/grpc/proto/haneul/rpc/v2/object_reference.js.map +7 -0
  712. package/dist/esm/grpc/proto/haneul/rpc/v2/owner.d.ts +61 -0
  713. package/dist/esm/grpc/proto/haneul/rpc/v2/owner.js +45 -0
  714. package/dist/esm/grpc/proto/haneul/rpc/v2/owner.js.map +7 -0
  715. package/dist/esm/grpc/proto/haneul/rpc/v2/protocol_config.d.ts +30 -0
  716. package/dist/esm/grpc/proto/haneul/rpc/v2/protocol_config.js +42 -0
  717. package/dist/esm/grpc/proto/haneul/rpc/v2/protocol_config.js.map +7 -0
  718. package/dist/esm/grpc/proto/haneul/rpc/v2/signature.d.ts +630 -0
  719. package/dist/esm/grpc/proto/haneul/rpc/v2/signature.js +494 -0
  720. package/dist/esm/grpc/proto/haneul/rpc/v2/signature.js.map +7 -0
  721. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_scheme.d.ts +40 -0
  722. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_scheme.js +14 -0
  723. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_scheme.js.map +7 -0
  724. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.client.d.ts +35 -0
  725. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js +29 -0
  726. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.client.js.map +7 -0
  727. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.d.ts +79 -0
  728. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.js +56 -0
  729. package/dist/esm/grpc/proto/haneul/rpc/v2/signature_verification_service.js.map +7 -0
  730. package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.client.d.ts +71 -0
  731. package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.client.js +79 -0
  732. package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.client.js.map +7 -0
  733. package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.d.ts +690 -0
  734. package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.js +526 -0
  735. package/dist/esm/grpc/proto/haneul/rpc/v2/state_service.js.map +7 -0
  736. package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.client.d.ts +55 -0
  737. package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.client.js +39 -0
  738. package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.client.js.map +7 -0
  739. package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.d.ts +57 -0
  740. package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.js +43 -0
  741. package/dist/esm/grpc/proto/haneul/rpc/v2/subscription_service.js.map +7 -0
  742. package/dist/esm/grpc/proto/haneul/rpc/v2/system_state.d.ts +684 -0
  743. package/dist/esm/grpc/proto/haneul/rpc/v2/system_state.js +654 -0
  744. package/dist/esm/grpc/proto/haneul/rpc/v2/system_state.js.map +7 -0
  745. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction.d.ts +1321 -0
  746. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction.js +911 -0
  747. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction.js.map +7 -0
  748. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.d.ts +41 -0
  749. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js +40 -0
  750. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.js.map +7 -0
  751. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.d.ts +184 -0
  752. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.js +139 -0
  753. package/dist/esm/grpc/proto/haneul/rpc/v2/transaction_execution_service.js.map +7 -0
  754. package/dist/esm/jsonRpc/client.d.ts +264 -0
  755. package/dist/esm/jsonRpc/client.js +818 -0
  756. package/dist/esm/jsonRpc/client.js.map +7 -0
  757. package/dist/esm/jsonRpc/core.d.ts +93 -0
  758. package/dist/esm/jsonRpc/core.js +624 -0
  759. package/dist/esm/jsonRpc/core.js.map +7 -0
  760. package/dist/esm/jsonRpc/errors.d.ts +12 -0
  761. package/dist/esm/jsonRpc/errors.js +40 -0
  762. package/dist/esm/jsonRpc/errors.js.map +7 -0
  763. package/dist/esm/jsonRpc/http-transport.d.ts +42 -0
  764. package/dist/esm/jsonRpc/http-transport.js +99 -0
  765. package/dist/esm/jsonRpc/http-transport.js.map +7 -0
  766. package/dist/esm/jsonRpc/index.d.ts +4 -0
  767. package/dist/esm/jsonRpc/index.js +17 -0
  768. package/dist/esm/jsonRpc/index.js.map +7 -0
  769. package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +4 -0
  770. package/dist/esm/jsonRpc/json-rpc-resolver.js +295 -0
  771. package/dist/esm/jsonRpc/json-rpc-resolver.js.map +7 -0
  772. package/dist/esm/jsonRpc/rpc-websocket-client.d.ts +43 -0
  773. package/dist/esm/jsonRpc/rpc-websocket-client.js +174 -0
  774. package/dist/esm/jsonRpc/rpc-websocket-client.js.map +7 -0
  775. package/dist/esm/jsonRpc/types/chain.d.ts +99 -0
  776. package/dist/esm/jsonRpc/types/chain.js +1 -0
  777. package/dist/esm/jsonRpc/types/chain.js.map +7 -0
  778. package/dist/esm/jsonRpc/types/changes.d.ts +19 -0
  779. package/dist/esm/jsonRpc/types/changes.js +1 -0
  780. package/dist/esm/jsonRpc/types/changes.js.map +7 -0
  781. package/dist/esm/jsonRpc/types/coins.d.ts +6 -0
  782. package/dist/esm/jsonRpc/types/coins.js +1 -0
  783. package/dist/esm/jsonRpc/types/coins.js.map +7 -0
  784. package/dist/esm/jsonRpc/types/common.d.ts +2 -0
  785. package/dist/esm/jsonRpc/types/common.js +1 -0
  786. package/dist/esm/jsonRpc/types/common.js.map +7 -0
  787. package/dist/esm/jsonRpc/types/generated.d.ts +1492 -0
  788. package/dist/esm/jsonRpc/types/generated.js +1 -0
  789. package/dist/esm/jsonRpc/types/generated.js.map +7 -0
  790. package/dist/esm/jsonRpc/types/index.d.ts +6 -0
  791. package/dist/esm/jsonRpc/types/index.js +1 -0
  792. package/dist/esm/jsonRpc/types/index.js.map +7 -0
  793. package/dist/esm/jsonRpc/types/params.d.ts +656 -0
  794. package/dist/esm/jsonRpc/types/params.js +1 -0
  795. package/dist/esm/jsonRpc/types/params.js.map +7 -0
  796. package/dist/esm/keypairs/ed25519/ed25519-hd-key.d.ts +8 -0
  797. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +57 -0
  798. package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +7 -0
  799. package/dist/esm/keypairs/ed25519/index.d.ts +2 -0
  800. package/dist/esm/keypairs/ed25519/index.js +11 -0
  801. package/dist/esm/keypairs/ed25519/index.js.map +7 -0
  802. package/dist/esm/keypairs/ed25519/keypair.d.ts +74 -0
  803. package/dist/esm/keypairs/ed25519/keypair.js +147 -0
  804. package/dist/esm/keypairs/ed25519/keypair.js.map +7 -0
  805. package/dist/esm/keypairs/ed25519/publickey.d.ts +30 -0
  806. package/dist/esm/keypairs/ed25519/publickey.js +72 -0
  807. package/dist/esm/keypairs/ed25519/publickey.js.map +7 -0
  808. package/dist/esm/keypairs/passkey/index.d.ts +3 -0
  809. package/dist/esm/keypairs/passkey/index.js +9 -0
  810. package/dist/esm/keypairs/passkey/index.js.map +7 -0
  811. package/dist/esm/keypairs/passkey/keypair.d.ts +113 -0
  812. package/dist/esm/keypairs/passkey/keypair.js +236 -0
  813. package/dist/esm/keypairs/passkey/keypair.js.map +7 -0
  814. package/dist/esm/keypairs/passkey/publickey.d.ts +72 -0
  815. package/dist/esm/keypairs/passkey/publickey.js +148 -0
  816. package/dist/esm/keypairs/passkey/publickey.js.map +7 -0
  817. package/dist/esm/keypairs/passkey/types.d.ts +12 -0
  818. package/dist/esm/keypairs/passkey/types.js +1 -0
  819. package/dist/esm/keypairs/passkey/types.js.map +7 -0
  820. package/dist/esm/keypairs/secp256k1/index.d.ts +2 -0
  821. package/dist/esm/keypairs/secp256k1/index.js +11 -0
  822. package/dist/esm/keypairs/secp256k1/index.js.map +7 -0
  823. package/dist/esm/keypairs/secp256k1/keypair.d.ts +73 -0
  824. package/dist/esm/keypairs/secp256k1/keypair.js +130 -0
  825. package/dist/esm/keypairs/secp256k1/keypair.js.map +7 -0
  826. package/dist/esm/keypairs/secp256k1/publickey.d.ts +30 -0
  827. package/dist/esm/keypairs/secp256k1/publickey.js +77 -0
  828. package/dist/esm/keypairs/secp256k1/publickey.js.map +7 -0
  829. package/dist/esm/keypairs/secp256r1/index.d.ts +2 -0
  830. package/dist/esm/keypairs/secp256r1/index.js +11 -0
  831. package/dist/esm/keypairs/secp256r1/index.js.map +7 -0
  832. package/dist/esm/keypairs/secp256r1/keypair.d.ts +73 -0
  833. package/dist/esm/keypairs/secp256r1/keypair.js +124 -0
  834. package/dist/esm/keypairs/secp256r1/keypair.js.map +7 -0
  835. package/dist/esm/keypairs/secp256r1/publickey.d.ts +30 -0
  836. package/dist/esm/keypairs/secp256r1/publickey.js +74 -0
  837. package/dist/esm/keypairs/secp256r1/publickey.js.map +7 -0
  838. package/dist/esm/multisig/index.d.ts +2 -0
  839. package/dist/esm/multisig/index.js +8 -0
  840. package/dist/esm/multisig/index.js.map +7 -0
  841. package/dist/esm/multisig/publickey.d.ts +114 -0
  842. package/dist/esm/multisig/publickey.js +243 -0
  843. package/dist/esm/multisig/publickey.js.map +7 -0
  844. package/dist/esm/multisig/signer.d.ts +20 -0
  845. package/dist/esm/multisig/signer.js +85 -0
  846. package/dist/esm/multisig/signer.js.map +7 -0
  847. package/dist/esm/package.json +5 -0
  848. package/dist/esm/transactions/Arguments.d.ts +49 -0
  849. package/dist/esm/transactions/Arguments.js +13 -0
  850. package/dist/esm/transactions/Arguments.js.map +7 -0
  851. package/dist/esm/transactions/Commands.d.ts +57 -0
  852. package/dist/esm/transactions/Commands.js +120 -0
  853. package/dist/esm/transactions/Commands.js.map +7 -0
  854. package/dist/esm/transactions/Inputs.d.ts +22 -0
  855. package/dist/esm/transactions/Inputs.js +60 -0
  856. package/dist/esm/transactions/Inputs.js.map +7 -0
  857. package/dist/esm/transactions/ObjectCache.d.ts +83 -0
  858. package/dist/esm/transactions/ObjectCache.js +221 -0
  859. package/dist/esm/transactions/ObjectCache.js.map +7 -0
  860. package/dist/esm/transactions/Transaction.d.ts +710 -0
  861. package/dist/esm/transactions/Transaction.js +668 -0
  862. package/dist/esm/transactions/Transaction.js.map +7 -0
  863. package/dist/esm/transactions/TransactionData.d.ts +73 -0
  864. package/dist/esm/transactions/TransactionData.js +413 -0
  865. package/dist/esm/transactions/TransactionData.js.map +7 -0
  866. package/dist/esm/transactions/__tests__/Transaction.test.d.ts +1 -0
  867. package/dist/esm/transactions/__tests__/bcs.test.d.ts +1 -0
  868. package/dist/esm/transactions/data/internal.d.ts +1010 -0
  869. package/dist/esm/transactions/data/internal.js +215 -0
  870. package/dist/esm/transactions/data/internal.js.map +7 -0
  871. package/dist/esm/transactions/data/v1.d.ts +312 -0
  872. package/dist/esm/transactions/data/v1.js +481 -0
  873. package/dist/esm/transactions/data/v1.js.map +7 -0
  874. package/dist/esm/transactions/data/v2.d.ts +153 -0
  875. package/dist/esm/transactions/data/v2.js +121 -0
  876. package/dist/esm/transactions/data/v2.js.map +7 -0
  877. package/dist/esm/transactions/executor/caching.d.ts +31 -0
  878. package/dist/esm/transactions/executor/caching.js +94 -0
  879. package/dist/esm/transactions/executor/caching.js.map +7 -0
  880. package/dist/esm/transactions/executor/parallel.d.ts +37 -0
  881. package/dist/esm/transactions/executor/parallel.js +360 -0
  882. package/dist/esm/transactions/executor/parallel.js.map +7 -0
  883. package/dist/esm/transactions/executor/queue.d.ts +11 -0
  884. package/dist/esm/transactions/executor/queue.js +65 -0
  885. package/dist/esm/transactions/executor/queue.js.map +7 -0
  886. package/dist/esm/transactions/executor/serial.d.ts +31 -0
  887. package/dist/esm/transactions/executor/serial.js +117 -0
  888. package/dist/esm/transactions/executor/serial.js.map +7 -0
  889. package/dist/esm/transactions/hash.d.ts +7 -0
  890. package/dist/esm/transactions/hash.js +12 -0
  891. package/dist/esm/transactions/hash.js.map +7 -0
  892. package/dist/esm/transactions/index.d.ts +21 -0
  893. package/dist/esm/transactions/index.js +39 -0
  894. package/dist/esm/transactions/index.js.map +7 -0
  895. package/dist/esm/transactions/intents/CoinWithBalance.d.ts +9 -0
  896. package/dist/esm/transactions/intents/CoinWithBalance.js +168 -0
  897. package/dist/esm/transactions/intents/CoinWithBalance.js.map +7 -0
  898. package/dist/esm/transactions/object.d.ts +16 -0
  899. package/dist/esm/transactions/object.js +58 -0
  900. package/dist/esm/transactions/object.js.map +7 -0
  901. package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +48 -0
  902. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js +47 -0
  903. package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +7 -0
  904. package/dist/esm/transactions/pure.d.ts +20 -0
  905. package/dist/esm/transactions/pure.js +37 -0
  906. package/dist/esm/transactions/pure.js.map +7 -0
  907. package/dist/esm/transactions/resolve.d.ts +13 -0
  908. package/dist/esm/transactions/resolve.js +78 -0
  909. package/dist/esm/transactions/resolve.js.map +7 -0
  910. package/dist/esm/transactions/serializer.d.ts +7 -0
  911. package/dist/esm/transactions/serializer.js +162 -0
  912. package/dist/esm/transactions/serializer.js.map +7 -0
  913. package/dist/esm/transactions/utils.d.ts +10 -0
  914. package/dist/esm/transactions/utils.js +115 -0
  915. package/dist/esm/transactions/utils.js.map +7 -0
  916. package/dist/esm/utils/constants.d.ts +10 -0
  917. package/dist/esm/utils/constants.js +24 -0
  918. package/dist/esm/utils/constants.js.map +7 -0
  919. package/dist/esm/utils/derived-objects.d.ts +5 -0
  920. package/dist/esm/utils/derived-objects.js +14 -0
  921. package/dist/esm/utils/derived-objects.js.map +7 -0
  922. package/dist/esm/utils/dynamic-fields.d.ts +2 -0
  923. package/dist/esm/utils/dynamic-fields.js +21 -0
  924. package/dist/esm/utils/dynamic-fields.js.map +7 -0
  925. package/dist/esm/utils/format.d.ts +2 -0
  926. package/dist/esm/utils/format.js +16 -0
  927. package/dist/esm/utils/format.js.map +7 -0
  928. package/dist/esm/utils/haneul-types.d.ts +26 -0
  929. package/dist/esm/utils/haneul-types.js +71 -0
  930. package/dist/esm/utils/haneul-types.js.map +7 -0
  931. package/dist/esm/utils/haneulns.d.ts +2 -0
  932. package/dist/esm/utils/haneulns.js +37 -0
  933. package/dist/esm/utils/haneulns.js.map +7 -0
  934. package/dist/esm/utils/index.d.ts +9 -0
  935. package/dist/esm/utils/index.js +80 -0
  936. package/dist/esm/utils/index.js.map +7 -0
  937. package/dist/esm/utils/move-registry.d.ts +6 -0
  938. package/dist/esm/utils/move-registry.js +25 -0
  939. package/dist/esm/utils/move-registry.js.map +7 -0
  940. package/dist/esm/verify/index.d.ts +1 -0
  941. package/dist/esm/verify/index.js +15 -0
  942. package/dist/esm/verify/index.js.map +7 -0
  943. package/dist/esm/verify/verify.d.ts +21 -0
  944. package/dist/esm/verify/verify.js +104 -0
  945. package/dist/esm/verify/verify.js.map +7 -0
  946. package/dist/esm/version.d.ts +2 -0
  947. package/dist/esm/version.js +7 -0
  948. package/dist/esm/version.js.map +7 -0
  949. package/dist/esm/zklogin/address.d.ts +16 -0
  950. package/dist/esm/zklogin/address.js +72 -0
  951. package/dist/esm/zklogin/address.js.map +7 -0
  952. package/dist/esm/zklogin/bcs.d.ts +28 -0
  953. package/dist/esm/zklogin/bcs.js +22 -0
  954. package/dist/esm/zklogin/bcs.js.map +7 -0
  955. package/dist/esm/zklogin/index.d.ts +9 -0
  956. package/dist/esm/zklogin/index.js +35 -0
  957. package/dist/esm/zklogin/index.js.map +7 -0
  958. package/dist/esm/zklogin/jwt-decode.d.ts +47 -0
  959. package/dist/esm/zklogin/jwt-decode.js +65 -0
  960. package/dist/esm/zklogin/jwt-decode.js.map +7 -0
  961. package/dist/esm/zklogin/jwt-utils.d.ts +12 -0
  962. package/dist/esm/zklogin/jwt-utils.js +101 -0
  963. package/dist/esm/zklogin/jwt-utils.js.map +7 -0
  964. package/dist/esm/zklogin/nonce.d.ts +4 -0
  965. package/dist/esm/zklogin/nonce.js +34 -0
  966. package/dist/esm/zklogin/nonce.js.map +7 -0
  967. package/dist/esm/zklogin/poseidon.d.ts +2 -0
  968. package/dist/esm/zklogin/poseidon.js +60 -0
  969. package/dist/esm/zklogin/poseidon.js.map +7 -0
  970. package/dist/esm/zklogin/publickey.d.ts +87 -0
  971. package/dist/esm/zklogin/publickey.js +237 -0
  972. package/dist/esm/zklogin/publickey.js.map +7 -0
  973. package/dist/esm/zklogin/signature.d.ts +23 -0
  974. package/dist/esm/zklogin/signature.js +28 -0
  975. package/dist/esm/zklogin/signature.js.map +7 -0
  976. package/dist/esm/zklogin/utils.d.ts +16 -0
  977. package/dist/esm/zklogin/utils.js +77 -0
  978. package/dist/esm/zklogin/utils.js.map +7 -0
  979. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  980. package/dist/tsconfig.tsbuildinfo +1 -0
  981. package/experimental/package.json +6 -0
  982. package/faucet/package.json +6 -0
  983. package/graphql/package.json +6 -0
  984. package/graphql/schemas/2024.1/package.json +6 -0
  985. package/graphql/schemas/2024.4/package.json +6 -0
  986. package/graphql/schemas/latest/package.json +6 -0
  987. package/grpc/package.json +6 -0
  988. package/jsonRpc/package.json +6 -0
  989. package/keypairs/ed25519/package.json +6 -0
  990. package/keypairs/passkey/package.json +6 -0
  991. package/keypairs/secp256k1/package.json +6 -0
  992. package/keypairs/secp256r1/package.json +6 -0
  993. package/multisig/package.json +6 -0
  994. package/package.json +196 -0
  995. package/src/bcs/bcs.ts +321 -0
  996. package/src/bcs/effects.ts +206 -0
  997. package/src/bcs/index.ts +96 -0
  998. package/src/bcs/pure.ts +92 -0
  999. package/src/bcs/type-tag-serializer.ts +110 -0
  1000. package/src/bcs/types.ts +113 -0
  1001. package/src/client/index.ts +21 -0
  1002. package/src/client/network.ts +17 -0
  1003. package/src/cryptography/index.ts +36 -0
  1004. package/src/cryptography/intent.ts +22 -0
  1005. package/src/cryptography/keypair.ts +157 -0
  1006. package/src/cryptography/mnemonics.ts +49 -0
  1007. package/src/cryptography/publickey.ts +168 -0
  1008. package/src/cryptography/signature-scheme.ts +37 -0
  1009. package/src/cryptography/signature.ts +76 -0
  1010. package/src/experimental/cache.ts +78 -0
  1011. package/src/experimental/client.ts +60 -0
  1012. package/src/experimental/core.ts +197 -0
  1013. package/src/experimental/errors.ts +37 -0
  1014. package/src/experimental/index.ts +24 -0
  1015. package/src/experimental/mvr.ts +488 -0
  1016. package/src/experimental/transports/utils.ts +117 -0
  1017. package/src/experimental/types.ts +569 -0
  1018. package/src/faucet/faucet.ts +189 -0
  1019. package/src/faucet/index.ts +11 -0
  1020. package/src/graphql/client.ts +134 -0
  1021. package/src/graphql/core.ts +629 -0
  1022. package/src/graphql/generated/2024.1/schema.graphql +4182 -0
  1023. package/src/graphql/generated/2024.1/tada-env.ts +13144 -0
  1024. package/src/graphql/generated/2024.1/tsconfig.tada.json +11 -0
  1025. package/src/graphql/generated/2024.4/schema.graphql +4211 -0
  1026. package/src/graphql/generated/2024.4/tada-env.ts +13290 -0
  1027. package/src/graphql/generated/2024.4/tsconfig.tada.json +11 -0
  1028. package/src/graphql/generated/latest/schema.graphql +4312 -0
  1029. package/src/graphql/generated/latest/tada-env.ts +12928 -0
  1030. package/src/graphql/generated/latest/tsconfig.tada.json +11 -0
  1031. package/src/graphql/generated/queries.ts +5391 -0
  1032. package/src/graphql/index.ts +12 -0
  1033. package/src/graphql/queries/getAllBalances.graphql +19 -0
  1034. package/src/graphql/queries/getBalance.graphql +13 -0
  1035. package/src/graphql/queries/getCoins.graphql +37 -0
  1036. package/src/graphql/queries/getDynamicFields.graphql +36 -0
  1037. package/src/graphql/queries/getMoveFunction.graphql +20 -0
  1038. package/src/graphql/queries/getReferenceGasPrice.graphql +8 -0
  1039. package/src/graphql/queries/nameService.graphql +8 -0
  1040. package/src/graphql/queries/objects.graphql +83 -0
  1041. package/src/graphql/queries/transactions.graphql +101 -0
  1042. package/src/graphql/queries/verifyZkLoginSignature.graphql +16 -0
  1043. package/src/graphql/schemas/2024.1/index.ts +17 -0
  1044. package/src/graphql/schemas/2024.4/index.ts +17 -0
  1045. package/src/graphql/schemas/latest/index.ts +17 -0
  1046. package/src/graphql/types.ts +87 -0
  1047. package/src/grpc/client.ts +62 -0
  1048. package/src/grpc/core.ts +757 -0
  1049. package/src/grpc/index.ts +7 -0
  1050. package/src/grpc/proto/google/protobuf/any.ts +296 -0
  1051. package/src/grpc/proto/google/protobuf/duration.ts +187 -0
  1052. package/src/grpc/proto/google/protobuf/empty.ts +64 -0
  1053. package/src/grpc/proto/google/protobuf/field_mask.ts +309 -0
  1054. package/src/grpc/proto/google/protobuf/struct.ts +327 -0
  1055. package/src/grpc/proto/google/protobuf/timestamp.ts +260 -0
  1056. package/src/grpc/proto/google/rpc/error_details.ts +667 -0
  1057. package/src/grpc/proto/google/rpc/status.ts +74 -0
  1058. package/src/grpc/proto/haneul/rpc/v2/argument.ts +90 -0
  1059. package/src/grpc/proto/haneul/rpc/v2/balance_change.ts +51 -0
  1060. package/src/grpc/proto/haneul/rpc/v2/bcs.ts +46 -0
  1061. package/src/grpc/proto/haneul/rpc/v2/checkpoint.ts +102 -0
  1062. package/src/grpc/proto/haneul/rpc/v2/checkpoint_contents.ts +111 -0
  1063. package/src/grpc/proto/haneul/rpc/v2/checkpoint_summary.ts +295 -0
  1064. package/src/grpc/proto/haneul/rpc/v2/effects.ts +491 -0
  1065. package/src/grpc/proto/haneul/rpc/v2/epoch.ts +113 -0
  1066. package/src/grpc/proto/haneul/rpc/v2/error_reason.ts +28 -0
  1067. package/src/grpc/proto/haneul/rpc/v2/event.ts +115 -0
  1068. package/src/grpc/proto/haneul/rpc/v2/executed_transaction.ts +122 -0
  1069. package/src/grpc/proto/haneul/rpc/v2/execution_status.ts +1079 -0
  1070. package/src/grpc/proto/haneul/rpc/v2/gas_cost_summary.ts +87 -0
  1071. package/src/grpc/proto/haneul/rpc/v2/input.ts +132 -0
  1072. package/src/grpc/proto/haneul/rpc/v2/jwk.ts +94 -0
  1073. package/src/grpc/proto/haneul/rpc/v2/ledger_service.client.ts +217 -0
  1074. package/src/grpc/proto/haneul/rpc/v2/ledger_service.ts +625 -0
  1075. package/src/grpc/proto/haneul/rpc/v2/move_package.ts +800 -0
  1076. package/src/grpc/proto/haneul/rpc/v2/move_package_service.client.ts +135 -0
  1077. package/src/grpc/proto/haneul/rpc/v2/move_package_service.ts +315 -0
  1078. package/src/grpc/proto/haneul/rpc/v2/name_service.client.ts +83 -0
  1079. package/src/grpc/proto/haneul/rpc/v2/name_service.ts +198 -0
  1080. package/src/grpc/proto/haneul/rpc/v2/object.ts +186 -0
  1081. package/src/grpc/proto/haneul/rpc/v2/object_reference.ts +58 -0
  1082. package/src/grpc/proto/haneul/rpc/v2/owner.ts +91 -0
  1083. package/src/grpc/proto/haneul/rpc/v2/protocol_config.ts +66 -0
  1084. package/src/grpc/proto/haneul/rpc/v2/signature.ts +864 -0
  1085. package/src/grpc/proto/haneul/rpc/v2/signature_scheme.ts +51 -0
  1086. package/src/grpc/proto/haneul/rpc/v2/signature_verification_service.client.ts +63 -0
  1087. package/src/grpc/proto/haneul/rpc/v2/signature_verification_service.ts +106 -0
  1088. package/src/grpc/proto/haneul/rpc/v2/state_service.client.ts +161 -0
  1089. package/src/grpc/proto/haneul/rpc/v2/state_service.ts +889 -0
  1090. package/src/grpc/proto/haneul/rpc/v2/subscription_service.client.ts +81 -0
  1091. package/src/grpc/proto/haneul/rpc/v2/subscription_service.ts +93 -0
  1092. package/src/grpc/proto/haneul/rpc/v2/system_state.ts +1184 -0
  1093. package/src/grpc/proto/haneul/rpc/v2/transaction.ts +1974 -0
  1094. package/src/grpc/proto/haneul/rpc/v2/transaction_execution_service.client.ts +85 -0
  1095. package/src/grpc/proto/haneul/rpc/v2/transaction_execution_service.ts +282 -0
  1096. package/src/jsonRpc/client.ts +1120 -0
  1097. package/src/jsonRpc/core.ts +711 -0
  1098. package/src/jsonRpc/errors.ts +45 -0
  1099. package/src/jsonRpc/http-transport.ts +143 -0
  1100. package/src/jsonRpc/index.ts +20 -0
  1101. package/src/jsonRpc/json-rpc-resolver.ts +420 -0
  1102. package/src/jsonRpc/rpc-websocket-client.ts +241 -0
  1103. package/src/jsonRpc/types/chain.ts +122 -0
  1104. package/src/jsonRpc/types/changes.ts +11 -0
  1105. package/src/jsonRpc/types/coins.ts +9 -0
  1106. package/src/jsonRpc/types/common.ts +5 -0
  1107. package/src/jsonRpc/types/generated.ts +1639 -0
  1108. package/src/jsonRpc/types/index.ts +9 -0
  1109. package/src/jsonRpc/types/params.ts +660 -0
  1110. package/src/keypairs/ed25519/ed25519-hd-key.ts +83 -0
  1111. package/src/keypairs/ed25519/index.ts +9 -0
  1112. package/src/keypairs/ed25519/keypair.ts +181 -0
  1113. package/src/keypairs/ed25519/publickey.ts +89 -0
  1114. package/src/keypairs/passkey/index.ts +5 -0
  1115. package/src/keypairs/passkey/keypair.ts +306 -0
  1116. package/src/keypairs/passkey/publickey.ts +188 -0
  1117. package/src/keypairs/passkey/types.ts +16 -0
  1118. package/src/keypairs/secp256k1/index.ts +9 -0
  1119. package/src/keypairs/secp256k1/keypair.ts +161 -0
  1120. package/src/keypairs/secp256k1/publickey.ts +94 -0
  1121. package/src/keypairs/secp256r1/index.ts +9 -0
  1122. package/src/keypairs/secp256r1/keypair.ts +157 -0
  1123. package/src/keypairs/secp256r1/publickey.ts +91 -0
  1124. package/src/multisig/index.ts +5 -0
  1125. package/src/multisig/publickey.ts +358 -0
  1126. package/src/multisig/signer.ts +93 -0
  1127. package/src/transactions/Arguments.ts +27 -0
  1128. package/src/transactions/Commands.ts +184 -0
  1129. package/src/transactions/Inputs.ts +68 -0
  1130. package/src/transactions/ObjectCache.ts +300 -0
  1131. package/src/transactions/Transaction.ts +927 -0
  1132. package/src/transactions/TransactionData.ts +560 -0
  1133. package/src/transactions/__tests__/Transaction.test.ts +184 -0
  1134. package/src/transactions/__tests__/bcs.test.ts +205 -0
  1135. package/src/transactions/data/internal.ts +334 -0
  1136. package/src/transactions/data/v1.ts +548 -0
  1137. package/src/transactions/data/v2.ts +148 -0
  1138. package/src/transactions/executor/caching.ts +111 -0
  1139. package/src/transactions/executor/parallel.ts +459 -0
  1140. package/src/transactions/executor/queue.ts +65 -0
  1141. package/src/transactions/executor/serial.ts +145 -0
  1142. package/src/transactions/hash.ts +20 -0
  1143. package/src/transactions/index.ts +62 -0
  1144. package/src/transactions/intents/CoinWithBalance.ts +230 -0
  1145. package/src/transactions/object.ts +68 -0
  1146. package/src/transactions/plugins/NamedPackagesPlugin.ts +111 -0
  1147. package/src/transactions/pure.ts +66 -0
  1148. package/src/transactions/resolve.ts +124 -0
  1149. package/src/transactions/serializer.ts +212 -0
  1150. package/src/transactions/utils.ts +142 -0
  1151. package/src/utils/constants.ts +16 -0
  1152. package/src/utils/derived-objects.ts +22 -0
  1153. package/src/utils/dynamic-fields.ts +30 -0
  1154. package/src/utils/format.ts +19 -0
  1155. package/src/utils/haneul-types.ts +114 -0
  1156. package/src/utils/haneulns.ts +43 -0
  1157. package/src/utils/index.ts +48 -0
  1158. package/src/utils/move-registry.ts +43 -0
  1159. package/src/verify/index.ts +11 -0
  1160. package/src/verify/verify.ts +149 -0
  1161. package/src/version.ts +7 -0
  1162. package/src/zklogin/address.ts +101 -0
  1163. package/src/zklogin/bcs.ts +26 -0
  1164. package/src/zklogin/index.ts +22 -0
  1165. package/src/zklogin/jwt-decode.ts +127 -0
  1166. package/src/zklogin/jwt-utils.ts +142 -0
  1167. package/src/zklogin/nonce.ts +39 -0
  1168. package/src/zklogin/poseidon.ts +64 -0
  1169. package/src/zklogin/publickey.ts +286 -0
  1170. package/src/zklogin/signature.ts +38 -0
  1171. package/src/zklogin/utils.ts +112 -0
  1172. package/transactions/package.json +6 -0
  1173. package/utils/package.json +6 -0
  1174. package/verify/package.json +6 -0
  1175. package/zklogin/package.json +6 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/transactions/Transaction.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { SerializedBcs } from '@haneullabs/bcs';\nimport { fromBase64, isSerializedBcs } from '@haneullabs/bcs';\nimport type { InferInput } from 'valibot';\nimport { is, parse } from 'valibot';\n\nimport type { SignatureWithBytes, Signer } from '../cryptography/index.js';\nimport { normalizeHaneulAddress } from '../utils/haneul-types.js';\nimport type { TransactionArgument } from './Commands.js';\nimport { Commands } from './Commands.js';\nimport type { CallArg, Command, Argument, ObjectRef } from './data/internal.js';\nimport {\n\tArgumentSchema,\n\tNormalizedCallArg,\n\tObjectRefSchema,\n\tTransactionExpiration,\n} from './data/internal.js';\nimport { serializeV1TransactionData } from './data/v1.js';\nimport { SerializedTransactionDataV2Schema } from './data/v2.js';\nimport { Inputs } from './Inputs.js';\nimport { needsTransactionResolution, resolveTransactionPlugin } from './resolve.js';\nimport type {\n\tBuildTransactionOptions,\n\tSerializeTransactionOptions,\n\tTransactionPlugin,\n} from './resolve.js';\nimport { createObjectMethods } from './object.js';\nimport { createPure } from './pure.js';\nimport { TransactionDataBuilder } from './TransactionData.js';\nimport { getIdFromCallArg } from './utils.js';\nimport { namedPackagesPlugin } from './plugins/NamedPackagesPlugin.js';\nimport type { ClientWithCoreApi } from '../experimental/core.js';\n\nexport type TransactionObjectArgument =\n\t| Exclude<InferInput<typeof ArgumentSchema>, { Input: unknown; type?: 'pure' }>\n\t| ((\n\t\t\ttx: Transaction,\n\t ) => Exclude<InferInput<typeof ArgumentSchema>, { Input: unknown; type?: 'pure' }>)\n\t| AsyncTransactionThunk<TransactionResultArgument>;\n\nexport type TransactionResult = Extract<Argument, { Result: unknown }> &\n\tExtract<Argument, { NestedResult: unknown }>[];\n\nexport type TransactionResultArgument =\n\t| Extract<Argument, { Result: unknown }>\n\t| readonly Extract<Argument, { NestedResult: unknown }>[];\n\nexport type AsyncTransactionThunk<\n\tT extends TransactionResultArgument | void = TransactionResultArgument | void,\n> = (tx: Transaction) => Promise<T | void>;\n\nfunction createTransactionResult(\n\tindex: number | (() => number),\n\tlength = Infinity,\n): TransactionResult {\n\tconst baseResult = {\n\t\t$kind: 'Result' as const,\n\t\tget Result() {\n\t\t\treturn typeof index === 'function' ? index() : index;\n\t\t},\n\t};\n\n\tconst nestedResults: {\n\t\t$kind: 'NestedResult';\n\t\tNestedResult: [number, number];\n\t}[] = [];\n\tconst nestedResultFor = (\n\t\tresultIndex: number,\n\t): {\n\t\t$kind: 'NestedResult';\n\t\tNestedResult: [number, number];\n\t} =>\n\t\t(nestedResults[resultIndex] ??= {\n\t\t\t$kind: 'NestedResult' as const,\n\t\t\tget NestedResult() {\n\t\t\t\treturn [typeof index === 'function' ? index() : index, resultIndex] as [number, number];\n\t\t\t},\n\t\t});\n\n\treturn new Proxy(baseResult, {\n\t\tset() {\n\t\t\tthrow new Error(\n\t\t\t\t'The transaction result is a proxy, and does not support setting properties directly',\n\t\t\t);\n\t\t},\n\t\t// TODO: Instead of making this return a concrete argument, we should ideally\n\t\t// make it reference-based (so that this gets resolved at build-time), which\n\t\t// allows re-ordering transactions.\n\t\tget(target, property) {\n\t\t\t// This allows this transaction argument to be used in the singular form:\n\t\t\tif (property in target) {\n\t\t\t\treturn Reflect.get(target, property);\n\t\t\t}\n\n\t\t\t// Support destructuring:\n\t\t\tif (property === Symbol.iterator) {\n\t\t\t\treturn function* () {\n\t\t\t\t\tlet i = 0;\n\t\t\t\t\twhile (i < length) {\n\t\t\t\t\t\tyield nestedResultFor(i);\n\t\t\t\t\t\ti++;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (typeof property === 'symbol') return;\n\n\t\t\tconst resultIndex = parseInt(property, 10);\n\t\t\tif (Number.isNaN(resultIndex) || resultIndex < 0) return;\n\t\t\treturn nestedResultFor(resultIndex);\n\t\t},\n\t}) as TransactionResult;\n}\n\nconst TRANSACTION_BRAND = Symbol.for('@haneullabs/transaction') as never;\n\ninterface SignOptions extends BuildTransactionOptions {\n\tsigner: Signer;\n}\n\nexport function isTransaction(obj: unknown): obj is TransactionLike {\n\treturn !!obj && typeof obj === 'object' && (obj as any)[TRANSACTION_BRAND] === true;\n}\n\nexport type TransactionObjectInput = string | CallArg | TransactionObjectArgument;\n\ninterface TransactionPluginRegistry {\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tbuildPlugins: Map<string | Function, TransactionPlugin>;\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\tserializationPlugins: Map<string | Function, TransactionPlugin>;\n}\n\nconst modulePluginRegistry: TransactionPluginRegistry = {\n\tbuildPlugins: new Map(),\n\tserializationPlugins: new Map(),\n};\n\nconst TRANSACTION_REGISTRY_KEY = Symbol.for('@haneullabs/transaction/registry');\nfunction getGlobalPluginRegistry() {\n\ttry {\n\t\tconst target = globalThis as {\n\t\t\t[TRANSACTION_REGISTRY_KEY]?: TransactionPluginRegistry;\n\t\t};\n\n\t\tif (!target[TRANSACTION_REGISTRY_KEY]) {\n\t\t\ttarget[TRANSACTION_REGISTRY_KEY] = modulePluginRegistry;\n\t\t}\n\n\t\treturn target[TRANSACTION_REGISTRY_KEY];\n\t} catch {\n\t\treturn modulePluginRegistry;\n\t}\n}\n\ntype InputSection = (CallArg | InputSection)[];\ntype CommandSection = (Command | CommandSection)[];\n\ntype TransactionLike = {\n\tgetData(): unknown;\n};\n\n/**\n * Transaction Builder\n */\nexport class Transaction {\n\t#serializationPlugins: TransactionPlugin[];\n\t#buildPlugins: TransactionPlugin[];\n\t#intentResolvers = new Map<string, TransactionPlugin>();\n\t#inputSection: InputSection = [];\n\t#commandSection: CommandSection = [];\n\t#availableResults: Set<number> = new Set();\n\t#pendingPromises = new Set<Promise<unknown>>();\n\t#added = new Map<(...args: any[]) => unknown, unknown>();\n\n\t/**\n\t * Converts from a serialize transaction kind (built with `build({ onlyTransactionKind: true })`) to a `Transaction` class.\n\t * Supports either a byte array, or base64-encoded bytes.\n\t */\n\tstatic fromKind(serialized: string | Uint8Array) {\n\t\tconst tx = new Transaction();\n\n\t\ttx.#data = TransactionDataBuilder.fromKindBytes(\n\t\t\ttypeof serialized === 'string' ? fromBase64(serialized) : serialized,\n\t\t);\n\n\t\ttx.#inputSection = tx.#data.inputs.slice();\n\t\ttx.#commandSection = tx.#data.commands.slice();\n\t\ttx.#availableResults = new Set(tx.#commandSection.map((_, i) => i));\n\n\t\treturn tx;\n\t}\n\n\t/**\n\t * Converts from a serialized transaction format to a `Transaction` class.\n\t * There are two supported serialized formats:\n\t * - A string returned from `Transaction#serialize`. The serialized format must be compatible, or it will throw an error.\n\t * - A byte array (or base64-encoded bytes) containing BCS transaction data.\n\t */\n\tstatic from(transaction: string | Uint8Array | TransactionLike) {\n\t\tconst newTransaction = new Transaction();\n\n\t\tif (isTransaction(transaction)) {\n\t\t\tnewTransaction.#data = TransactionDataBuilder.restore(\n\t\t\t\ttransaction.getData() as InferInput<typeof SerializedTransactionDataV2Schema>,\n\t\t\t);\n\t\t} else if (typeof transaction !== 'string' || !transaction.startsWith('{')) {\n\t\t\tnewTransaction.#data = TransactionDataBuilder.fromBytes(\n\t\t\t\ttypeof transaction === 'string' ? fromBase64(transaction) : transaction,\n\t\t\t);\n\t\t} else {\n\t\t\tnewTransaction.#data = TransactionDataBuilder.restore(JSON.parse(transaction));\n\t\t}\n\n\t\tnewTransaction.#inputSection = newTransaction.#data.inputs.slice();\n\t\tnewTransaction.#commandSection = newTransaction.#data.commands.slice();\n\t\tnewTransaction.#availableResults = new Set(newTransaction.#commandSection.map((_, i) => i));\n\n\t\treturn newTransaction;\n\t}\n\n\t/** @deprecated global plugins should be registered with a name */\n\tstatic registerGlobalSerializationPlugin(step: TransactionPlugin): void;\n\tstatic registerGlobalSerializationPlugin(name: string, step: TransactionPlugin): void;\n\tstatic registerGlobalSerializationPlugin(\n\t\tstepOrStep: TransactionPlugin | string,\n\t\tstep?: TransactionPlugin,\n\t) {\n\t\tgetGlobalPluginRegistry().serializationPlugins.set(\n\t\t\tstepOrStep,\n\t\t\tstep ?? (stepOrStep as TransactionPlugin),\n\t\t);\n\t}\n\n\tstatic unregisterGlobalSerializationPlugin(name: string) {\n\t\tgetGlobalPluginRegistry().serializationPlugins.delete(name);\n\t}\n\n\t/** @deprecated global plugins should be registered with a name */\n\tstatic registerGlobalBuildPlugin(step: TransactionPlugin): void;\n\tstatic registerGlobalBuildPlugin(name: string, step: TransactionPlugin): void;\n\tstatic registerGlobalBuildPlugin(\n\t\tstepOrStep: TransactionPlugin | string,\n\t\tstep?: TransactionPlugin,\n\t) {\n\t\tgetGlobalPluginRegistry().buildPlugins.set(\n\t\t\tstepOrStep,\n\t\t\tstep ?? (stepOrStep as TransactionPlugin),\n\t\t);\n\t}\n\n\tstatic unregisterGlobalBuildPlugin(name: string) {\n\t\tgetGlobalPluginRegistry().buildPlugins.delete(name);\n\t}\n\n\taddSerializationPlugin(step: TransactionPlugin) {\n\t\tthis.#serializationPlugins.push(step);\n\t}\n\n\taddBuildPlugin(step: TransactionPlugin) {\n\t\tthis.#buildPlugins.push(step);\n\t}\n\n\taddIntentResolver(intent: string, resolver: TransactionPlugin) {\n\t\tif (this.#intentResolvers.has(intent) && this.#intentResolvers.get(intent) !== resolver) {\n\t\t\tthrow new Error(`Intent resolver for ${intent} already exists`);\n\t\t}\n\n\t\tthis.#intentResolvers.set(intent, resolver);\n\t}\n\n\tsetSender(sender: string) {\n\t\tthis.#data.sender = sender;\n\t}\n\t/**\n\t * Sets the sender only if it has not already been set.\n\t * This is useful for sponsored transaction flows where the sender may not be the same as the signer address.\n\t */\n\tsetSenderIfNotSet(sender: string) {\n\t\tif (!this.#data.sender) {\n\t\t\tthis.#data.sender = sender;\n\t\t}\n\t}\n\tsetExpiration(expiration?: InferInput<typeof TransactionExpiration> | null) {\n\t\tthis.#data.expiration = expiration ? parse(TransactionExpiration, expiration) : null;\n\t}\n\tsetGasPrice(price: number | bigint) {\n\t\tthis.#data.gasConfig.price = String(price);\n\t}\n\tsetGasBudget(budget: number | bigint) {\n\t\tthis.#data.gasConfig.budget = String(budget);\n\t}\n\n\tsetGasBudgetIfNotSet(budget: number | bigint) {\n\t\tif (this.#data.gasData.budget == null) {\n\t\t\tthis.#data.gasConfig.budget = String(budget);\n\t\t}\n\t}\n\n\tsetGasOwner(owner: string) {\n\t\tthis.#data.gasConfig.owner = owner;\n\t}\n\tsetGasPayment(payments: ObjectRef[]) {\n\t\tthis.#data.gasConfig.payment = payments.map((payment) => parse(ObjectRefSchema, payment));\n\t}\n\n\t#data: TransactionDataBuilder;\n\n\t/** @deprecated Use `getData()` instead. */\n\tget blockData() {\n\t\treturn serializeV1TransactionData(this.#data.snapshot());\n\t}\n\n\t/** Get a snapshot of the transaction data, in JSON form: */\n\tgetData() {\n\t\treturn this.#data.snapshot();\n\t}\n\n\t// Used to brand transaction classes so that they can be identified, even between multiple copies\n\t// of the builder.\n\tget [TRANSACTION_BRAND]() {\n\t\treturn true;\n\t}\n\n\t// Temporary workaround for the wallet interface accidentally serializing transactions via postMessage\n\tget pure(): ReturnType<typeof createPure<Argument>> {\n\t\tObject.defineProperty(this, 'pure', {\n\t\t\tenumerable: false,\n\t\t\tvalue: createPure<Argument>((value): Argument => {\n\t\t\t\tif (isSerializedBcs(value)) {\n\t\t\t\t\treturn this.#addInput('pure', {\n\t\t\t\t\t\t$kind: 'Pure',\n\t\t\t\t\t\tPure: {\n\t\t\t\t\t\t\tbytes: value.toBase64(),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// TODO: we can also do some deduplication here\n\t\t\t\treturn this.#addInput(\n\t\t\t\t\t'pure',\n\t\t\t\t\tis(NormalizedCallArg, value)\n\t\t\t\t\t\t? parse(NormalizedCallArg, value)\n\t\t\t\t\t\t: value instanceof Uint8Array\n\t\t\t\t\t\t\t? Inputs.Pure(value)\n\t\t\t\t\t\t\t: { $kind: 'UnresolvedPure', UnresolvedPure: { value } },\n\t\t\t\t);\n\t\t\t}),\n\t\t});\n\n\t\treturn this.pure;\n\t}\n\n\tconstructor() {\n\t\tconst globalPlugins = getGlobalPluginRegistry();\n\t\tthis.#data = new TransactionDataBuilder();\n\t\tthis.#buildPlugins = [...globalPlugins.buildPlugins.values()];\n\t\tthis.#serializationPlugins = [...globalPlugins.serializationPlugins.values()];\n\t}\n\n\t/** Returns an argument for the gas coin, to be used in a transaction. */\n\tget gas() {\n\t\treturn { $kind: 'GasCoin' as const, GasCoin: true as const };\n\t}\n\n\t/**\n\t * Add a new object input to the transaction.\n\t */\n\tobject: ReturnType<\n\t\ttypeof createObjectMethods<{ $kind: 'Input'; Input: number; type?: 'object' }>\n\t> = createObjectMethods(\n\t\t(value: TransactionObjectInput): { $kind: 'Input'; Input: number; type?: 'object' } => {\n\t\t\tif (typeof value === 'function') {\n\t\t\t\treturn this.object(this.add(value as (tx: Transaction) => TransactionObjectArgument));\n\t\t\t}\n\n\t\t\tif (typeof value === 'object' && is(ArgumentSchema, value)) {\n\t\t\t\treturn value as { $kind: 'Input'; Input: number; type?: 'object' };\n\t\t\t}\n\n\t\t\tconst id = getIdFromCallArg(value);\n\n\t\t\tconst inserted = this.#data.inputs.find((i) => id === getIdFromCallArg(i));\n\n\t\t\t// Upgrade shared object inputs to mutable if needed:\n\t\t\tif (\n\t\t\t\tinserted?.Object?.SharedObject &&\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue.Object?.SharedObject\n\t\t\t) {\n\t\t\t\tinserted.Object.SharedObject.mutable =\n\t\t\t\t\tinserted.Object.SharedObject.mutable || value.Object.SharedObject.mutable;\n\t\t\t}\n\n\t\t\treturn inserted\n\t\t\t\t? { $kind: 'Input', Input: this.#data.inputs.indexOf(inserted), type: 'object' }\n\t\t\t\t: this.#addInput(\n\t\t\t\t\t\t'object',\n\t\t\t\t\t\ttypeof value === 'string'\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t$kind: 'UnresolvedObject',\n\t\t\t\t\t\t\t\t\tUnresolvedObject: { objectId: normalizeHaneulAddress(value) },\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: value,\n\t\t\t\t\t);\n\t\t},\n\t);\n\n\t/**\n\t * Add a new object input to the transaction using the fully-resolved object reference.\n\t * If you only have an object ID, use `builder.object(id)` instead.\n\t */\n\tobjectRef(...args: Parameters<(typeof Inputs)['ObjectRef']>) {\n\t\treturn this.object(Inputs.ObjectRef(...args));\n\t}\n\n\t/**\n\t * Add a new receiving input to the transaction using the fully-resolved object reference.\n\t * If you only have an object ID, use `builder.object(id)` instead.\n\t */\n\treceivingRef(...args: Parameters<(typeof Inputs)['ReceivingRef']>) {\n\t\treturn this.object(Inputs.ReceivingRef(...args));\n\t}\n\n\t/**\n\t * Add a new shared object input to the transaction using the fully-resolved shared object reference.\n\t * If you only have an object ID, use `builder.object(id)` instead.\n\t */\n\tsharedObjectRef(...args: Parameters<(typeof Inputs)['SharedObjectRef']>) {\n\t\treturn this.object(Inputs.SharedObjectRef(...args));\n\t}\n\n\t#fork() {\n\t\tconst fork = new Transaction();\n\n\t\tfork.#data = this.#data;\n\t\tfork.#serializationPlugins = this.#serializationPlugins;\n\t\tfork.#buildPlugins = this.#buildPlugins;\n\t\tfork.#intentResolvers = this.#intentResolvers;\n\t\tfork.#pendingPromises = this.#pendingPromises;\n\t\tfork.#availableResults = new Set(this.#availableResults);\n\t\tfork.#added = this.#added;\n\t\tthis.#inputSection.push(fork.#inputSection);\n\t\tthis.#commandSection.push(fork.#commandSection);\n\n\t\treturn fork;\n\t}\n\n\t/** Add a transaction to the transaction */\n\n\tadd<T extends Command>(command: T): TransactionResult;\n\tadd<T extends void | TransactionResultArgument | TransactionArgument | Command>(\n\t\tthunk: (tx: Transaction) => T,\n\t): T;\n\tadd<T extends TransactionResultArgument | void>(\n\t\tasyncTransactionThunk: AsyncTransactionThunk<T>,\n\t): T;\n\tadd(command: Command | AsyncTransactionThunk | ((tx: Transaction) => unknown)): unknown {\n\t\tif (typeof command === 'function') {\n\t\t\tif (this.#added.has(command)) {\n\t\t\t\treturn this.#added.get(command);\n\t\t\t}\n\n\t\t\tconst fork = this.#fork();\n\t\t\tconst result = command(fork);\n\n\t\t\tif (!(result && typeof result === 'object' && 'then' in result)) {\n\t\t\t\tthis.#availableResults = fork.#availableResults;\n\t\t\t\tthis.#added.set(command, result);\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tconst placeholder = this.#addCommand({\n\t\t\t\t$kind: '$Intent',\n\t\t\t\t$Intent: {\n\t\t\t\t\tname: 'AsyncTransactionThunk',\n\t\t\t\t\tinputs: {},\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tresultIndex: this.#data.commands.length,\n\t\t\t\t\t\tresult: null as TransactionResult | null,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.#pendingPromises.add(\n\t\t\t\tPromise.resolve(result as Promise<TransactionResult>).then((result) => {\n\t\t\t\t\tplaceholder.$Intent.data.result = result;\n\t\t\t\t}),\n\t\t\t);\n\t\t\tconst txResult = createTransactionResult(() => placeholder.$Intent.data.resultIndex);\n\t\t\tthis.#added.set(command, txResult);\n\t\t\treturn txResult;\n\t\t} else {\n\t\t\tthis.#addCommand(command);\n\t\t}\n\n\t\treturn createTransactionResult(this.#data.commands.length - 1);\n\t}\n\n\t#addCommand<T extends Command>(command: T) {\n\t\tconst resultIndex = this.#data.commands.length;\n\t\tthis.#commandSection.push(command);\n\t\tthis.#availableResults.add(resultIndex);\n\t\tthis.#data.commands.push(command);\n\n\t\tthis.#data.mapCommandArguments(resultIndex, (arg) => {\n\t\t\tif (arg.$kind === 'Result' && !this.#availableResults.has(arg.Result)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Result { Result: ${arg.Result} } is not available to use in the current transaction`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (arg.$kind === 'NestedResult' && !this.#availableResults.has(arg.NestedResult[0])) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Result { NestedResult: [${arg.NestedResult[0]}, ${arg.NestedResult[1]}] } is not available to use in the current transaction`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (arg.$kind === 'Input' && arg.Input >= this.#data.inputs.length) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Input { Input: ${arg.Input} } references an input that does not exist in the current transaction`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\n\t\treturn command;\n\t}\n\n\t#addInput<T extends 'pure' | 'object'>(type: T, input: CallArg) {\n\t\tthis.#inputSection.push(input);\n\t\treturn this.#data.addInput(type, input);\n\t}\n\n\t#normalizeTransactionArgument(arg: TransactionArgument | SerializedBcs<any>) {\n\t\tif (isSerializedBcs(arg)) {\n\t\t\treturn this.pure(arg);\n\t\t}\n\n\t\treturn this.#resolveArgument(arg as TransactionArgument);\n\t}\n\n\t#resolveArgument(arg: TransactionArgument): Argument {\n\t\tif (typeof arg === 'function') {\n\t\t\tconst resolved = this.add(arg as never);\n\n\t\t\tif (typeof resolved === 'function') {\n\t\t\t\treturn this.#resolveArgument(resolved);\n\t\t\t}\n\n\t\t\treturn parse(ArgumentSchema, resolved);\n\t\t}\n\n\t\treturn parse(ArgumentSchema, arg);\n\t}\n\n\t// Method shorthands:\n\n\tsplitCoins<\n\t\tconst Amounts extends (TransactionArgument | SerializedBcs<any> | number | string | bigint)[],\n\t>(coin: TransactionObjectArgument | string, amounts: Amounts) {\n\t\tconst command = Commands.SplitCoins(\n\t\t\ttypeof coin === 'string' ? this.object(coin) : this.#resolveArgument(coin),\n\t\t\tamounts.map((amount) =>\n\t\t\t\ttypeof amount === 'number' || typeof amount === 'bigint' || typeof amount === 'string'\n\t\t\t\t\t? this.pure.u64(amount)\n\t\t\t\t\t: this.#normalizeTransactionArgument(amount),\n\t\t\t),\n\t\t);\n\t\tthis.#addCommand(command);\n\t\treturn createTransactionResult(this.#data.commands.length - 1, amounts.length) as Extract<\n\t\t\tArgument,\n\t\t\t{ Result: unknown }\n\t\t> & {\n\t\t\t[K in keyof Amounts]: Extract<Argument, { NestedResult: unknown }>;\n\t\t};\n\t}\n\tmergeCoins(\n\t\tdestination: TransactionObjectArgument | string,\n\t\tsources: (TransactionObjectArgument | string)[],\n\t) {\n\t\treturn this.add(\n\t\t\tCommands.MergeCoins(\n\t\t\t\tthis.object(destination),\n\t\t\t\tsources.map((src) => this.object(src)),\n\t\t\t),\n\t\t);\n\t}\n\tpublish({ modules, dependencies }: { modules: number[][] | string[]; dependencies: string[] }) {\n\t\treturn this.add(\n\t\t\tCommands.Publish({\n\t\t\t\tmodules,\n\t\t\t\tdependencies,\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: TransactionObjectArgument | string;\n\t}) {\n\t\treturn this.add(\n\t\t\tCommands.Upgrade({\n\t\t\t\tmodules,\n\t\t\t\tdependencies,\n\t\t\t\tpackage: packageId,\n\t\t\t\tticket: this.object(ticket),\n\t\t\t}),\n\t\t);\n\t}\n\tmoveCall({\n\t\targuments: args,\n\t\t...input\n\t}:\n\t\t| {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\tfunction: string;\n\t\t\t\targuments?: (TransactionArgument | SerializedBcs<any>)[];\n\t\t\t\ttypeArguments?: string[];\n\t\t }\n\t\t| {\n\t\t\t\ttarget: string;\n\t\t\t\targuments?: (TransactionArgument | SerializedBcs<any>)[];\n\t\t\t\ttypeArguments?: string[];\n\t\t }) {\n\t\treturn this.add(\n\t\t\tCommands.MoveCall({\n\t\t\t\t...input,\n\t\t\t\targuments: args?.map((arg) => this.#normalizeTransactionArgument(arg)),\n\t\t\t} as Parameters<typeof Commands.MoveCall>[0]),\n\t\t);\n\t}\n\ttransferObjects(\n\t\tobjects: (TransactionObjectArgument | string)[],\n\t\taddress: TransactionArgument | SerializedBcs<any> | string,\n\t) {\n\t\treturn this.add(\n\t\t\tCommands.TransferObjects(\n\t\t\t\tobjects.map((obj) => this.object(obj)),\n\t\t\t\ttypeof address === 'string'\n\t\t\t\t\t? this.pure.address(address)\n\t\t\t\t\t: this.#normalizeTransactionArgument(address),\n\t\t\t),\n\t\t);\n\t}\n\tmakeMoveVec({\n\t\ttype,\n\t\telements,\n\t}: {\n\t\telements: (TransactionObjectArgument | string)[];\n\t\ttype?: string;\n\t}) {\n\t\treturn this.add(\n\t\t\tCommands.MakeMoveVec({\n\t\t\t\ttype,\n\t\t\t\telements: elements.map((obj) => this.object(obj)),\n\t\t\t}),\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated Use toJSON instead.\n\t * For synchronous serialization, you can use `getData()`\n\t * */\n\tserialize() {\n\t\treturn JSON.stringify(serializeV1TransactionData(this.#data.snapshot()));\n\t}\n\n\tasync toJSON(options: SerializeTransactionOptions = {}): Promise<string> {\n\t\tawait this.prepareForSerialization(options);\n\t\tconst fullyResolved = this.isFullyResolved();\n\t\treturn JSON.stringify(\n\t\t\tparse(\n\t\t\t\tSerializedTransactionDataV2Schema,\n\t\t\t\tfullyResolved\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t...this.#data.snapshot(),\n\t\t\t\t\t\t\tdigest: this.#data.getDigest(),\n\t\t\t\t\t\t}\n\t\t\t\t\t: this.#data.snapshot(),\n\t\t\t),\n\t\t\t(_key, value) => (typeof value === 'bigint' ? value.toString() : value),\n\t\t\t2,\n\t\t);\n\t}\n\n\t/** Build the transaction to BCS bytes, and sign it with the provided keypair. */\n\tasync sign(options: SignOptions): Promise<SignatureWithBytes> {\n\t\tconst { signer, ...buildOptions } = options;\n\t\tconst bytes = await this.build(buildOptions);\n\t\treturn signer.signTransaction(bytes);\n\t}\n\n\t/**\n\t * Ensures that:\n\t * - All objects have been fully resolved to a specific version\n\t * - All pure inputs have been serialized to bytes\n\t * - All async thunks have been fully resolved\n\t * - All transaction intents have been resolved\n\t * \t- The gas payment, budget, and price have been set\n\t * - The transaction sender has been set\n\t *\n\t * When true, the transaction will always be built to the same bytes and digest (unless the transaction is mutated)\n\t */\n\tisFullyResolved() {\n\t\tif (!this.#data.sender) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.#pendingPromises.size > 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.#data.commands.some((cmd) => cmd.$Intent)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (needsTransactionResolution(this.#data, {})) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/** Build the transaction to BCS bytes. */\n\tasync build(options: BuildTransactionOptions = {}): Promise<Uint8Array<ArrayBuffer>> {\n\t\tawait this.prepareForSerialization(options);\n\t\tawait this.#prepareBuild(options);\n\t\treturn this.#data.build({\n\t\t\tonlyTransactionKind: options.onlyTransactionKind,\n\t\t});\n\t}\n\n\t/** Derive transaction digest */\n\tasync getDigest(\n\t\toptions: {\n\t\t\tclient?: ClientWithCoreApi;\n\t\t} = {},\n\t): Promise<string> {\n\t\tawait this.prepareForSerialization(options);\n\t\tawait this.#prepareBuild(options);\n\t\treturn this.#data.getDigest();\n\t}\n\n\t/**\n\t * Prepare the transaction by validating the transaction data and resolving all inputs\n\t * so that it can be built into bytes.\n\t */\n\tasync #prepareBuild(options: BuildTransactionOptions) {\n\t\tif (!options.onlyTransactionKind && !this.#data.sender) {\n\t\t\tthrow new Error('Missing transaction sender');\n\t\t}\n\n\t\tawait this.#runPlugins([...this.#buildPlugins, resolveTransactionPlugin], options);\n\t}\n\n\tasync #runPlugins(plugins: TransactionPlugin[], options: SerializeTransactionOptions) {\n\t\ttry {\n\t\t\tconst createNext = (i: number) => {\n\t\t\t\tif (i >= plugins.length) {\n\t\t\t\t\treturn () => {};\n\t\t\t\t}\n\t\t\t\tconst plugin = plugins[i];\n\n\t\t\t\treturn async () => {\n\t\t\t\t\tconst next = createNext(i + 1);\n\t\t\t\t\tlet calledNext = false;\n\t\t\t\t\tlet nextResolved = false;\n\n\t\t\t\t\tawait plugin(this.#data, options, async () => {\n\t\t\t\t\t\tif (calledNext) {\n\t\t\t\t\t\t\tthrow new Error(`next() was call multiple times in TransactionPlugin ${i}`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcalledNext = true;\n\n\t\t\t\t\t\tawait next();\n\n\t\t\t\t\t\tnextResolved = true;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!calledNext) {\n\t\t\t\t\t\tthrow new Error(`next() was not called in TransactionPlugin ${i}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!nextResolved) {\n\t\t\t\t\t\tthrow new Error(`next() was not awaited in TransactionPlugin ${i}`);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t\tawait createNext(0)();\n\t\t} finally {\n\t\t\tthis.#inputSection = this.#data.inputs.slice();\n\t\t\tthis.#commandSection = this.#data.commands.slice();\n\t\t\tthis.#availableResults = new Set(this.#commandSection.map((_, i) => i));\n\t\t}\n\t}\n\n\tasync #waitForPendingTasks() {\n\t\twhile (this.#pendingPromises.size > 0) {\n\t\t\tconst newPromise = Promise.all(this.#pendingPromises);\n\t\t\tthis.#pendingPromises.clear();\n\t\t\tthis.#pendingPromises.add(newPromise);\n\t\t\tawait newPromise;\n\t\t\tthis.#pendingPromises.delete(newPromise);\n\t\t}\n\t}\n\n\t#sortCommandsAndInputs() {\n\t\tconst unorderedCommands = this.#data.commands;\n\t\tconst unorderedInputs = this.#data.inputs;\n\n\t\tconst orderedCommands = (this.#commandSection as Command[]).flat(Infinity);\n\t\tconst orderedInputs = (this.#inputSection as CallArg[]).flat(Infinity);\n\n\t\tif (orderedCommands.length !== unorderedCommands.length) {\n\t\t\tthrow new Error('Unexpected number of commands found in transaction data');\n\t\t}\n\n\t\tif (orderedInputs.length !== unorderedInputs.length) {\n\t\t\tthrow new Error('Unexpected number of inputs found in transaction data');\n\t\t}\n\n\t\tconst filteredCommands = orderedCommands.filter(\n\t\t\t(cmd) => cmd.$Intent?.name !== 'AsyncTransactionThunk',\n\t\t);\n\n\t\tthis.#data.commands = filteredCommands;\n\t\tthis.#data.inputs = orderedInputs;\n\t\tthis.#commandSection = filteredCommands;\n\t\tthis.#inputSection = orderedInputs;\n\t\tthis.#availableResults = new Set(filteredCommands.map((_, i) => i));\n\n\t\tfunction getOriginalIndex(index: number): number {\n\t\t\tconst command = unorderedCommands[index];\n\t\t\tif (command.$Intent?.name === 'AsyncTransactionThunk') {\n\t\t\t\tconst result = command.$Intent.data.result as TransactionResult | null;\n\n\t\t\t\tif (result == null) {\n\t\t\t\t\tthrow new Error('AsyncTransactionThunk has not been resolved');\n\t\t\t\t}\n\n\t\t\t\treturn getOriginalIndex(result.Result);\n\t\t\t}\n\n\t\t\tconst updated = filteredCommands.indexOf(command);\n\n\t\t\tif (updated === -1) {\n\t\t\t\tthrow new Error('Unable to find original index for command');\n\t\t\t}\n\n\t\t\treturn updated;\n\t\t}\n\n\t\tthis.#data.mapArguments((arg) => {\n\t\t\tif (arg.$kind === 'Input') {\n\t\t\t\tconst updated = orderedInputs.indexOf(unorderedInputs[arg.Input]);\n\n\t\t\t\tif (updated === -1) {\n\t\t\t\t\tthrow new Error('Input has not been resolved');\n\t\t\t\t}\n\n\t\t\t\treturn { ...arg, Input: updated };\n\t\t\t} else if (arg.$kind === 'Result') {\n\t\t\t\tconst updated = getOriginalIndex(arg.Result);\n\n\t\t\t\treturn { ...arg, Result: updated };\n\t\t\t} else if (arg.$kind === 'NestedResult') {\n\t\t\t\tconst updated = getOriginalIndex(arg.NestedResult[0]);\n\n\t\t\t\treturn { ...arg, NestedResult: [updated, arg.NestedResult[1]] };\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\n\t\tfor (const [i, cmd] of unorderedCommands.entries()) {\n\t\t\tif (cmd.$Intent?.name === 'AsyncTransactionThunk') {\n\t\t\t\ttry {\n\t\t\t\t\tcmd.$Intent.data.resultIndex = getOriginalIndex(i);\n\t\t\t\t} catch {\n\t\t\t\t\t// If async thunk did not return a result, this will error, but is safe to ignore\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tasync prepareForSerialization(options: SerializeTransactionOptions) {\n\t\tawait this.#waitForPendingTasks();\n\t\tthis.#sortCommandsAndInputs();\n\t\tconst intents = new Set<string>();\n\t\tfor (const command of this.#data.commands) {\n\t\t\tif (command.$Intent) {\n\t\t\t\tintents.add(command.$Intent.name);\n\t\t\t}\n\t\t}\n\n\t\tconst steps = [...this.#serializationPlugins];\n\n\t\tfor (const intent of intents) {\n\t\t\tif (options.supportedIntents?.includes(intent)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!this.#intentResolvers.has(intent)) {\n\t\t\t\tthrow new Error(`Missing intent resolver for ${intent}`);\n\t\t\t}\n\n\t\t\tsteps.push(this.#intentResolvers.get(intent)!);\n\t\t}\n\n\t\tsteps.push(namedPackagesPlugin());\n\n\t\tawait this.#runPlugins(steps, options);\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["result"]
7
+ }
@@ -0,0 +1,73 @@
1
+ import type { InferInput } from 'valibot';
2
+ import type { Argument, CallArg, Command, GasData, TransactionExpiration, TransactionData } from './data/internal.js';
3
+ import type { SerializedTransactionDataV1 } from './data/v1.js';
4
+ import type { SerializedTransactionDataV2Schema } from './data/v2.js';
5
+ import type { TransactionResult } from './Transaction.js';
6
+ export declare class TransactionDataBuilder implements TransactionData {
7
+ static fromKindBytes(bytes: Uint8Array): TransactionDataBuilder;
8
+ static fromBytes(bytes: Uint8Array): TransactionDataBuilder;
9
+ static restore(data: InferInput<typeof SerializedTransactionDataV2Schema> | InferInput<typeof SerializedTransactionDataV1>): TransactionDataBuilder;
10
+ /**
11
+ * Generate transaction digest.
12
+ *
13
+ * @param bytes BCS serialized transaction data
14
+ * @returns transaction digest.
15
+ */
16
+ static getDigestFromBytes(bytes: Uint8Array): string;
17
+ get gasConfig(): {
18
+ budget: string | number | null;
19
+ price: string | number | null;
20
+ owner: string | null;
21
+ payment: {
22
+ objectId: string;
23
+ version: string | number;
24
+ digest: string;
25
+ }[] | null;
26
+ };
27
+ set gasConfig(value: {
28
+ budget: string | number | null;
29
+ price: string | number | null;
30
+ owner: string | null;
31
+ payment: {
32
+ objectId: string;
33
+ version: string | number;
34
+ digest: string;
35
+ }[] | null;
36
+ });
37
+ version: 2;
38
+ sender: string | null;
39
+ expiration: TransactionExpiration | null;
40
+ gasData: GasData;
41
+ inputs: CallArg[];
42
+ commands: Command[];
43
+ constructor(clone?: TransactionData);
44
+ build({ maxSizeBytes, overrides, onlyTransactionKind, }?: {
45
+ maxSizeBytes?: number;
46
+ overrides?: {
47
+ expiration?: TransactionExpiration;
48
+ sender?: string;
49
+ gasConfig?: Partial<GasData>;
50
+ gasData?: Partial<GasData>;
51
+ };
52
+ onlyTransactionKind?: boolean;
53
+ }): Uint8Array<ArrayBuffer>;
54
+ addInput<T extends 'object' | 'pure'>(type: T, arg: CallArg): {
55
+ Input: number;
56
+ type: T;
57
+ $kind: "Input";
58
+ };
59
+ getInputUses(index: number, fn: (arg: Argument, command: Command) => void): void;
60
+ mapCommandArguments(index: number, fn: (arg: Argument, command: Command, commandIndex: number) => Argument): void;
61
+ mapArguments(fn: (arg: Argument, command: Command, commandIndex: number) => Argument): void;
62
+ replaceCommand(index: number, replacement: Command | Command[], resultIndex?: number | {
63
+ Result: number;
64
+ } | {
65
+ NestedResult: [number, number];
66
+ }): void;
67
+ replaceCommandWithTransaction(index: number, otherTransaction: TransactionData, result: TransactionResult): void;
68
+ insertTransaction(atCommandIndex: number, otherTransaction: TransactionData): void;
69
+ getDigest(): string;
70
+ snapshot(): TransactionData;
71
+ shallowClone(): TransactionDataBuilder;
72
+ applyResolvedData(resolved: TransactionData): void;
73
+ }
@@ -0,0 +1,413 @@
1
+ import { toBase58 } from "@haneullabs/bcs";
2
+ import { parse } from "valibot";
3
+ import { bcs } from "../bcs/index.js";
4
+ import { normalizeHaneulAddress } from "../utils/haneul-types.js";
5
+ import { ArgumentSchema, TransactionDataSchema } from "./data/internal.js";
6
+ import { transactionDataFromV1 } from "./data/v1.js";
7
+ import { hashTypedData } from "./hash.js";
8
+ import { getIdFromCallArg, remapCommandArguments } from "./utils.js";
9
+ function prepareHaneulAddress(address) {
10
+ return normalizeHaneulAddress(address).replace("0x", "");
11
+ }
12
+ class TransactionDataBuilder {
13
+ constructor(clone) {
14
+ this.version = 2;
15
+ this.sender = clone?.sender ?? null;
16
+ this.expiration = clone?.expiration ?? null;
17
+ this.inputs = clone?.inputs ?? [];
18
+ this.commands = clone?.commands ?? [];
19
+ this.gasData = clone?.gasData ?? {
20
+ budget: null,
21
+ price: null,
22
+ owner: null,
23
+ payment: null
24
+ };
25
+ }
26
+ static fromKindBytes(bytes) {
27
+ const kind = bcs.TransactionKind.parse(bytes);
28
+ const programmableTx = kind.ProgrammableTransaction;
29
+ if (!programmableTx) {
30
+ throw new Error("Unable to deserialize from bytes.");
31
+ }
32
+ return TransactionDataBuilder.restore({
33
+ version: 2,
34
+ sender: null,
35
+ expiration: null,
36
+ gasData: {
37
+ budget: null,
38
+ owner: null,
39
+ payment: null,
40
+ price: null
41
+ },
42
+ inputs: programmableTx.inputs,
43
+ commands: programmableTx.commands
44
+ });
45
+ }
46
+ static fromBytes(bytes) {
47
+ const rawData = bcs.TransactionData.parse(bytes);
48
+ const data = rawData?.V1;
49
+ const programmableTx = data.kind.ProgrammableTransaction;
50
+ if (!data || !programmableTx) {
51
+ throw new Error("Unable to deserialize from bytes.");
52
+ }
53
+ return TransactionDataBuilder.restore({
54
+ version: 2,
55
+ sender: data.sender,
56
+ expiration: data.expiration,
57
+ gasData: data.gasData,
58
+ inputs: programmableTx.inputs,
59
+ commands: programmableTx.commands
60
+ });
61
+ }
62
+ static restore(data) {
63
+ if (data.version === 2) {
64
+ return new TransactionDataBuilder(parse(TransactionDataSchema, data));
65
+ } else {
66
+ return new TransactionDataBuilder(parse(TransactionDataSchema, transactionDataFromV1(data)));
67
+ }
68
+ }
69
+ /**
70
+ * Generate transaction digest.
71
+ *
72
+ * @param bytes BCS serialized transaction data
73
+ * @returns transaction digest.
74
+ */
75
+ static getDigestFromBytes(bytes) {
76
+ const hash = hashTypedData("TransactionData", bytes);
77
+ return toBase58(hash);
78
+ }
79
+ // @deprecated use gasData instead
80
+ get gasConfig() {
81
+ return this.gasData;
82
+ }
83
+ // @deprecated use gasData instead
84
+ set gasConfig(value) {
85
+ this.gasData = value;
86
+ }
87
+ build({
88
+ maxSizeBytes = Infinity,
89
+ overrides,
90
+ onlyTransactionKind
91
+ } = {}) {
92
+ const inputs = this.inputs;
93
+ const commands = this.commands;
94
+ const kind = {
95
+ ProgrammableTransaction: {
96
+ inputs,
97
+ commands
98
+ }
99
+ };
100
+ if (onlyTransactionKind) {
101
+ return bcs.TransactionKind.serialize(kind, { maxSize: maxSizeBytes }).toBytes();
102
+ }
103
+ const expiration = overrides?.expiration ?? this.expiration;
104
+ const sender = overrides?.sender ?? this.sender;
105
+ const gasData = { ...this.gasData, ...overrides?.gasConfig, ...overrides?.gasData };
106
+ if (!sender) {
107
+ throw new Error("Missing transaction sender");
108
+ }
109
+ if (!gasData.budget) {
110
+ throw new Error("Missing gas budget");
111
+ }
112
+ if (!gasData.payment) {
113
+ throw new Error("Missing gas payment");
114
+ }
115
+ if (!gasData.price) {
116
+ throw new Error("Missing gas price");
117
+ }
118
+ const transactionData = {
119
+ sender: prepareHaneulAddress(sender),
120
+ expiration: expiration ? expiration : { None: true },
121
+ gasData: {
122
+ payment: gasData.payment,
123
+ owner: prepareHaneulAddress(this.gasData.owner ?? sender),
124
+ price: BigInt(gasData.price),
125
+ budget: BigInt(gasData.budget)
126
+ },
127
+ kind: {
128
+ ProgrammableTransaction: {
129
+ inputs,
130
+ commands
131
+ }
132
+ }
133
+ };
134
+ return bcs.TransactionData.serialize(
135
+ { V1: transactionData },
136
+ { maxSize: maxSizeBytes }
137
+ ).toBytes();
138
+ }
139
+ addInput(type, arg) {
140
+ const index = this.inputs.length;
141
+ this.inputs.push(arg);
142
+ return { Input: index, type, $kind: "Input" };
143
+ }
144
+ getInputUses(index, fn) {
145
+ this.mapArguments((arg, command) => {
146
+ if (arg.$kind === "Input" && arg.Input === index) {
147
+ fn(arg, command);
148
+ }
149
+ return arg;
150
+ });
151
+ }
152
+ mapCommandArguments(index, fn) {
153
+ const command = this.commands[index];
154
+ switch (command.$kind) {
155
+ case "MoveCall":
156
+ command.MoveCall.arguments = command.MoveCall.arguments.map(
157
+ (arg) => fn(arg, command, index)
158
+ );
159
+ break;
160
+ case "TransferObjects":
161
+ command.TransferObjects.objects = command.TransferObjects.objects.map(
162
+ (arg) => fn(arg, command, index)
163
+ );
164
+ command.TransferObjects.address = fn(command.TransferObjects.address, command, index);
165
+ break;
166
+ case "SplitCoins":
167
+ command.SplitCoins.coin = fn(command.SplitCoins.coin, command, index);
168
+ command.SplitCoins.amounts = command.SplitCoins.amounts.map(
169
+ (arg) => fn(arg, command, index)
170
+ );
171
+ break;
172
+ case "MergeCoins":
173
+ command.MergeCoins.destination = fn(command.MergeCoins.destination, command, index);
174
+ command.MergeCoins.sources = command.MergeCoins.sources.map(
175
+ (arg) => fn(arg, command, index)
176
+ );
177
+ break;
178
+ case "MakeMoveVec":
179
+ command.MakeMoveVec.elements = command.MakeMoveVec.elements.map(
180
+ (arg) => fn(arg, command, index)
181
+ );
182
+ break;
183
+ case "Upgrade":
184
+ command.Upgrade.ticket = fn(command.Upgrade.ticket, command, index);
185
+ break;
186
+ case "$Intent":
187
+ const inputs = command.$Intent.inputs;
188
+ command.$Intent.inputs = {};
189
+ for (const [key, value] of Object.entries(inputs)) {
190
+ command.$Intent.inputs[key] = Array.isArray(value) ? value.map((arg) => fn(arg, command, index)) : fn(value, command, index);
191
+ }
192
+ break;
193
+ case "Publish":
194
+ break;
195
+ default:
196
+ throw new Error(`Unexpected transaction kind: ${command.$kind}`);
197
+ }
198
+ }
199
+ mapArguments(fn) {
200
+ for (const commandIndex of this.commands.keys()) {
201
+ this.mapCommandArguments(commandIndex, fn);
202
+ }
203
+ }
204
+ replaceCommand(index, replacement, resultIndex = index) {
205
+ if (!Array.isArray(replacement)) {
206
+ this.commands[index] = replacement;
207
+ return;
208
+ }
209
+ const sizeDiff = replacement.length - 1;
210
+ this.commands.splice(index, 1, ...structuredClone(replacement));
211
+ this.mapArguments((arg, _command, commandIndex) => {
212
+ if (commandIndex < index + replacement.length) {
213
+ return arg;
214
+ }
215
+ if (typeof resultIndex !== "number") {
216
+ if (arg.$kind === "Result" && arg.Result === index || arg.$kind === "NestedResult" && arg.NestedResult[0] === index) {
217
+ if (!("NestedResult" in arg) || arg.NestedResult[1] === 0) {
218
+ return parse(ArgumentSchema, structuredClone(resultIndex));
219
+ } else {
220
+ throw new Error(
221
+ `Cannot replace command ${index} with a specific result type: NestedResult[${index}, ${arg.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`
222
+ );
223
+ }
224
+ }
225
+ }
226
+ switch (arg.$kind) {
227
+ case "Result":
228
+ if (arg.Result === index && typeof resultIndex === "number") {
229
+ arg.Result = resultIndex;
230
+ }
231
+ if (arg.Result > index) {
232
+ arg.Result += sizeDiff;
233
+ }
234
+ break;
235
+ case "NestedResult":
236
+ if (arg.NestedResult[0] === index && typeof resultIndex === "number") {
237
+ return {
238
+ $kind: "NestedResult",
239
+ NestedResult: [resultIndex, arg.NestedResult[1]]
240
+ };
241
+ }
242
+ if (arg.NestedResult[0] > index) {
243
+ arg.NestedResult[0] += sizeDiff;
244
+ }
245
+ break;
246
+ }
247
+ return arg;
248
+ });
249
+ }
250
+ replaceCommandWithTransaction(index, otherTransaction, result) {
251
+ if (result.$kind !== "Result" && result.$kind !== "NestedResult") {
252
+ throw new Error("Result must be of kind Result or NestedResult");
253
+ }
254
+ this.insertTransaction(index, otherTransaction);
255
+ this.replaceCommand(
256
+ index + otherTransaction.commands.length,
257
+ [],
258
+ "Result" in result ? { NestedResult: [result.Result + index, 0] } : {
259
+ NestedResult: [
260
+ result.NestedResult[0] + index,
261
+ result.NestedResult[1]
262
+ ]
263
+ }
264
+ );
265
+ }
266
+ insertTransaction(atCommandIndex, otherTransaction) {
267
+ const inputMapping = /* @__PURE__ */ new Map();
268
+ const commandMapping = /* @__PURE__ */ new Map();
269
+ for (let i = 0; i < otherTransaction.inputs.length; i++) {
270
+ const otherInput = otherTransaction.inputs[i];
271
+ const id = getIdFromCallArg(otherInput);
272
+ let existingIndex = -1;
273
+ if (id !== void 0) {
274
+ existingIndex = this.inputs.findIndex((input) => getIdFromCallArg(input) === id);
275
+ if (existingIndex !== -1 && this.inputs[existingIndex].Object?.SharedObject && otherInput.Object?.SharedObject) {
276
+ this.inputs[existingIndex].Object.SharedObject.mutable = this.inputs[existingIndex].Object.SharedObject.mutable || otherInput.Object.SharedObject.mutable;
277
+ }
278
+ }
279
+ if (existingIndex !== -1) {
280
+ inputMapping.set(i, existingIndex);
281
+ } else {
282
+ const newIndex = this.inputs.length;
283
+ this.inputs.push(otherInput);
284
+ inputMapping.set(i, newIndex);
285
+ }
286
+ }
287
+ for (let i = 0; i < otherTransaction.commands.length; i++) {
288
+ commandMapping.set(i, atCommandIndex + i);
289
+ }
290
+ const remappedCommands = [];
291
+ for (let i = 0; i < otherTransaction.commands.length; i++) {
292
+ const command = structuredClone(otherTransaction.commands[i]);
293
+ remapCommandArguments(command, inputMapping, commandMapping);
294
+ remappedCommands.push(command);
295
+ }
296
+ this.commands.splice(atCommandIndex, 0, ...remappedCommands);
297
+ const sizeDiff = remappedCommands.length;
298
+ if (sizeDiff > 0) {
299
+ this.mapArguments((arg, _command, commandIndex) => {
300
+ if (commandIndex >= atCommandIndex && commandIndex < atCommandIndex + remappedCommands.length) {
301
+ return arg;
302
+ }
303
+ switch (arg.$kind) {
304
+ case "Result":
305
+ if (arg.Result >= atCommandIndex) {
306
+ arg.Result += sizeDiff;
307
+ }
308
+ break;
309
+ case "NestedResult":
310
+ if (arg.NestedResult[0] >= atCommandIndex) {
311
+ arg.NestedResult[0] += sizeDiff;
312
+ }
313
+ break;
314
+ }
315
+ return arg;
316
+ });
317
+ }
318
+ }
319
+ getDigest() {
320
+ const bytes = this.build({ onlyTransactionKind: false });
321
+ return TransactionDataBuilder.getDigestFromBytes(bytes);
322
+ }
323
+ snapshot() {
324
+ return parse(TransactionDataSchema, this);
325
+ }
326
+ shallowClone() {
327
+ return new TransactionDataBuilder({
328
+ version: this.version,
329
+ sender: this.sender,
330
+ expiration: this.expiration,
331
+ gasData: {
332
+ ...this.gasData
333
+ },
334
+ inputs: [...this.inputs],
335
+ commands: [...this.commands]
336
+ });
337
+ }
338
+ applyResolvedData(resolved) {
339
+ if (!this.sender) {
340
+ this.sender = resolved.sender ?? null;
341
+ }
342
+ if (!this.expiration) {
343
+ this.expiration = resolved.expiration ?? null;
344
+ }
345
+ if (!this.gasData.budget) {
346
+ this.gasData.budget = resolved.gasData.budget;
347
+ }
348
+ if (!this.gasData.owner) {
349
+ this.gasData.owner = resolved.gasData.owner ?? null;
350
+ }
351
+ if (!this.gasData.payment) {
352
+ this.gasData.payment = resolved.gasData.payment;
353
+ }
354
+ if (!this.gasData.price) {
355
+ this.gasData.price = resolved.gasData.price;
356
+ }
357
+ for (let i = 0; i < this.inputs.length; i++) {
358
+ const input = this.inputs[i];
359
+ const resolvedInput = resolved.inputs[i];
360
+ switch (input.$kind) {
361
+ case "UnresolvedPure":
362
+ if (resolvedInput.$kind !== "Pure") {
363
+ throw new Error(
364
+ `Expected input at index ${i} to resolve to a Pure argument, but got ${JSON.stringify(
365
+ resolvedInput
366
+ )}`
367
+ );
368
+ }
369
+ this.inputs[i] = resolvedInput;
370
+ break;
371
+ case "UnresolvedObject":
372
+ if (resolvedInput.$kind !== "Object") {
373
+ throw new Error(
374
+ `Expected input at index ${i} to resolve to an Object argument, but got ${JSON.stringify(
375
+ resolvedInput
376
+ )}`
377
+ );
378
+ }
379
+ if (resolvedInput.Object.$kind === "ImmOrOwnedObject" || resolvedInput.Object.$kind === "Receiving") {
380
+ const original = input.UnresolvedObject;
381
+ const resolved2 = resolvedInput.Object.ImmOrOwnedObject ?? resolvedInput.Object.Receiving;
382
+ if (normalizeHaneulAddress(original.objectId) !== normalizeHaneulAddress(resolved2.objectId) || original.version != null && original.version !== resolved2.version || original.digest != null && original.digest !== resolved2.digest || // Objects with shared object properties should not resolve to owned objects
383
+ original.mutable != null || original.initialSharedVersion != null) {
384
+ throw new Error(
385
+ `Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved2)}`
386
+ );
387
+ }
388
+ } else if (resolvedInput.Object.$kind === "SharedObject") {
389
+ const original = input.UnresolvedObject;
390
+ const resolved2 = resolvedInput.Object.SharedObject;
391
+ if (normalizeHaneulAddress(original.objectId) !== normalizeHaneulAddress(resolved2.objectId) || original.initialSharedVersion != null && original.initialSharedVersion !== resolved2.initialSharedVersion || original.mutable != null && original.mutable !== resolved2.mutable || // Objects with owned object properties should not resolve to shared objects
392
+ original.version != null || original.digest != null) {
393
+ throw new Error(
394
+ `Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved2)}`
395
+ );
396
+ }
397
+ } else {
398
+ throw new Error(
399
+ `Input at index ${i} resolved to an unexpected Object kind: ${JSON.stringify(
400
+ resolvedInput.Object
401
+ )}`
402
+ );
403
+ }
404
+ this.inputs[i] = resolvedInput;
405
+ break;
406
+ }
407
+ }
408
+ }
409
+ }
410
+ export {
411
+ TransactionDataBuilder
412
+ };
413
+ //# sourceMappingURL=TransactionData.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/transactions/TransactionData.ts"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { toBase58 } from '@haneullabs/bcs';\nimport type { InferInput } from 'valibot';\nimport { parse } from 'valibot';\n\nimport { bcs } from '../bcs/index.js';\nimport { normalizeHaneulAddress } from '../utils/haneul-types.js';\nimport type {\n\tArgument,\n\tCallArg,\n\tCommand,\n\tGasData,\n\tTransactionExpiration,\n\tTransactionData,\n} from './data/internal.js';\nimport { ArgumentSchema, TransactionDataSchema } from './data/internal.js';\nimport { transactionDataFromV1 } from './data/v1.js';\nimport type { SerializedTransactionDataV1 } from './data/v1.js';\nimport type { SerializedTransactionDataV2Schema } from './data/v2.js';\nimport { hashTypedData } from './hash.js';\nimport { getIdFromCallArg, remapCommandArguments } from './utils.js';\nimport type { TransactionResult } from './Transaction.js';\nfunction prepareHaneulAddress(address: string) {\n\treturn normalizeHaneulAddress(address).replace('0x', '');\n}\n\nexport class TransactionDataBuilder implements TransactionData {\n\tstatic fromKindBytes(bytes: Uint8Array) {\n\t\tconst kind = bcs.TransactionKind.parse(bytes);\n\n\t\tconst programmableTx = kind.ProgrammableTransaction;\n\t\tif (!programmableTx) {\n\t\t\tthrow new Error('Unable to deserialize from bytes.');\n\t\t}\n\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: null,\n\t\t\texpiration: null,\n\t\t\tgasData: {\n\t\t\t\tbudget: null,\n\t\t\t\towner: null,\n\t\t\t\tpayment: null,\n\t\t\t\tprice: null,\n\t\t\t},\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands,\n\t\t});\n\t}\n\n\tstatic fromBytes(bytes: Uint8Array) {\n\t\tconst rawData = bcs.TransactionData.parse(bytes);\n\t\tconst data = rawData?.V1;\n\t\tconst programmableTx = data.kind.ProgrammableTransaction;\n\n\t\tif (!data || !programmableTx) {\n\t\t\tthrow new Error('Unable to deserialize from bytes.');\n\t\t}\n\n\t\treturn TransactionDataBuilder.restore({\n\t\t\tversion: 2,\n\t\t\tsender: data.sender,\n\t\t\texpiration: data.expiration,\n\t\t\tgasData: data.gasData,\n\t\t\tinputs: programmableTx.inputs,\n\t\t\tcommands: programmableTx.commands,\n\t\t});\n\t}\n\n\tstatic restore(\n\t\tdata:\n\t\t\t| InferInput<typeof SerializedTransactionDataV2Schema>\n\t\t\t| InferInput<typeof SerializedTransactionDataV1>,\n\t) {\n\t\tif (data.version === 2) {\n\t\t\treturn new TransactionDataBuilder(parse(TransactionDataSchema, data));\n\t\t} else {\n\t\t\treturn new TransactionDataBuilder(parse(TransactionDataSchema, transactionDataFromV1(data)));\n\t\t}\n\t}\n\n\t/**\n\t * Generate transaction digest.\n\t *\n\t * @param bytes BCS serialized transaction data\n\t * @returns transaction digest.\n\t */\n\tstatic getDigestFromBytes(bytes: Uint8Array) {\n\t\tconst hash = hashTypedData('TransactionData', bytes);\n\t\treturn toBase58(hash);\n\t}\n\n\t// @deprecated use gasData instead\n\tget gasConfig() {\n\t\treturn this.gasData;\n\t}\n\t// @deprecated use gasData instead\n\tset gasConfig(value) {\n\t\tthis.gasData = value;\n\t}\n\n\tversion = 2 as const;\n\tsender: string | null;\n\texpiration: TransactionExpiration | null;\n\tgasData: GasData;\n\tinputs: CallArg[];\n\tcommands: Command[];\n\n\tconstructor(clone?: TransactionData) {\n\t\tthis.sender = clone?.sender ?? null;\n\t\tthis.expiration = clone?.expiration ?? null;\n\t\tthis.inputs = clone?.inputs ?? [];\n\t\tthis.commands = clone?.commands ?? [];\n\t\tthis.gasData = clone?.gasData ?? {\n\t\t\tbudget: null,\n\t\t\tprice: null,\n\t\t\towner: null,\n\t\t\tpayment: null,\n\t\t};\n\t}\n\n\tbuild({\n\t\tmaxSizeBytes = Infinity,\n\t\toverrides,\n\t\tonlyTransactionKind,\n\t}: {\n\t\tmaxSizeBytes?: number;\n\t\toverrides?: {\n\t\t\texpiration?: TransactionExpiration;\n\t\t\tsender?: string;\n\t\t\t// @deprecated use gasData instead\n\t\t\tgasConfig?: Partial<GasData>;\n\t\t\tgasData?: Partial<GasData>;\n\t\t};\n\t\tonlyTransactionKind?: boolean;\n\t} = {}) {\n\t\t// TODO validate that inputs and intents are actually resolved\n\t\tconst inputs = this.inputs as (typeof bcs.CallArg.$inferInput)[];\n\t\tconst commands = this.commands as Extract<\n\t\t\tCommand<Exclude<Argument, { IntentResult: unknown } | { NestedIntentResult: unknown }>>,\n\t\t\t{ Upgrade: unknown }\n\t\t>[];\n\n\t\tconst kind = {\n\t\t\tProgrammableTransaction: {\n\t\t\t\tinputs,\n\t\t\t\tcommands,\n\t\t\t},\n\t\t};\n\n\t\tif (onlyTransactionKind) {\n\t\t\treturn bcs.TransactionKind.serialize(kind, { maxSize: maxSizeBytes }).toBytes();\n\t\t}\n\n\t\tconst expiration = overrides?.expiration ?? this.expiration;\n\t\tconst sender = overrides?.sender ?? this.sender;\n\t\tconst gasData = { ...this.gasData, ...overrides?.gasConfig, ...overrides?.gasData };\n\n\t\tif (!sender) {\n\t\t\tthrow new Error('Missing transaction sender');\n\t\t}\n\n\t\tif (!gasData.budget) {\n\t\t\tthrow new Error('Missing gas budget');\n\t\t}\n\n\t\tif (!gasData.payment) {\n\t\t\tthrow new Error('Missing gas payment');\n\t\t}\n\n\t\tif (!gasData.price) {\n\t\t\tthrow new Error('Missing gas price');\n\t\t}\n\n\t\tconst transactionData = {\n\t\t\tsender: prepareHaneulAddress(sender),\n\t\t\texpiration: expiration ? expiration : { None: true },\n\t\t\tgasData: {\n\t\t\t\tpayment: gasData.payment,\n\t\t\t\towner: prepareHaneulAddress(this.gasData.owner ?? sender),\n\t\t\t\tprice: BigInt(gasData.price),\n\t\t\t\tbudget: BigInt(gasData.budget),\n\t\t\t},\n\t\t\tkind: {\n\t\t\t\tProgrammableTransaction: {\n\t\t\t\t\tinputs,\n\t\t\t\t\tcommands,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn bcs.TransactionData.serialize(\n\t\t\t{ V1: transactionData },\n\t\t\t{ maxSize: maxSizeBytes },\n\t\t).toBytes();\n\t}\n\n\taddInput<T extends 'object' | 'pure'>(type: T, arg: CallArg) {\n\t\tconst index = this.inputs.length;\n\t\tthis.inputs.push(arg);\n\t\treturn { Input: index, type, $kind: 'Input' as const };\n\t}\n\n\tgetInputUses(index: number, fn: (arg: Argument, command: Command) => void) {\n\t\tthis.mapArguments((arg, command) => {\n\t\t\tif (arg.$kind === 'Input' && arg.Input === index) {\n\t\t\t\tfn(arg, command);\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\t}\n\n\tmapCommandArguments(\n\t\tindex: number,\n\t\tfn: (arg: Argument, command: Command, commandIndex: number) => Argument,\n\t) {\n\t\tconst command = this.commands[index];\n\n\t\tswitch (command.$kind) {\n\t\t\tcase 'MoveCall':\n\t\t\t\tcommand.MoveCall.arguments = command.MoveCall.arguments.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'TransferObjects':\n\t\t\t\tcommand.TransferObjects.objects = command.TransferObjects.objects.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tcommand.TransferObjects.address = fn(command.TransferObjects.address, command, index);\n\t\t\t\tbreak;\n\t\t\tcase 'SplitCoins':\n\t\t\t\tcommand.SplitCoins.coin = fn(command.SplitCoins.coin, command, index);\n\t\t\t\tcommand.SplitCoins.amounts = command.SplitCoins.amounts.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'MergeCoins':\n\t\t\t\tcommand.MergeCoins.destination = fn(command.MergeCoins.destination, command, index);\n\t\t\t\tcommand.MergeCoins.sources = command.MergeCoins.sources.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'MakeMoveVec':\n\t\t\t\tcommand.MakeMoveVec.elements = command.MakeMoveVec.elements.map((arg) =>\n\t\t\t\t\tfn(arg, command, index),\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Upgrade':\n\t\t\t\tcommand.Upgrade.ticket = fn(command.Upgrade.ticket, command, index);\n\t\t\t\tbreak;\n\t\t\tcase '$Intent':\n\t\t\t\tconst inputs = command.$Intent.inputs;\n\t\t\t\tcommand.$Intent.inputs = {};\n\n\t\t\t\tfor (const [key, value] of Object.entries(inputs)) {\n\t\t\t\t\tcommand.$Intent.inputs[key] = Array.isArray(value)\n\t\t\t\t\t\t? value.map((arg) => fn(arg, command, index))\n\t\t\t\t\t\t: fn(value, command, index);\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'Publish':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unexpected transaction kind: ${(command as { $kind: unknown }).$kind}`);\n\t\t}\n\t}\n\n\tmapArguments(fn: (arg: Argument, command: Command, commandIndex: number) => Argument) {\n\t\tfor (const commandIndex of this.commands.keys()) {\n\t\t\tthis.mapCommandArguments(commandIndex, fn);\n\t\t}\n\t}\n\n\treplaceCommand(\n\t\tindex: number,\n\t\treplacement: Command | Command[],\n\t\tresultIndex: number | { Result: number } | { NestedResult: [number, number] } = index,\n\t) {\n\t\tif (!Array.isArray(replacement)) {\n\t\t\tthis.commands[index] = replacement;\n\t\t\treturn;\n\t\t}\n\n\t\tconst sizeDiff = replacement.length - 1;\n\n\t\tthis.commands.splice(index, 1, ...structuredClone(replacement));\n\n\t\tthis.mapArguments((arg, _command, commandIndex) => {\n\t\t\tif (commandIndex < index + replacement.length) {\n\t\t\t\treturn arg;\n\t\t\t}\n\n\t\t\tif (typeof resultIndex !== 'number') {\n\t\t\t\tif (\n\t\t\t\t\t(arg.$kind === 'Result' && arg.Result === index) ||\n\t\t\t\t\t(arg.$kind === 'NestedResult' && arg.NestedResult[0] === index)\n\t\t\t\t) {\n\t\t\t\t\tif (!('NestedResult' in arg) || arg.NestedResult[1] === 0) {\n\t\t\t\t\t\treturn parse(ArgumentSchema, structuredClone(resultIndex));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Cannot replace command ${index} with a specific result type: NestedResult[${index}, ${arg.NestedResult[1]}] references a nested element that cannot be mapped to the replacement result`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Handle adjustment of other references\n\t\t\tswitch (arg.$kind) {\n\t\t\t\tcase 'Result':\n\t\t\t\t\tif (arg.Result === index && typeof resultIndex === 'number') {\n\t\t\t\t\t\targ.Result = resultIndex;\n\t\t\t\t\t}\n\t\t\t\t\tif (arg.Result > index) {\n\t\t\t\t\t\targ.Result += sizeDiff;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'NestedResult':\n\t\t\t\t\tif (arg.NestedResult[0] === index && typeof resultIndex === 'number') {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t$kind: 'NestedResult',\n\t\t\t\t\t\t\tNestedResult: [resultIndex, arg.NestedResult[1]],\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tif (arg.NestedResult[0] > index) {\n\t\t\t\t\t\targ.NestedResult[0] += sizeDiff;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn arg;\n\t\t});\n\t}\n\n\treplaceCommandWithTransaction(\n\t\tindex: number,\n\t\totherTransaction: TransactionData,\n\t\tresult: TransactionResult,\n\t) {\n\t\tif (result.$kind !== 'Result' && result.$kind !== 'NestedResult') {\n\t\t\tthrow new Error('Result must be of kind Result or NestedResult');\n\t\t}\n\n\t\tthis.insertTransaction(index, otherTransaction);\n\n\t\tthis.replaceCommand(\n\t\t\tindex + otherTransaction.commands.length,\n\t\t\t[],\n\t\t\t'Result' in result\n\t\t\t\t? { NestedResult: [result.Result + index, 0] }\n\t\t\t\t: {\n\t\t\t\t\t\tNestedResult: [\n\t\t\t\t\t\t\t(result as { NestedResult: [number, number] }).NestedResult[0] + index,\n\t\t\t\t\t\t\t(result as { NestedResult: [number, number] }).NestedResult[1],\n\t\t\t\t\t\t] as [number, number],\n\t\t\t\t\t},\n\t\t);\n\t}\n\n\tinsertTransaction(atCommandIndex: number, otherTransaction: TransactionData) {\n\t\tconst inputMapping = new Map<number, number>();\n\t\tconst commandMapping = new Map<number, number>();\n\n\t\tfor (let i = 0; i < otherTransaction.inputs.length; i++) {\n\t\t\tconst otherInput = otherTransaction.inputs[i];\n\t\t\tconst id = getIdFromCallArg(otherInput);\n\n\t\t\tlet existingIndex = -1;\n\t\t\tif (id !== undefined) {\n\t\t\t\texistingIndex = this.inputs.findIndex((input) => getIdFromCallArg(input) === id);\n\n\t\t\t\tif (\n\t\t\t\t\texistingIndex !== -1 &&\n\t\t\t\t\tthis.inputs[existingIndex].Object?.SharedObject &&\n\t\t\t\t\totherInput.Object?.SharedObject\n\t\t\t\t) {\n\t\t\t\t\tthis.inputs[existingIndex].Object!.SharedObject!.mutable =\n\t\t\t\t\t\tthis.inputs[existingIndex].Object!.SharedObject!.mutable ||\n\t\t\t\t\t\totherInput.Object.SharedObject.mutable;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (existingIndex !== -1) {\n\t\t\t\tinputMapping.set(i, existingIndex);\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.inputs.length;\n\t\t\t\tthis.inputs.push(otherInput);\n\t\t\t\tinputMapping.set(i, newIndex);\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < otherTransaction.commands.length; i++) {\n\t\t\tcommandMapping.set(i, atCommandIndex + i);\n\t\t}\n\n\t\tconst remappedCommands: Command[] = [];\n\t\tfor (let i = 0; i < otherTransaction.commands.length; i++) {\n\t\t\tconst command = structuredClone(otherTransaction.commands[i]);\n\n\t\t\tremapCommandArguments(command, inputMapping, commandMapping);\n\n\t\t\tremappedCommands.push(command);\n\t\t}\n\n\t\tthis.commands.splice(atCommandIndex, 0, ...remappedCommands);\n\n\t\tconst sizeDiff = remappedCommands.length;\n\t\tif (sizeDiff > 0) {\n\t\t\tthis.mapArguments((arg, _command, commandIndex) => {\n\t\t\t\tif (\n\t\t\t\t\tcommandIndex >= atCommandIndex &&\n\t\t\t\t\tcommandIndex < atCommandIndex + remappedCommands.length\n\t\t\t\t) {\n\t\t\t\t\treturn arg;\n\t\t\t\t}\n\n\t\t\t\tswitch (arg.$kind) {\n\t\t\t\t\tcase 'Result':\n\t\t\t\t\t\tif (arg.Result >= atCommandIndex) {\n\t\t\t\t\t\t\targ.Result += sizeDiff;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'NestedResult':\n\t\t\t\t\t\tif (arg.NestedResult[0] >= atCommandIndex) {\n\t\t\t\t\t\t\targ.NestedResult[0] += sizeDiff;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn arg;\n\t\t\t});\n\t\t}\n\t}\n\n\tgetDigest() {\n\t\tconst bytes = this.build({ onlyTransactionKind: false });\n\t\treturn TransactionDataBuilder.getDigestFromBytes(bytes);\n\t}\n\n\tsnapshot(): TransactionData {\n\t\treturn parse(TransactionDataSchema, this);\n\t}\n\n\tshallowClone() {\n\t\treturn new TransactionDataBuilder({\n\t\t\tversion: this.version,\n\t\t\tsender: this.sender,\n\t\t\texpiration: this.expiration,\n\t\t\tgasData: {\n\t\t\t\t...this.gasData,\n\t\t\t},\n\t\t\tinputs: [...this.inputs],\n\t\t\tcommands: [...this.commands],\n\t\t});\n\t}\n\n\tapplyResolvedData(resolved: TransactionData) {\n\t\tif (!this.sender) {\n\t\t\tthis.sender = resolved.sender ?? null;\n\t\t}\n\n\t\tif (!this.expiration) {\n\t\t\tthis.expiration = resolved.expiration ?? null;\n\t\t}\n\n\t\tif (!this.gasData.budget) {\n\t\t\tthis.gasData.budget = resolved.gasData.budget;\n\t\t}\n\n\t\tif (!this.gasData.owner) {\n\t\t\tthis.gasData.owner = resolved.gasData.owner ?? null;\n\t\t}\n\n\t\tif (!this.gasData.payment) {\n\t\t\tthis.gasData.payment = resolved.gasData.payment;\n\t\t}\n\n\t\tif (!this.gasData.price) {\n\t\t\tthis.gasData.price = resolved.gasData.price;\n\t\t}\n\n\t\tfor (let i = 0; i < this.inputs.length; i++) {\n\t\t\tconst input = this.inputs[i];\n\t\t\tconst resolvedInput = resolved.inputs[i];\n\n\t\t\tswitch (input.$kind) {\n\t\t\t\tcase 'UnresolvedPure':\n\t\t\t\t\tif (resolvedInput.$kind !== 'Pure') {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Expected input at index ${i} to resolve to a Pure argument, but got ${JSON.stringify(\n\t\t\t\t\t\t\t\tresolvedInput,\n\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tthis.inputs[i] = resolvedInput;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'UnresolvedObject':\n\t\t\t\t\tif (resolvedInput.$kind !== 'Object') {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Expected input at index ${i} to resolve to an Object argument, but got ${JSON.stringify(\n\t\t\t\t\t\t\t\tresolvedInput,\n\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tresolvedInput.Object.$kind === 'ImmOrOwnedObject' ||\n\t\t\t\t\t\tresolvedInput.Object.$kind === 'Receiving'\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst original = input.UnresolvedObject;\n\t\t\t\t\t\tconst resolved =\n\t\t\t\t\t\t\tresolvedInput.Object.ImmOrOwnedObject ?? resolvedInput.Object.Receiving!;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnormalizeHaneulAddress(original.objectId) !== normalizeHaneulAddress(resolved.objectId) ||\n\t\t\t\t\t\t\t(original.version != null && original.version !== resolved.version) ||\n\t\t\t\t\t\t\t(original.digest != null && original.digest !== resolved.digest) ||\n\t\t\t\t\t\t\t// Objects with shared object properties should not resolve to owned objects\n\t\t\t\t\t\t\toriginal.mutable != null ||\n\t\t\t\t\t\t\toriginal.initialSharedVersion != null\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved)}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (resolvedInput.Object.$kind === 'SharedObject') {\n\t\t\t\t\t\tconst original = input.UnresolvedObject;\n\t\t\t\t\t\tconst resolved = resolvedInput.Object.SharedObject;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnormalizeHaneulAddress(original.objectId) !== normalizeHaneulAddress(resolved.objectId) ||\n\t\t\t\t\t\t\t(original.initialSharedVersion != null &&\n\t\t\t\t\t\t\t\toriginal.initialSharedVersion !== resolved.initialSharedVersion) ||\n\t\t\t\t\t\t\t(original.mutable != null && original.mutable !== resolved.mutable) ||\n\t\t\t\t\t\t\t// Objects with owned object properties should not resolve to shared objects\n\t\t\t\t\t\t\toriginal.version != null ||\n\t\t\t\t\t\t\toriginal.digest != null\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t`Input at index ${i} did not match unresolved object. ${JSON.stringify(original)} is not compatible with ${JSON.stringify(resolved)}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Input at index ${i} resolved to an unexpected Object kind: ${JSON.stringify(\n\t\t\t\t\t\t\t\tresolvedInput.Object,\n\t\t\t\t\t\t\t)}`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.inputs[i] = resolvedInput;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["resolved"]
7
+ }