viem 2.7.22 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/_cjs/accounts/utils/sign.js +1 -0
  3. package/_cjs/accounts/utils/sign.js.map +1 -1
  4. package/_cjs/accounts/utils/signTransaction.js +11 -2
  5. package/_cjs/accounts/utils/signTransaction.js.map +1 -1
  6. package/_cjs/actions/index.js +4 -2
  7. package/_cjs/actions/index.js.map +1 -1
  8. package/_cjs/actions/public/call.js +3 -1
  9. package/_cjs/actions/public/call.js.map +1 -1
  10. package/_cjs/actions/public/estimateGas.js +3 -1
  11. package/_cjs/actions/public/estimateGas.js.map +1 -1
  12. package/_cjs/actions/public/getBlobBaseFee.js +11 -0
  13. package/_cjs/actions/public/getBlobBaseFee.js.map +1 -0
  14. package/_cjs/actions/public/watchBlockNumber.js +34 -26
  15. package/_cjs/actions/public/watchBlockNumber.js.map +1 -1
  16. package/_cjs/actions/wallet/prepareTransactionRequest.js +11 -2
  17. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  18. package/_cjs/actions/wallet/sendRawTransaction.js.map +1 -1
  19. package/_cjs/actions/wallet/sendTransaction.js +13 -11
  20. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  21. package/_cjs/actions/wallet/signTransaction.js +7 -6
  22. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  23. package/_cjs/chains/celo/serializers.js +10 -15
  24. package/_cjs/chains/celo/serializers.js.map +1 -1
  25. package/_cjs/chains/definitions/plumeTestnet.js +30 -0
  26. package/_cjs/chains/definitions/plumeTestnet.js.map +1 -0
  27. package/_cjs/chains/definitions/rss3.js +49 -0
  28. package/_cjs/chains/definitions/rss3.js.map +1 -0
  29. package/_cjs/chains/definitions/rss3Sepolia.js +50 -0
  30. package/_cjs/chains/definitions/rss3Sepolia.js.map +1 -0
  31. package/_cjs/chains/index.js +9 -3
  32. package/_cjs/chains/index.js.map +1 -1
  33. package/_cjs/chains/opStack/actions/estimateL1Fee.js +1 -10
  34. package/_cjs/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  35. package/_cjs/chains/opStack/actions/estimateL1Gas.js +1 -10
  36. package/_cjs/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  37. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  38. package/_cjs/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  39. package/_cjs/chains/opStack/actions/proveWithdrawal.js +1 -1
  40. package/_cjs/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  41. package/_cjs/chains/opStack/serializers.js +3 -3
  42. package/_cjs/chains/opStack/serializers.js.map +1 -1
  43. package/_cjs/chains/zksync/actions/sendTransaction.js.map +1 -1
  44. package/_cjs/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  45. package/_cjs/chains/zksync/serializers.js +6 -6
  46. package/_cjs/chains/zksync/serializers.js.map +1 -1
  47. package/_cjs/clients/decorators/public.js.map +1 -1
  48. package/_cjs/clients/decorators/wallet.js.map +1 -1
  49. package/_cjs/constants/blob.js +11 -0
  50. package/_cjs/constants/blob.js.map +1 -0
  51. package/_cjs/constants/kzg.js +7 -0
  52. package/_cjs/constants/kzg.js.map +1 -0
  53. package/_cjs/errors/blob.js +63 -0
  54. package/_cjs/errors/blob.js.map +1 -0
  55. package/_cjs/errors/transaction.js +1 -0
  56. package/_cjs/errors/transaction.js.map +1 -1
  57. package/_cjs/errors/version.js +1 -1
  58. package/_cjs/errors/version.js.map +1 -1
  59. package/_cjs/index.js +22 -2
  60. package/_cjs/index.js.map +1 -1
  61. package/_cjs/node/index.js +3 -1
  62. package/_cjs/node/index.js.map +1 -1
  63. package/_cjs/node/trustedSetups.js +7 -0
  64. package/_cjs/node/trustedSetups.js.map +1 -0
  65. package/_cjs/types/eip4844.js +3 -0
  66. package/_cjs/types/eip4844.js.map +1 -0
  67. package/_cjs/types/kzg.js +3 -0
  68. package/_cjs/types/kzg.js.map +1 -0
  69. package/_cjs/utils/blob/blobsToCommitments.js +20 -0
  70. package/_cjs/utils/blob/blobsToCommitments.js.map +1 -0
  71. package/_cjs/utils/blob/blobsToProofs.js +26 -0
  72. package/_cjs/utils/blob/blobsToProofs.js.map +1 -0
  73. package/_cjs/utils/blob/commitmentToVersionedHash.js +14 -0
  74. package/_cjs/utils/blob/commitmentToVersionedHash.js.map +1 -0
  75. package/_cjs/utils/blob/commitmentsToVersionedHashes.js +19 -0
  76. package/_cjs/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  77. package/_cjs/utils/blob/fromBlobs.js +36 -0
  78. package/_cjs/utils/blob/fromBlobs.js.map +1 -0
  79. package/_cjs/utils/blob/sidecarsToVersionedHashes.js +19 -0
  80. package/_cjs/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  81. package/_cjs/utils/blob/toBlobSidecars.js +22 -0
  82. package/_cjs/utils/blob/toBlobSidecars.js.map +1 -0
  83. package/_cjs/utils/blob/toBlobs.js +48 -0
  84. package/_cjs/utils/blob/toBlobs.js.map +1 -0
  85. package/_cjs/utils/encoding/toRlp.js.map +1 -1
  86. package/_cjs/utils/formatters/transaction.js.map +1 -1
  87. package/_cjs/utils/formatters/transactionRequest.js +22 -25
  88. package/_cjs/utils/formatters/transactionRequest.js.map +1 -1
  89. package/_cjs/utils/kzg/defineKzg.js +11 -0
  90. package/_cjs/utils/kzg/defineKzg.js.map +1 -0
  91. package/_cjs/utils/kzg/setupKzg.js +17 -0
  92. package/_cjs/utils/kzg/setupKzg.js.map +1 -0
  93. package/_cjs/utils/signature/compactSignatureToSignature.js +3 -3
  94. package/_cjs/utils/signature/compactSignatureToSignature.js.map +1 -1
  95. package/_cjs/utils/signature/hexToSignature.js +6 -1
  96. package/_cjs/utils/signature/hexToSignature.js.map +1 -1
  97. package/_cjs/utils/signature/signatureToCompactSignature.js +3 -3
  98. package/_cjs/utils/signature/signatureToCompactSignature.js.map +1 -1
  99. package/_cjs/utils/signature/signatureToHex.js +9 -3
  100. package/_cjs/utils/signature/signatureToHex.js.map +1 -1
  101. package/_cjs/utils/transaction/assertTransaction.js +26 -1
  102. package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
  103. package/_cjs/utils/transaction/getSerializedTransactionType.js +2 -0
  104. package/_cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  105. package/_cjs/utils/transaction/getTransactionType.js +7 -1
  106. package/_cjs/utils/transaction/getTransactionType.js.map +1 -1
  107. package/_cjs/utils/transaction/parseTransaction.js +73 -0
  108. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  109. package/_cjs/utils/transaction/serializeAccessList.js.map +1 -1
  110. package/_cjs/utils/transaction/serializeTransaction.js +84 -21
  111. package/_cjs/utils/transaction/serializeTransaction.js.map +1 -1
  112. package/_esm/accounts/utils/sign.js +1 -0
  113. package/_esm/accounts/utils/sign.js.map +1 -1
  114. package/_esm/accounts/utils/signTransaction.js +13 -2
  115. package/_esm/accounts/utils/signTransaction.js.map +1 -1
  116. package/_esm/actions/index.js +1 -0
  117. package/_esm/actions/index.js.map +1 -1
  118. package/_esm/actions/public/call.js +3 -1
  119. package/_esm/actions/public/call.js.map +1 -1
  120. package/_esm/actions/public/estimateGas.js +3 -1
  121. package/_esm/actions/public/estimateGas.js.map +1 -1
  122. package/_esm/actions/public/getBlobBaseFee.js +27 -0
  123. package/_esm/actions/public/getBlobBaseFee.js.map +1 -0
  124. package/_esm/actions/public/watchBlockNumber.js +34 -26
  125. package/_esm/actions/public/watchBlockNumber.js.map +1 -1
  126. package/_esm/actions/wallet/prepareTransactionRequest.js +12 -2
  127. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  128. package/_esm/actions/wallet/sendRawTransaction.js.map +1 -1
  129. package/_esm/actions/wallet/sendTransaction.js +13 -11
  130. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  131. package/_esm/actions/wallet/signTransaction.js +6 -5
  132. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  133. package/_esm/chains/celo/serializers.js +10 -17
  134. package/_esm/chains/celo/serializers.js.map +1 -1
  135. package/_esm/chains/definitions/plumeTestnet.js +27 -0
  136. package/_esm/chains/definitions/plumeTestnet.js.map +1 -0
  137. package/_esm/chains/definitions/rss3.js +46 -0
  138. package/_esm/chains/definitions/rss3.js.map +1 -0
  139. package/_esm/chains/definitions/rss3Sepolia.js +47 -0
  140. package/_esm/chains/definitions/rss3Sepolia.js.map +1 -0
  141. package/_esm/chains/index.js +3 -0
  142. package/_esm/chains/index.js.map +1 -1
  143. package/_esm/chains/opStack/actions/estimateL1Fee.js +1 -10
  144. package/_esm/chains/opStack/actions/estimateL1Fee.js.map +1 -1
  145. package/_esm/chains/opStack/actions/estimateL1Gas.js +1 -10
  146. package/_esm/chains/opStack/actions/estimateL1Gas.js.map +1 -1
  147. package/_esm/chains/opStack/actions/finalizeWithdrawal.js +1 -1
  148. package/_esm/chains/opStack/actions/finalizeWithdrawal.js.map +1 -1
  149. package/_esm/chains/opStack/actions/proveWithdrawal.js +1 -1
  150. package/_esm/chains/opStack/actions/proveWithdrawal.js.map +1 -1
  151. package/_esm/chains/opStack/serializers.js +2 -2
  152. package/_esm/chains/opStack/serializers.js.map +1 -1
  153. package/_esm/chains/zksync/actions/sendTransaction.js.map +1 -1
  154. package/_esm/chains/zksync/actions/signEip712Transaction.js.map +1 -1
  155. package/_esm/chains/zksync/serializers.js +6 -6
  156. package/_esm/chains/zksync/serializers.js.map +1 -1
  157. package/_esm/clients/decorators/public.js.map +1 -1
  158. package/_esm/clients/decorators/wallet.js.map +1 -1
  159. package/_esm/constants/blob.js +16 -0
  160. package/_esm/constants/blob.js.map +1 -0
  161. package/_esm/constants/kzg.js +7 -0
  162. package/_esm/constants/kzg.js.map +1 -0
  163. package/_esm/errors/blob.js +56 -0
  164. package/_esm/errors/blob.js.map +1 -0
  165. package/_esm/errors/transaction.js +1 -0
  166. package/_esm/errors/transaction.js.map +1 -1
  167. package/_esm/errors/version.js +1 -1
  168. package/_esm/errors/version.js.map +1 -1
  169. package/_esm/index.js +10 -0
  170. package/_esm/index.js.map +1 -1
  171. package/_esm/node/index.js +1 -0
  172. package/_esm/node/index.js.map +1 -1
  173. package/_esm/node/trustedSetups.js +4 -0
  174. package/_esm/node/trustedSetups.js.map +1 -0
  175. package/_esm/types/eip4844.js +2 -0
  176. package/_esm/types/eip4844.js.map +1 -0
  177. package/_esm/types/kzg.js +2 -0
  178. package/_esm/types/kzg.js.map +1 -0
  179. package/_esm/utils/blob/blobsToCommitments.js +28 -0
  180. package/_esm/utils/blob/blobsToCommitments.js.map +1 -0
  181. package/_esm/utils/blob/blobsToProofs.js +38 -0
  182. package/_esm/utils/blob/blobsToProofs.js.map +1 -0
  183. package/_esm/utils/blob/commitmentToVersionedHash.js +27 -0
  184. package/_esm/utils/blob/commitmentToVersionedHash.js.map +1 -0
  185. package/_esm/utils/blob/commitmentsToVersionedHashes.js +32 -0
  186. package/_esm/utils/blob/commitmentsToVersionedHashes.js.map +1 -0
  187. package/_esm/utils/blob/fromBlobs.js +33 -0
  188. package/_esm/utils/blob/fromBlobs.js.map +1 -0
  189. package/_esm/utils/blob/sidecarsToVersionedHashes.js +26 -0
  190. package/_esm/utils/blob/sidecarsToVersionedHashes.js.map +1 -0
  191. package/_esm/utils/blob/toBlobSidecars.js +45 -0
  192. package/_esm/utils/blob/toBlobSidecars.js.map +1 -0
  193. package/_esm/utils/blob/toBlobs.js +58 -0
  194. package/_esm/utils/blob/toBlobs.js.map +1 -0
  195. package/_esm/utils/encoding/toRlp.js.map +1 -1
  196. package/_esm/utils/formatters/transaction.js.map +1 -1
  197. package/_esm/utils/formatters/transactionRequest.js +23 -26
  198. package/_esm/utils/formatters/transactionRequest.js.map +1 -1
  199. package/_esm/utils/kzg/defineKzg.js +21 -0
  200. package/_esm/utils/kzg/defineKzg.js.map +1 -0
  201. package/_esm/utils/kzg/setupKzg.js +25 -0
  202. package/_esm/utils/kzg/setupKzg.js.map +1 -0
  203. package/_esm/utils/signature/compactSignatureToSignature.js +3 -3
  204. package/_esm/utils/signature/compactSignatureToSignature.js.map +1 -1
  205. package/_esm/utils/signature/hexToSignature.js +6 -1
  206. package/_esm/utils/signature/hexToSignature.js.map +1 -1
  207. package/_esm/utils/signature/signatureToCompactSignature.js +4 -4
  208. package/_esm/utils/signature/signatureToCompactSignature.js.map +1 -1
  209. package/_esm/utils/signature/signatureToHex.js +11 -4
  210. package/_esm/utils/signature/signatureToHex.js.map +1 -1
  211. package/_esm/utils/transaction/assertTransaction.js +24 -0
  212. package/_esm/utils/transaction/assertTransaction.js.map +1 -1
  213. package/_esm/utils/transaction/getSerializedTransactionType.js +2 -0
  214. package/_esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
  215. package/_esm/utils/transaction/getTransactionType.js +7 -1
  216. package/_esm/utils/transaction/getTransactionType.js.map +1 -1
  217. package/_esm/utils/transaction/parseTransaction.js +74 -1
  218. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  219. package/_esm/utils/transaction/serializeAccessList.js.map +1 -1
  220. package/_esm/utils/transaction/serializeTransaction.js +85 -22
  221. package/_esm/utils/transaction/serializeTransaction.js.map +1 -1
  222. package/_types/accounts/types.d.ts +3 -3
  223. package/_types/accounts/types.d.ts.map +1 -1
  224. package/_types/accounts/utils/sign.d.ts.map +1 -1
  225. package/_types/accounts/utils/signTransaction.d.ts +5 -5
  226. package/_types/accounts/utils/signTransaction.d.ts.map +1 -1
  227. package/_types/actions/index.d.ts +1 -0
  228. package/_types/actions/index.d.ts.map +1 -1
  229. package/_types/actions/public/call.d.ts.map +1 -1
  230. package/_types/actions/public/estimateGas.d.ts.map +1 -1
  231. package/_types/actions/public/getBlobBaseFee.d.ts +30 -0
  232. package/_types/actions/public/getBlobBaseFee.d.ts.map +1 -0
  233. package/_types/actions/public/watchBlockNumber.d.ts.map +1 -1
  234. package/_types/actions/wallet/prepareTransactionRequest.d.ts +27 -8
  235. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  236. package/_types/actions/wallet/sendRawTransaction.d.ts +3 -5
  237. package/_types/actions/wallet/sendRawTransaction.d.ts.map +1 -1
  238. package/_types/actions/wallet/sendTransaction.d.ts +4 -2
  239. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  240. package/_types/actions/wallet/signTransaction.d.ts +5 -2
  241. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  242. package/_types/chains/celo/chainConfig.d.ts +1282 -376
  243. package/_types/chains/celo/chainConfig.d.ts.map +1 -1
  244. package/_types/chains/celo/formatters.d.ts +1282 -376
  245. package/_types/chains/celo/formatters.d.ts.map +1 -1
  246. package/_types/chains/celo/serializers.d.ts +3 -4
  247. package/_types/chains/celo/serializers.d.ts.map +1 -1
  248. package/_types/chains/celo/types.d.ts +3 -8
  249. package/_types/chains/celo/types.d.ts.map +1 -1
  250. package/_types/chains/definitions/ancient8.d.ts +452 -188
  251. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  252. package/_types/chains/definitions/ancient8Sepolia.d.ts +452 -188
  253. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  254. package/_types/chains/definitions/base.d.ts +452 -188
  255. package/_types/chains/definitions/base.d.ts.map +1 -1
  256. package/_types/chains/definitions/baseGoerli.d.ts +452 -188
  257. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  258. package/_types/chains/definitions/baseSepolia.d.ts +452 -188
  259. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  260. package/_types/chains/definitions/celo.d.ts +1282 -376
  261. package/_types/chains/definitions/celo.d.ts.map +1 -1
  262. package/_types/chains/definitions/celoAlfajores.d.ts +1282 -376
  263. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  264. package/_types/chains/definitions/fraxtal.d.ts +452 -188
  265. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  266. package/_types/chains/definitions/fraxtalTestnet.d.ts +452 -188
  267. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  268. package/_types/chains/definitions/liskSepolia.d.ts +452 -188
  269. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  270. package/_types/chains/definitions/optimism.d.ts +452 -188
  271. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  272. package/_types/chains/definitions/optimismGoerli.d.ts +452 -188
  273. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  274. package/_types/chains/definitions/optimismSepolia.d.ts +452 -188
  275. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  276. package/_types/chains/definitions/pgn.d.ts +451 -187
  277. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  278. package/_types/chains/definitions/pgnTestnet.d.ts +451 -187
  279. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  280. package/_types/chains/definitions/plumeTestnet.d.ts +37 -0
  281. package/_types/chains/definitions/plumeTestnet.d.ts.map +1 -0
  282. package/_types/chains/definitions/rss3.d.ts +1080 -0
  283. package/_types/chains/definitions/rss3.d.ts.map +1 -0
  284. package/_types/chains/definitions/rss3Sepolia.d.ts +1080 -0
  285. package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -0
  286. package/_types/chains/definitions/zkSync.d.ts +692 -32
  287. package/_types/chains/definitions/zkSync.d.ts.map +1 -1
  288. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +692 -32
  289. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts.map +1 -1
  290. package/_types/chains/definitions/zkSyncTestnet.d.ts +692 -32
  291. package/_types/chains/definitions/zkSyncTestnet.d.ts.map +1 -1
  292. package/_types/chains/definitions/zora.d.ts +452 -188
  293. package/_types/chains/definitions/zora.d.ts.map +1 -1
  294. package/_types/chains/definitions/zoraSepolia.d.ts +452 -188
  295. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  296. package/_types/chains/definitions/zoraTestnet.d.ts +452 -188
  297. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  298. package/_types/chains/index.d.ts +4 -1
  299. package/_types/chains/index.d.ts.map +1 -1
  300. package/_types/chains/opStack/actions/estimateL1Fee.d.ts.map +1 -1
  301. package/_types/chains/opStack/actions/estimateL1Gas.d.ts.map +1 -1
  302. package/_types/chains/opStack/actions/finalizeWithdrawal.d.ts.map +1 -1
  303. package/_types/chains/opStack/actions/proveWithdrawal.d.ts.map +1 -1
  304. package/_types/chains/opStack/chainConfig.d.ts +452 -188
  305. package/_types/chains/opStack/chainConfig.d.ts.map +1 -1
  306. package/_types/chains/opStack/formatters.d.ts +451 -187
  307. package/_types/chains/opStack/formatters.d.ts.map +1 -1
  308. package/_types/chains/opStack/serializers.d.ts +4 -3
  309. package/_types/chains/opStack/serializers.d.ts.map +1 -1
  310. package/_types/chains/opStack/types/transaction.d.ts +4 -8
  311. package/_types/chains/opStack/types/transaction.d.ts.map +1 -1
  312. package/_types/chains/zksync/actions/sendTransaction.d.ts.map +1 -1
  313. package/_types/chains/zksync/chainConfig.d.ts +692 -32
  314. package/_types/chains/zksync/chainConfig.d.ts.map +1 -1
  315. package/_types/chains/zksync/formatters.d.ts +692 -32
  316. package/_types/chains/zksync/formatters.d.ts.map +1 -1
  317. package/_types/chains/zksync/serializers.d.ts +3 -3
  318. package/_types/chains/zksync/serializers.d.ts.map +1 -1
  319. package/_types/chains/zksync/types/chain.d.ts +2 -2
  320. package/_types/chains/zksync/types/chain.d.ts.map +1 -1
  321. package/_types/chains/zksync/types/eip712.d.ts +2 -2
  322. package/_types/chains/zksync/types/eip712.d.ts.map +1 -1
  323. package/_types/clients/decorators/public.d.ts +2 -2
  324. package/_types/clients/decorators/public.d.ts.map +1 -1
  325. package/_types/clients/decorators/wallet.d.ts +4 -4
  326. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  327. package/_types/constants/blob.d.ts +11 -0
  328. package/_types/constants/blob.d.ts.map +1 -0
  329. package/_types/constants/kzg.d.ts +6 -0
  330. package/_types/constants/kzg.d.ts.map +1 -0
  331. package/_types/errors/blob.d.ts +40 -0
  332. package/_types/errors/blob.d.ts.map +1 -0
  333. package/_types/errors/transaction.d.ts.map +1 -1
  334. package/_types/errors/version.d.ts +1 -1
  335. package/_types/errors/version.d.ts.map +1 -1
  336. package/_types/index.d.ts +11 -0
  337. package/_types/index.d.ts.map +1 -1
  338. package/_types/node/index.d.ts +1 -0
  339. package/_types/node/index.d.ts.map +1 -1
  340. package/_types/node/trustedSetups.d.ts +3 -0
  341. package/_types/node/trustedSetups.d.ts.map +1 -0
  342. package/_types/types/account.d.ts +3 -3
  343. package/_types/types/account.d.ts.map +1 -1
  344. package/_types/types/chain.d.ts +2 -2
  345. package/_types/types/chain.d.ts.map +1 -1
  346. package/_types/types/eip1193.d.ts +3 -3
  347. package/_types/types/eip1193.d.ts.map +1 -1
  348. package/_types/types/eip4844.d.ts +11 -0
  349. package/_types/types/eip4844.d.ts.map +1 -0
  350. package/_types/types/fee.d.ts +2 -2
  351. package/_types/types/fee.d.ts.map +1 -1
  352. package/_types/types/kzg.d.ts +24 -0
  353. package/_types/types/kzg.d.ts.map +1 -0
  354. package/_types/types/misc.d.ts +15 -1
  355. package/_types/types/misc.d.ts.map +1 -1
  356. package/_types/types/rpc.d.ts +4 -4
  357. package/_types/types/rpc.d.ts.map +1 -1
  358. package/_types/types/transaction.d.ts +44 -9
  359. package/_types/types/transaction.d.ts.map +1 -1
  360. package/_types/types/utils.d.ts +38 -2
  361. package/_types/types/utils.d.ts.map +1 -1
  362. package/_types/utils/blob/blobsToCommitments.d.ts +31 -0
  363. package/_types/utils/blob/blobsToCommitments.d.ts.map +1 -0
  364. package/_types/utils/blob/blobsToProofs.d.ts +37 -0
  365. package/_types/utils/blob/blobsToProofs.d.ts.map +1 -0
  366. package/_types/utils/blob/commitmentToVersionedHash.d.ts +35 -0
  367. package/_types/utils/blob/commitmentToVersionedHash.d.ts.map +1 -0
  368. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts +34 -0
  369. package/_types/utils/blob/commitmentsToVersionedHashes.d.ts.map +1 -0
  370. package/_types/utils/blob/fromBlobs.d.ts +16 -0
  371. package/_types/utils/blob/fromBlobs.d.ts.map +1 -0
  372. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts +29 -0
  373. package/_types/utils/blob/sidecarsToVersionedHashes.d.ts.map +1 -0
  374. package/_types/utils/blob/toBlobSidecars.d.ts +57 -0
  375. package/_types/utils/blob/toBlobSidecars.d.ts.map +1 -0
  376. package/_types/utils/blob/toBlobs.d.ts +28 -0
  377. package/_types/utils/blob/toBlobs.d.ts.map +1 -0
  378. package/_types/utils/encoding/toRlp.d.ts +1 -1
  379. package/_types/utils/encoding/toRlp.d.ts.map +1 -1
  380. package/_types/utils/formatters/transaction.d.ts +25 -25
  381. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  382. package/_types/utils/formatters/transactionRequest.d.ts +227 -3
  383. package/_types/utils/formatters/transactionRequest.d.ts.map +1 -1
  384. package/_types/utils/kzg/defineKzg.d.ts +21 -0
  385. package/_types/utils/kzg/defineKzg.d.ts.map +1 -0
  386. package/_types/utils/kzg/setupKzg.d.ts +21 -0
  387. package/_types/utils/kzg/setupKzg.d.ts.map +1 -0
  388. package/_types/utils/signature/hexToSignature.d.ts.map +1 -1
  389. package/_types/utils/signature/signatureToCompactSignature.d.ts +1 -1
  390. package/_types/utils/signature/signatureToHex.d.ts +2 -2
  391. package/_types/utils/signature/signatureToHex.d.ts.map +1 -1
  392. package/_types/utils/transaction/assertTransaction.d.ts +4 -1
  393. package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
  394. package/_types/utils/transaction/getSerializedTransactionType.d.ts +5 -3
  395. package/_types/utils/transaction/getSerializedTransactionType.d.ts.map +1 -1
  396. package/_types/utils/transaction/getTransactionType.d.ts +34 -3
  397. package/_types/utils/transaction/getTransactionType.d.ts.map +1 -1
  398. package/_types/utils/transaction/parseTransaction.d.ts +7 -5
  399. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  400. package/_types/utils/transaction/serializeTransaction.d.ts +13 -6
  401. package/_types/utils/transaction/serializeTransaction.d.ts.map +1 -1
  402. package/accounts/types.ts +9 -5
  403. package/accounts/utils/sign.ts +1 -0
  404. package/accounts/utils/signTransaction.ts +37 -22
  405. package/actions/index.ts +5 -0
  406. package/actions/public/call.ts +4 -0
  407. package/actions/public/estimateGas.ts +4 -0
  408. package/actions/public/getBlobBaseFee.ts +42 -0
  409. package/actions/public/watchBlockNumber.ts +33 -23
  410. package/actions/wallet/prepareTransactionRequest.ts +134 -61
  411. package/actions/wallet/sendRawTransaction.ts +3 -5
  412. package/actions/wallet/sendTransaction.ts +41 -31
  413. package/actions/wallet/signTransaction.ts +34 -18
  414. package/chains/celo/serializers.ts +12 -25
  415. package/chains/celo/types.ts +5 -10
  416. package/chains/definitions/plumeTestnet.ts +28 -0
  417. package/chains/definitions/rss3.ts +47 -0
  418. package/chains/definitions/rss3Sepolia.ts +48 -0
  419. package/chains/index.ts +3 -1
  420. package/chains/opStack/actions/estimateL1Fee.ts +12 -16
  421. package/chains/opStack/actions/estimateL1Gas.ts +12 -16
  422. package/chains/opStack/actions/finalizeWithdrawal.ts +3 -2
  423. package/chains/opStack/actions/proveWithdrawal.ts +3 -2
  424. package/chains/opStack/serializers.ts +5 -5
  425. package/chains/opStack/types/transaction.ts +9 -11
  426. package/chains/zksync/actions/sendTransaction.ts +2 -1
  427. package/chains/zksync/actions/signEip712Transaction.ts +2 -2
  428. package/chains/zksync/serializers.ts +14 -10
  429. package/chains/zksync/types/chain.ts +4 -7
  430. package/chains/zksync/types/eip712.ts +2 -2
  431. package/clients/decorators/public.ts +8 -4
  432. package/clients/decorators/wallet.ts +14 -6
  433. package/constants/blob.ts +21 -0
  434. package/constants/kzg.ts +9 -0
  435. package/errors/blob.ts +67 -0
  436. package/errors/transaction.ts +1 -0
  437. package/errors/version.ts +1 -1
  438. package/index.ts +64 -0
  439. package/node/index.ts +2 -0
  440. package/node/trustedSetups.ts +11 -0
  441. package/package.json +1 -1
  442. package/trusted-setups/mainnet.json +8265 -0
  443. package/trusted-setups/minimal.json +8265 -0
  444. package/types/account.ts +3 -3
  445. package/types/chain.ts +3 -1
  446. package/types/eip1193.ts +3 -3
  447. package/types/eip4844.ts +12 -0
  448. package/types/fee.ts +3 -2
  449. package/types/kzg.ts +32 -0
  450. package/types/misc.ts +20 -1
  451. package/types/rpc.ts +11 -6
  452. package/types/transaction.ts +75 -17
  453. package/types/utils.ts +49 -1
  454. package/utils/blob/blobsToCommitments.ts +69 -0
  455. package/utils/blob/blobsToProofs.ts +93 -0
  456. package/utils/blob/commitmentToVersionedHash.ts +62 -0
  457. package/utils/blob/commitmentsToVersionedHashes.ts +71 -0
  458. package/utils/blob/fromBlobs.ts +73 -0
  459. package/utils/blob/sidecarsToVersionedHashes.ts +66 -0
  460. package/utils/blob/toBlobSidecars.ts +109 -0
  461. package/utils/blob/toBlobs.ts +113 -0
  462. package/utils/encoding/toRlp.ts +2 -2
  463. package/utils/formatters/transaction.ts +3 -2
  464. package/utils/formatters/transactionRequest.ts +28 -35
  465. package/utils/kzg/defineKzg.ts +30 -0
  466. package/utils/kzg/setupKzg.ts +38 -0
  467. package/utils/signature/compactSignatureToSignature.ts +3 -3
  468. package/utils/signature/hexToSignature.ts +6 -1
  469. package/utils/signature/signatureToCompactSignature.ts +4 -4
  470. package/utils/signature/signatureToHex.ts +9 -4
  471. package/utils/transaction/assertTransaction.ts +41 -0
  472. package/utils/transaction/getSerializedTransactionType.ts +34 -11
  473. package/utils/transaction/getTransactionType.ts +109 -26
  474. package/utils/transaction/parseTransaction.ts +128 -8
  475. package/utils/transaction/serializeAccessList.ts +1 -1
  476. package/utils/transaction/serializeTransaction.ts +172 -39
@@ -0,0 +1,28 @@
1
+ import { defineChain } from '../../utils/chain/defineChain.js'
2
+
3
+ const sourceId = 11_155_111 // sepolia
4
+
5
+ export const plumeTestnet = /*#__PURE__*/ defineChain({
6
+ id: 161_221_135,
7
+ name: 'Plume Testnet',
8
+ nativeCurrency: {
9
+ name: 'Plume Sepolia Ether',
10
+ symbol: 'ETH',
11
+ decimals: 18,
12
+ },
13
+ rpcUrls: {
14
+ default: {
15
+ http: ['https://plume-testnet.rpc.caldera.xyz/http'],
16
+ webSocket: ['wss://plume-testnet.rpc.caldera.xyz/ws'],
17
+ },
18
+ },
19
+ blockExplorers: {
20
+ default: {
21
+ name: 'Blockscout',
22
+ url: 'https://plume-testnet.explorer.caldera.xyz',
23
+ apiUrl: 'https://plume-testnet.explorer.caldera.xyz/api',
24
+ },
25
+ },
26
+ testnet: true,
27
+ sourceId,
28
+ })
@@ -0,0 +1,47 @@
1
+ import { defineChain } from '../../utils/chain/defineChain.js'
2
+ import { chainConfig } from '../opStack/chainConfig.js'
3
+
4
+ const sourceId = 1 // mainnet
5
+
6
+ export const rss3 = /*#__PURE__*/ defineChain({
7
+ ...chainConfig,
8
+ id: 12_553,
9
+ name: 'RSS3 VSL Mainnet',
10
+ nativeCurrency: { name: 'RSS3', symbol: 'RSS3', decimals: 18 },
11
+ rpcUrls: {
12
+ default: {
13
+ http: ['https://rpc.rss3.io'],
14
+ },
15
+ },
16
+ blockExplorers: {
17
+ default: {
18
+ name: 'RSS3 VSL Mainnet Scan',
19
+ url: 'https://scan.rss3.io',
20
+ apiUrl: 'https://scan.rss3.io/api',
21
+ },
22
+ },
23
+ contracts: {
24
+ ...chainConfig.contracts,
25
+ l2OutputOracle: {
26
+ [sourceId]: {
27
+ address: '0xE6f24d2C32B3109B18ed33cF08eFb490b1e09C10',
28
+ },
29
+ },
30
+ multicall3: {
31
+ address: '0xca11bde05977b3631167028862be2a173976ca11',
32
+ blockCreated: 14193,
33
+ },
34
+ portal: {
35
+ [sourceId]: {
36
+ address: '0x6A12432491bbbE8d3babf75F759766774C778Db4',
37
+ blockCreated: 19387057,
38
+ },
39
+ },
40
+ l1StandardBridge: {
41
+ [sourceId]: {
42
+ address: '0x4cbab69108Aa72151EDa5A3c164eA86845f18438',
43
+ },
44
+ },
45
+ },
46
+ sourceId,
47
+ })
@@ -0,0 +1,48 @@
1
+ import { defineChain } from '../../utils/chain/defineChain.js'
2
+ import { chainConfig } from '../opStack/chainConfig.js'
3
+
4
+ const sourceId = 11_155_111 // sepolia
5
+
6
+ export const rss3Sepolia = /*#__PURE__*/ defineChain({
7
+ ...chainConfig,
8
+ id: 2_331,
9
+ name: 'RSS3 VSL Sepolia Testnet',
10
+ nativeCurrency: { name: 'RSS3', symbol: 'RSS3', decimals: 18 },
11
+ rpcUrls: {
12
+ default: {
13
+ http: ['https://rpc.testnet.rss3.io'],
14
+ },
15
+ },
16
+ blockExplorers: {
17
+ default: {
18
+ name: 'RSS3 VSL Sepolia Testnet Scan',
19
+ url: 'https://scan.testnet.rss3.io',
20
+ apiUrl: 'https://scan.testnet.rss3.io/api',
21
+ },
22
+ },
23
+ contracts: {
24
+ ...chainConfig.contracts,
25
+ l2OutputOracle: {
26
+ [sourceId]: {
27
+ address: '0xDb5c46C3Eaa6Ed6aE8b2379785DF7dd029C0dC81',
28
+ },
29
+ },
30
+ multicall3: {
31
+ address: '0xca11bde05977b3631167028862be2a173976ca11',
32
+ blockCreated: 55697,
33
+ },
34
+ portal: {
35
+ [sourceId]: {
36
+ address: '0xcBD77E8E1E7F06B25baDe67142cdE82652Da7b57',
37
+ blockCreated: 5345035,
38
+ },
39
+ },
40
+ l1StandardBridge: {
41
+ [sourceId]: {
42
+ address: '0xdDD29bb63B0839FB1cE0eE439Ff027738595D07B',
43
+ },
44
+ },
45
+ },
46
+ testnet: true,
47
+ sourceId,
48
+ })
package/chains/index.ts CHANGED
@@ -150,6 +150,7 @@ export { pgn } from './definitions/pgn.js'
150
150
  export { pgnTestnet } from './definitions/pgnTestnet.js'
151
151
  export { phoenix } from './definitions/phoenix.js'
152
152
  export { plinga } from './definitions/plinga.js'
153
+ export { plumeTestnet } from './definitions/plumeTestnet.js'
153
154
  export { polygon } from './definitions/polygon.js'
154
155
  export { polygonAmoy } from './definitions/polygonAmoy.js'
155
156
  export { polygonMumbai } from './definitions/polygonMumbai.js'
@@ -163,6 +164,8 @@ export { rollux } from './definitions/rollux.js'
163
164
  export { rolluxTestnet } from './definitions/rolluxTestnet.js'
164
165
  export { ronin } from './definitions/ronin.js'
165
166
  export { rootstock } from './definitions/rootstock.js'
167
+ export { rss3 } from './definitions/rss3.js'
168
+ export { rss3Sepolia } from './definitions/rss3Sepolia.js'
166
169
  export { saigon } from './definitions/saigon.js'
167
170
  export { sapphire } from './definitions/sapphire.js'
168
171
  export { sapphireTestnet } from './definitions/sapphireTestnet.js'
@@ -245,7 +248,6 @@ export type {
245
248
  CeloTransactionRequest,
246
249
  CeloTransactionType,
247
250
  CeloTransactionSerializable,
248
- CeloTransactionSerializableBase,
249
251
  CeloTransactionSerialized,
250
252
  RpcTransactionCIP42,
251
253
  RpcTransactionCIP64,
@@ -1,6 +1,5 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import { getChainId } from '../../../actions/public/getChainId.js'
4
3
  import {
5
4
  type ReadContractErrorType,
6
5
  readContract,
@@ -15,12 +14,16 @@ import type { Transport } from '../../../clients/transports/createTransport.js'
15
14
  import type { ErrorType } from '../../../errors/utils.js'
16
15
  import type { Account, GetAccountParameter } from '../../../types/account.js'
17
16
  import { type Chain, type GetChainParameter } from '../../../types/chain.js'
18
- import type { TransactionRequestEIP1559 } from '../../../types/transaction.js'
17
+ import type {
18
+ TransactionRequestEIP1559,
19
+ TransactionSerializable,
20
+ } from '../../../types/transaction.js'
19
21
  import type { RequestErrorType } from '../../../utils/buildRequest.js'
20
22
  import { getChainContractAddress } from '../../../utils/chain/getChainContractAddress.js'
21
23
  import { type HexToNumberErrorType } from '../../../utils/encoding/fromHex.js'
22
24
  import {
23
25
  type AssertRequestErrorType,
26
+ type AssertRequestParameters,
24
27
  assertRequest,
25
28
  } from '../../../utils/transaction/assertRequest.js'
26
29
  import {
@@ -98,29 +101,22 @@ export async function estimateL1Fee<
98
101
  })()
99
102
 
100
103
  // Populate transaction with required fields to accurately estimate gas.
101
- const [request, chainId] = await Promise.all([
102
- prepareTransactionRequest(
103
- client,
104
- args as PrepareTransactionRequestParameters,
105
- ),
106
- (async () => {
107
- if (chain) return chain.id
108
- return getChainId(client)
109
- })(),
110
- ])
104
+ const request = await prepareTransactionRequest(
105
+ client,
106
+ args as PrepareTransactionRequestParameters,
107
+ )
111
108
 
112
- assertRequest(request)
109
+ assertRequest(request as AssertRequestParameters)
113
110
 
114
111
  const transaction = serializeTransaction({
115
112
  ...request,
116
- chainId,
117
113
  type: 'eip1559',
118
- })
114
+ } as TransactionSerializable)
119
115
 
120
116
  return readContract(client, {
121
117
  abi: gasPriceOracleAbi,
122
118
  address: gasPriceOracleAddress,
123
119
  functionName: 'getL1Fee',
124
- args: [transaction],
120
+ args: [transaction as any],
125
121
  })
126
122
  }
@@ -1,6 +1,5 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
- import { getChainId } from '../../../actions/public/getChainId.js'
4
3
  import {
5
4
  type ReadContractErrorType,
6
5
  readContract,
@@ -15,12 +14,16 @@ import type { Transport } from '../../../clients/transports/createTransport.js'
15
14
  import type { ErrorType } from '../../../errors/utils.js'
16
15
  import type { Account, GetAccountParameter } from '../../../types/account.js'
17
16
  import { type Chain, type GetChainParameter } from '../../../types/chain.js'
18
- import type { TransactionRequestEIP1559 } from '../../../types/transaction.js'
17
+ import type {
18
+ TransactionRequestEIP1559,
19
+ TransactionSerializable,
20
+ } from '../../../types/transaction.js'
19
21
  import type { RequestErrorType } from '../../../utils/buildRequest.js'
20
22
  import { getChainContractAddress } from '../../../utils/chain/getChainContractAddress.js'
21
23
  import { type HexToNumberErrorType } from '../../../utils/encoding/fromHex.js'
22
24
  import {
23
25
  type AssertRequestErrorType,
26
+ type AssertRequestParameters,
24
27
  assertRequest,
25
28
  } from '../../../utils/transaction/assertRequest.js'
26
29
  import {
@@ -98,29 +101,22 @@ export async function estimateL1Gas<
98
101
  })()
99
102
 
100
103
  // Populate transaction with required fields to accurately estimate gas.
101
- const [request, chainId] = await Promise.all([
102
- prepareTransactionRequest(
103
- client,
104
- args as PrepareTransactionRequestParameters,
105
- ),
106
- (async () => {
107
- if (chain) return chain.id
108
- return getChainId(client)
109
- })(),
110
- ])
104
+ const request = await prepareTransactionRequest(
105
+ client,
106
+ args as PrepareTransactionRequestParameters,
107
+ )
111
108
 
112
- assertRequest(request)
109
+ assertRequest(request as AssertRequestParameters)
113
110
 
114
111
  const transaction = serializeTransaction({
115
112
  ...request,
116
- chainId,
117
113
  type: 'eip1559',
118
- })
114
+ } as TransactionSerializable)
119
115
 
120
116
  return readContract(client, {
121
117
  abi: gasPriceOracleAbi,
122
118
  address: gasPriceOracleAddress,
123
119
  functionName: 'getL1GasUsed',
124
- args: [transaction],
120
+ args: [transaction as any],
125
121
  })
126
122
  }
@@ -1,6 +1,7 @@
1
1
  import type { Address } from 'abitype'
2
2
  import {
3
3
  type WriteContractErrorType,
4
+ type WriteContractParameters,
4
5
  writeContract,
5
6
  } from '../../../actions/wallet/writeContract.js'
6
7
  import type { Client } from '../../../clients/createClient.js'
@@ -116,7 +117,7 @@ export async function finalizeWithdrawal<
116
117
  : undefined
117
118
 
118
119
  return writeContract(client, {
119
- account,
120
+ account: account!,
120
121
  abi: portalAbi,
121
122
  address: portalAddress,
122
123
  chain,
@@ -126,5 +127,5 @@ export async function finalizeWithdrawal<
126
127
  maxFeePerGas,
127
128
  maxPriorityFeePerGas,
128
129
  nonce,
129
- })
130
+ } satisfies WriteContractParameters as any)
130
131
  }
@@ -1,6 +1,7 @@
1
1
  import type { Address } from 'abitype'
2
2
  import {
3
3
  type WriteContractErrorType,
4
+ type WriteContractParameters,
4
5
  writeContract,
5
6
  } from '../../../actions/wallet/writeContract.js'
6
7
  import type { Client } from '../../../clients/createClient.js'
@@ -137,7 +138,7 @@ export async function proveWithdrawal<
137
138
  : gas ?? undefined
138
139
 
139
140
  return writeContract(client, {
140
- account,
141
+ account: account!,
141
142
  abi: portalAbi,
142
143
  address: portalAddress,
143
144
  chain,
@@ -147,5 +148,5 @@ export async function proveWithdrawal<
147
148
  maxFeePerGas,
148
149
  maxPriorityFeePerGas,
149
150
  nonce,
150
- })
151
+ } satisfies WriteContractParameters as any)
151
152
  }
@@ -1,7 +1,7 @@
1
1
  import { InvalidAddressError } from '../../errors/address.js'
2
2
  import type { ErrorType } from '../../errors/utils.js'
3
3
  import type { ChainSerializers } from '../../types/chain.js'
4
- import type { Hex } from '../../types/misc.js'
4
+ import type { Hex, Signature } from '../../types/misc.js'
5
5
  import type { TransactionSerializable } from '../../types/transaction.js'
6
6
  import type { RequiredBy } from '../../types/utils.js'
7
7
  import { isAddress } from '../../utils/address/isAddress.js'
@@ -10,7 +10,6 @@ import { toHex } from '../../utils/encoding/toHex.js'
10
10
  import { toRlp } from '../../utils/encoding/toRlp.js'
11
11
  import {
12
12
  type SerializeTransactionErrorType as SerializeTransactionErrorType_,
13
- type SerializeTransactionFn,
14
13
  serializeTransaction as serializeTransaction_,
15
14
  } from '../../utils/transaction/serializeTransaction.js'
16
15
  import type {
@@ -27,9 +26,10 @@ export type SerializeTransactionErrorType =
27
26
  | SerializeTransactionErrorType_
28
27
  | ErrorType
29
28
 
30
- export const serializeTransaction: SerializeTransactionFn<
31
- OpStackTransactionSerializable
32
- > = (transaction, signature) => {
29
+ export function serializeTransaction(
30
+ transaction: OpStackTransactionSerializable,
31
+ signature?: Signature,
32
+ ) {
33
33
  if (isDeposit(transaction)) return serializeTransactionDeposit(transaction)
34
34
  return serializeTransaction_(
35
35
  transaction as TransactionSerializable,
@@ -15,7 +15,7 @@ import type {
15
15
  TransactionSerialized,
16
16
  TransactionType,
17
17
  } from '../../../types/transaction.js'
18
- import type { RequiredBy } from '../../../types/utils.js'
18
+ import type { OneOf } from '../../../types/utils.js'
19
19
 
20
20
  type RpcTransaction<TPending extends boolean = boolean> =
21
21
  RpcTransaction_<TPending> & {
@@ -77,17 +77,15 @@ export type OpStackTransactionReceiptOverrides = {
77
77
  export type OpStackTransactionReceipt = TransactionReceipt &
78
78
  OpStackTransactionReceiptOverrides
79
79
 
80
- export type OpStackTransactionSerializable =
81
- | RequiredBy<TransactionSerializableDeposit, 'type'>
82
- | (TransactionSerializable & {
83
- isSystemTx?: undefined
84
- mint?: undefined
85
- sourceHash?: undefined
86
- })
80
+ export type OpStackTransactionSerializable = OneOf<
81
+ TransactionSerializableDeposit | TransactionSerializable
82
+ >
87
83
 
88
84
  export type OpStackTransactionSerialized<
89
- TType extends OpStackTransactionType = 'legacy',
90
- > = TransactionSerialized<TType> | TransactionSerializedDeposit
85
+ TType extends OpStackTransactionType = OpStackTransactionType,
86
+ > = TType extends 'deposit'
87
+ ? TransactionSerializedDeposit
88
+ : TransactionSerialized<TType>
91
89
 
92
90
  export type OpStackTransactionType = TransactionType | 'deposit'
93
91
 
@@ -102,7 +100,7 @@ export type TransactionSerializableDeposit<
102
100
  isSystemTx?: boolean
103
101
  mint?: bigint
104
102
  sourceHash: Hex
105
- type?: 'deposit'
103
+ type: 'deposit'
106
104
  }
107
105
 
108
106
  export type TransactionSerializedDeposit = `0x7e${string}`
@@ -73,6 +73,7 @@ export async function sendTransaction<
73
73
  client: Client<Transport, TChain, TAccount>,
74
74
  args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
75
75
  ): Promise<SendTransactionReturnType> {
76
- if (isEIP712Transaction(args)) return sendEip712Transaction(client, args)
76
+ if (isEIP712Transaction(args as any))
77
+ return sendEip712Transaction(client, args)
77
78
  return sendTransaction_(client, args)
78
79
  }
@@ -143,8 +143,8 @@ export async function signEip712Transaction<
143
143
  chainId,
144
144
  ...transaction,
145
145
  customSignature,
146
- type: 'eip712',
146
+ type: 'eip712' as any,
147
147
  },
148
148
  { r: '0x0', s: '0x0', v: 0n },
149
- )
149
+ ) as SignEip712TransactionReturnType
150
150
  }
@@ -1,12 +1,10 @@
1
+ import type { Signature } from '../../index.js'
1
2
  import type { ChainSerializers } from '../../types/chain.js'
2
3
  import type { TransactionSerializable } from '../../types/transaction.js'
3
4
  import { concatHex } from '../../utils/data/concat.js'
4
5
  import { toHex } from '../../utils/encoding/toHex.js'
5
6
  import { toRlp } from '../../utils/encoding/toRlp.js'
6
- import {
7
- type SerializeTransactionFn,
8
- serializeTransaction as serializeTransaction_,
9
- } from '../../utils/transaction/serializeTransaction.js'
7
+ import { serializeTransaction as serializeTransaction_ } from '../../utils/transaction/serializeTransaction.js'
10
8
  import type {
11
9
  ZkSyncTransactionSerializable,
12
10
  ZkSyncTransactionSerializableEIP712,
@@ -15,12 +13,18 @@ import type {
15
13
  import { assertEip712Transaction } from './utils/assertEip712Transaction.js'
16
14
  import { isEIP712Transaction } from './utils/isEip712Transaction.js'
17
15
 
18
- export const serializeTransaction: SerializeTransactionFn<
19
- ZkSyncTransactionSerializable
20
- > = (tx, signature) => {
21
- if (isEIP712Transaction(tx))
22
- return serializeTransactionEIP712(tx as ZkSyncTransactionSerializableEIP712)
23
- return serializeTransaction_(tx as TransactionSerializable, signature)
16
+ export function serializeTransaction(
17
+ transaction: ZkSyncTransactionSerializable,
18
+ signature?: Signature,
19
+ ) {
20
+ if (isEIP712Transaction(transaction))
21
+ return serializeTransactionEIP712(
22
+ transaction as ZkSyncTransactionSerializableEIP712,
23
+ )
24
+ return serializeTransaction_(
25
+ transaction as TransactionSerializable,
26
+ signature,
27
+ )
24
28
  }
25
29
 
26
30
  export const serializers = {
@@ -1,10 +1,7 @@
1
1
  import type { ChainFormatters } from '../../../types/chain.js'
2
2
  import type { Chain, ChainFormatter } from '../../../types/chain.js'
3
- import type {
4
- TransactionSerializable,
5
- TransactionSerializableGeneric,
6
- } from '../../../types/transaction.js'
7
3
  import type { EIP712DomainFn } from './eip712.js'
4
+ import type { ZkSyncTransactionSerializable } from './transaction.js'
8
5
 
9
6
  export type ChainEIP712<
10
7
  formatters extends ChainFormatters | undefined = ChainFormatters | undefined,
@@ -17,10 +14,10 @@ export type ChainEIP712<
17
14
  | EIP712DomainFn<
18
15
  formatters extends ChainFormatters
19
16
  ? formatters['transactionRequest'] extends ChainFormatter
20
- ? TransactionSerializableGeneric &
17
+ ? ZkSyncTransactionSerializable &
21
18
  Parameters<formatters['transactionRequest']['format']>[0]
22
- : TransactionSerializable
23
- : TransactionSerializable,
19
+ : ZkSyncTransactionSerializable
20
+ : ZkSyncTransactionSerializable,
24
21
  TransactionSignable
25
22
  >
26
23
  | undefined
@@ -1,6 +1,6 @@
1
1
  import type { Address, TypedDataDomain } from 'abitype'
2
2
  import type { Hex } from '../../../types/misc.js'
3
- import type { TransactionSerializable } from '../../../types/transaction.js'
3
+ import type { ZkSyncTransactionSerializable } from './transaction.js'
4
4
 
5
5
  type PaymasterParams = {
6
6
  paymaster: Address
@@ -26,6 +26,6 @@ export type EIP712Domain<TransactionSignable> = {
26
26
 
27
27
  export type EIP712DomainFn<
28
28
  TTransactionSerializable extends
29
- TransactionSerializable = TransactionSerializable,
29
+ ZkSyncTransactionSerializable = ZkSyncTransactionSerializable,
30
30
  TransactionSignable = {},
31
31
  > = (transaction: TTransactionSerializable) => EIP712Domain<TransactionSignable>
@@ -217,8 +217,8 @@ import {
217
217
  watchPendingTransactions,
218
218
  } from '../../actions/public/watchPendingTransactions.js'
219
219
  import {
220
- type PrepareTransactionRequestParameterType,
221
220
  type PrepareTransactionRequestParameters,
221
+ type PrepareTransactionRequestRequest,
222
222
  type PrepareTransactionRequestReturnType,
223
223
  prepareTransactionRequest,
224
224
  } from '../../actions/wallet/prepareTransactionRequest.js'
@@ -1335,7 +1335,10 @@ export type PublicActions<
1335
1335
  * })
1336
1336
  */
1337
1337
  prepareTransactionRequest: <
1338
- TParameterType extends PrepareTransactionRequestParameterType,
1338
+ const TRequest extends PrepareTransactionRequestRequest<
1339
+ TChain,
1340
+ TChainOverride
1341
+ >,
1339
1342
  TChainOverride extends Chain | undefined = undefined,
1340
1343
  TAccountOverride extends Account | Address | undefined = undefined,
1341
1344
  >(
@@ -1344,7 +1347,7 @@ export type PublicActions<
1344
1347
  TAccount,
1345
1348
  TChainOverride,
1346
1349
  TAccountOverride,
1347
- TParameterType
1350
+ TRequest
1348
1351
  >,
1349
1352
  ) => Promise<
1350
1353
  PrepareTransactionRequestReturnType<
@@ -1352,7 +1355,8 @@ export type PublicActions<
1352
1355
  TAccount,
1353
1356
  TChainOverride,
1354
1357
  TAccountOverride,
1355
- TParameterType
1358
+ // @ts-expect-error
1359
+ TRequest
1356
1360
  >
1357
1361
  >
1358
1362
  /**
@@ -23,8 +23,8 @@ import {
23
23
  getPermissions,
24
24
  } from '../../actions/wallet/getPermissions.js'
25
25
  import {
26
- type PrepareTransactionRequestParameterType,
27
26
  type PrepareTransactionRequestParameters,
27
+ type PrepareTransactionRequestRequest,
28
28
  type PrepareTransactionRequestReturnType,
29
29
  prepareTransactionRequest,
30
30
  } from '../../actions/wallet/prepareTransactionRequest.js'
@@ -44,6 +44,7 @@ import {
44
44
  } from '../../actions/wallet/sendRawTransaction.js'
45
45
  import {
46
46
  type SendTransactionParameters,
47
+ type SendTransactionRequest,
47
48
  type SendTransactionReturnType,
48
49
  sendTransaction,
49
50
  } from '../../actions/wallet/sendTransaction.js'
@@ -234,7 +235,10 @@ export type WalletActions<
234
235
  * })
235
236
  */
236
237
  prepareTransactionRequest: <
237
- TParameterType extends PrepareTransactionRequestParameterType,
238
+ const TRequest extends PrepareTransactionRequestRequest<
239
+ TChain,
240
+ TChainOverride
241
+ >,
238
242
  TChainOverride extends Chain | undefined = undefined,
239
243
  TAccountOverride extends Account | Address | undefined = undefined,
240
244
  >(
@@ -243,7 +247,7 @@ export type WalletActions<
243
247
  TAccount,
244
248
  TChainOverride,
245
249
  TAccountOverride,
246
- TParameterType
250
+ TRequest
247
251
  >,
248
252
  ) => Promise<
249
253
  PrepareTransactionRequestReturnType<
@@ -251,7 +255,8 @@ export type WalletActions<
251
255
  TAccount,
252
256
  TChainOverride,
253
257
  TAccountOverride,
254
- TParameterType
258
+ // @ts-expect-error
259
+ TRequest
255
260
  >
256
261
  >
257
262
  /**
@@ -370,8 +375,11 @@ export type WalletActions<
370
375
  * value: 1000000000000000000n,
371
376
  * })
372
377
  */
373
- sendTransaction: <TChainOverride extends Chain | undefined = undefined>(
374
- args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
378
+ sendTransaction: <
379
+ const TRequest extends SendTransactionRequest<TChain, TChainOverride>,
380
+ TChainOverride extends Chain | undefined = undefined,
381
+ >(
382
+ args: SendTransactionParameters<TChain, TAccount, TChainOverride, TRequest>,
375
383
  ) => Promise<SendTransactionReturnType>
376
384
  /**
377
385
  * Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`.
@@ -0,0 +1,21 @@
1
+ // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters
2
+
3
+ /** Blob limit per transaction. */
4
+ export const blobsPerTransaction = 2
5
+
6
+ /** The number of bytes in a BLS scalar field element. */
7
+ export const bytesPerFieldElement = 32
8
+
9
+ /** The number of field elements in a blob. */
10
+ export const fieldElementsPerBlob = 4096
11
+
12
+ /** The number of bytes in a blob. */
13
+ export const bytesPerBlob = bytesPerFieldElement * fieldElementsPerBlob
14
+
15
+ /** Blob bytes limit per transaction. */
16
+ export const maxBytesPerTransaction =
17
+ bytesPerBlob * blobsPerTransaction -
18
+ // terminator byte (0x80).
19
+ 1 -
20
+ // zero byte (0x00) appended to each field element.
21
+ 1 * fieldElementsPerBlob * blobsPerTransaction
@@ -0,0 +1,9 @@
1
+ // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4844.md#parameters
2
+
3
+ /** The number of bytes in a KZG commitment. */
4
+ export const bytesPerCommitment = 48
5
+
6
+ /** The number of bytes in a KZG proof. */
7
+ export const bytesPerProof = 48
8
+
9
+ export const versionedHashVersionKzg = 1