@depup/viem 2.55.11-depup.0 → 2.55.19-depup.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 (270) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +3 -3
  3. package/_cjs/actions/index.js +4 -2
  4. package/_cjs/actions/index.js.map +1 -1
  5. package/_cjs/actions/public/fillTransaction.js +45 -35
  6. package/_cjs/actions/public/fillTransaction.js.map +1 -1
  7. package/_cjs/actions/public/simulateCalls.js +213 -142
  8. package/_cjs/actions/public/simulateCalls.js.map +1 -1
  9. package/_cjs/actions/public/watchBlockHeaders.js +61 -0
  10. package/_cjs/actions/public/watchBlockHeaders.js.map +1 -0
  11. package/_cjs/actions/wallet/prepareTransactionRequest.js +16 -12
  12. package/_cjs/actions/wallet/prepareTransactionRequest.js.map +1 -1
  13. package/_cjs/actions/wallet/sendTransaction.js +24 -12
  14. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  15. package/_cjs/actions/wallet/sendTransactionSync.js +24 -12
  16. package/_cjs/actions/wallet/sendTransactionSync.js.map +1 -1
  17. package/_cjs/chains/definitions/hausTestnet.js +27 -0
  18. package/_cjs/chains/definitions/hausTestnet.js.map +1 -0
  19. package/_cjs/chains/definitions/morphTachyon.js +25 -0
  20. package/_cjs/chains/definitions/morphTachyon.js.map +1 -0
  21. package/_cjs/chains/definitions/morphTachyonTestnet.js +26 -0
  22. package/_cjs/chains/definitions/morphTachyonTestnet.js.map +1 -0
  23. package/_cjs/chains/definitions/ynxTestnet.js +26 -0
  24. package/_cjs/chains/definitions/ynxTestnet.js.map +1 -0
  25. package/_cjs/chains/index.js +18 -10
  26. package/_cjs/chains/index.js.map +1 -1
  27. package/_cjs/clients/createClient.js +1 -0
  28. package/_cjs/clients/createClient.js.map +1 -1
  29. package/_cjs/clients/decorators/public.js +2 -0
  30. package/_cjs/clients/decorators/public.js.map +1 -1
  31. package/_cjs/errors/transaction.js +13 -1
  32. package/_cjs/errors/transaction.js.map +1 -1
  33. package/_cjs/errors/version.js +1 -1
  34. package/_cjs/index.js +5 -4
  35. package/_cjs/index.js.map +1 -1
  36. package/_cjs/op-stack/abis.js +14 -0
  37. package/_cjs/op-stack/abis.js.map +1 -1
  38. package/_cjs/op-stack/actions/estimateOperatorFee.js +26 -15
  39. package/_cjs/op-stack/actions/estimateOperatorFee.js.map +1 -1
  40. package/_cjs/tempo/Abis.js +102 -1
  41. package/_cjs/tempo/Abis.js.map +1 -1
  42. package/_cjs/tempo/Account.js +188 -16
  43. package/_cjs/tempo/Account.js.map +1 -1
  44. package/_cjs/tempo/Addresses.js +2 -1
  45. package/_cjs/tempo/Addresses.js.map +1 -1
  46. package/_cjs/tempo/Decorator.js +15 -0
  47. package/_cjs/tempo/Decorator.js.map +1 -1
  48. package/_cjs/tempo/Formatters.js +1 -1
  49. package/_cjs/tempo/Formatters.js.map +1 -1
  50. package/_cjs/tempo/Selectors.js +7 -1
  51. package/_cjs/tempo/Selectors.js.map +1 -1
  52. package/_cjs/tempo/Transaction.js +31 -10
  53. package/_cjs/tempo/Transaction.js.map +1 -1
  54. package/_cjs/tempo/actions/accessKey.js +49 -8
  55. package/_cjs/tempo/actions/accessKey.js.map +1 -1
  56. package/_cjs/tempo/actions/earn/deployment.js +654 -0
  57. package/_cjs/tempo/actions/earn/deployment.js.map +1 -0
  58. package/_cjs/tempo/actions/earn.js +29 -4
  59. package/_cjs/tempo/actions/earn.js.map +1 -1
  60. package/_cjs/tempo/actions/index.js +2 -1
  61. package/_cjs/tempo/actions/index.js.map +1 -1
  62. package/_cjs/tempo/actions/multisig.js +95 -0
  63. package/_cjs/tempo/actions/multisig.js.map +1 -0
  64. package/_cjs/tempo/actions/zone.js +44 -24
  65. package/_cjs/tempo/actions/zone.js.map +1 -1
  66. package/_cjs/tempo/chainConfig.js +81 -51
  67. package/_cjs/tempo/chainConfig.js.map +1 -1
  68. package/_cjs/tempo/internal/WithdrawalSenderTag.js +2 -2
  69. package/_cjs/tempo/internal/WithdrawalSenderTag.js.map +1 -1
  70. package/_cjs/tempo/internal/multisig.js +56 -0
  71. package/_cjs/tempo/internal/multisig.js.map +1 -0
  72. package/_cjs/tempo/zones/Abis.js +19 -2
  73. package/_cjs/tempo/zones/Abis.js.map +1 -1
  74. package/_cjs/utils/siwe/parseSiweMessage.js +16 -3
  75. package/_cjs/utils/siwe/parseSiweMessage.js.map +1 -1
  76. package/_cjs/utils/siwe/validateSiweMessage.js +13 -3
  77. package/_cjs/utils/siwe/validateSiweMessage.js.map +1 -1
  78. package/_esm/actions/index.js +1 -0
  79. package/_esm/actions/index.js.map +1 -1
  80. package/_esm/actions/public/fillTransaction.js +49 -36
  81. package/_esm/actions/public/fillTransaction.js.map +1 -1
  82. package/_esm/actions/public/simulateCalls.js +238 -150
  83. package/_esm/actions/public/simulateCalls.js.map +1 -1
  84. package/_esm/actions/public/watchBlockHeaders.js +81 -0
  85. package/_esm/actions/public/watchBlockHeaders.js.map +1 -0
  86. package/_esm/actions/wallet/prepareTransactionRequest.js +18 -13
  87. package/_esm/actions/wallet/prepareTransactionRequest.js.map +1 -1
  88. package/_esm/actions/wallet/sendTransaction.js +24 -12
  89. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  90. package/_esm/actions/wallet/sendTransactionSync.js +24 -12
  91. package/_esm/actions/wallet/sendTransactionSync.js.map +1 -1
  92. package/_esm/chains/definitions/hausTestnet.js +24 -0
  93. package/_esm/chains/definitions/hausTestnet.js.map +1 -0
  94. package/_esm/chains/definitions/morphTachyon.js +22 -0
  95. package/_esm/chains/definitions/morphTachyon.js.map +1 -0
  96. package/_esm/chains/definitions/morphTachyonTestnet.js +23 -0
  97. package/_esm/chains/definitions/morphTachyonTestnet.js.map +1 -0
  98. package/_esm/chains/definitions/ynxTestnet.js +23 -0
  99. package/_esm/chains/definitions/ynxTestnet.js.map +1 -0
  100. package/_esm/chains/index.js +4 -0
  101. package/_esm/chains/index.js.map +1 -1
  102. package/_esm/clients/createClient.js +4 -3
  103. package/_esm/clients/createClient.js.map +1 -1
  104. package/_esm/clients/decorators/public.js +2 -0
  105. package/_esm/clients/decorators/public.js.map +1 -1
  106. package/_esm/errors/transaction.js +11 -0
  107. package/_esm/errors/transaction.js.map +1 -1
  108. package/_esm/errors/version.js +1 -1
  109. package/_esm/index.js +1 -1
  110. package/_esm/index.js.map +1 -1
  111. package/_esm/op-stack/abis.js +14 -0
  112. package/_esm/op-stack/abis.js.map +1 -1
  113. package/_esm/op-stack/actions/estimateOperatorFee.js +28 -25
  114. package/_esm/op-stack/actions/estimateOperatorFee.js.map +1 -1
  115. package/_esm/tempo/Abis.js +101 -0
  116. package/_esm/tempo/Abis.js.map +1 -1
  117. package/_esm/tempo/Account.js +196 -66
  118. package/_esm/tempo/Account.js.map +1 -1
  119. package/_esm/tempo/Addresses.js +1 -0
  120. package/_esm/tempo/Addresses.js.map +1 -1
  121. package/_esm/tempo/Decorator.js +15 -0
  122. package/_esm/tempo/Decorator.js.map +1 -1
  123. package/_esm/tempo/Formatters.js +3 -6
  124. package/_esm/tempo/Formatters.js.map +1 -1
  125. package/_esm/tempo/Selectors.js +6 -0
  126. package/_esm/tempo/Selectors.js.map +1 -1
  127. package/_esm/tempo/Transaction.js +31 -10
  128. package/_esm/tempo/Transaction.js.map +1 -1
  129. package/_esm/tempo/actions/accessKey.js +65 -23
  130. package/_esm/tempo/actions/accessKey.js.map +1 -1
  131. package/_esm/tempo/actions/earn/deployment.js +967 -0
  132. package/_esm/tempo/actions/earn/deployment.js.map +1 -0
  133. package/_esm/tempo/actions/earn.js +18 -6
  134. package/_esm/tempo/actions/earn.js.map +1 -1
  135. package/_esm/tempo/actions/index.js +1 -0
  136. package/_esm/tempo/actions/index.js.map +1 -1
  137. package/_esm/tempo/actions/multisig.js +245 -0
  138. package/_esm/tempo/actions/multisig.js.map +1 -0
  139. package/_esm/tempo/actions/zone.js +47 -25
  140. package/_esm/tempo/actions/zone.js.map +1 -1
  141. package/_esm/tempo/chainConfig.js +90 -62
  142. package/_esm/tempo/chainConfig.js.map +1 -1
  143. package/_esm/tempo/internal/WithdrawalSenderTag.js +3 -3
  144. package/_esm/tempo/internal/WithdrawalSenderTag.js.map +1 -1
  145. package/_esm/tempo/internal/multisig.js +56 -0
  146. package/_esm/tempo/internal/multisig.js.map +1 -0
  147. package/_esm/tempo/zones/Abis.js +19 -2
  148. package/_esm/tempo/zones/Abis.js.map +1 -1
  149. package/_esm/utils/siwe/parseSiweMessage.js +18 -3
  150. package/_esm/utils/siwe/parseSiweMessage.js.map +1 -1
  151. package/_esm/utils/siwe/validateSiweMessage.js +16 -3
  152. package/_esm/utils/siwe/validateSiweMessage.js.map +1 -1
  153. package/_types/actions/index.d.ts +1 -0
  154. package/_types/actions/index.d.ts.map +1 -1
  155. package/_types/actions/public/fillTransaction.d.ts.map +1 -1
  156. package/_types/actions/public/simulateCalls.d.ts +5 -3
  157. package/_types/actions/public/simulateCalls.d.ts.map +1 -1
  158. package/_types/actions/public/watchBlockHeaders.d.ts +45 -0
  159. package/_types/actions/public/watchBlockHeaders.d.ts.map +1 -0
  160. package/_types/actions/wallet/prepareTransactionRequest.d.ts.map +1 -1
  161. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  162. package/_types/actions/wallet/sendTransactionSync.d.ts.map +1 -1
  163. package/_types/chains/definitions/hausTestnet.d.ts +52 -0
  164. package/_types/chains/definitions/hausTestnet.d.ts.map +1 -0
  165. package/_types/chains/definitions/morphTachyon.d.ts +51 -0
  166. package/_types/chains/definitions/morphTachyon.d.ts.map +1 -0
  167. package/_types/chains/definitions/morphTachyonTestnet.d.ts +51 -0
  168. package/_types/chains/definitions/morphTachyonTestnet.d.ts.map +1 -0
  169. package/_types/chains/definitions/tempo.d.ts +30 -2
  170. package/_types/chains/definitions/tempo.d.ts.map +1 -1
  171. package/_types/chains/definitions/tempoDevnet.d.ts +30 -2
  172. package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
  173. package/_types/chains/definitions/tempoLocalnet.d.ts +30 -2
  174. package/_types/chains/definitions/tempoLocalnet.d.ts.map +1 -1
  175. package/_types/chains/definitions/tempoModerato.d.ts +30 -2
  176. package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
  177. package/_types/chains/definitions/ynxTestnet.d.ts +51 -0
  178. package/_types/chains/definitions/ynxTestnet.d.ts.map +1 -0
  179. package/_types/chains/index.d.ts +4 -0
  180. package/_types/chains/index.d.ts.map +1 -1
  181. package/_types/clients/createClient.d.ts +3 -3
  182. package/_types/clients/createClient.d.ts.map +1 -1
  183. package/_types/clients/decorators/public.d.ts +24 -0
  184. package/_types/clients/decorators/public.d.ts.map +1 -1
  185. package/_types/errors/transaction.d.ts +9 -0
  186. package/_types/errors/transaction.d.ts.map +1 -1
  187. package/_types/errors/version.d.ts +1 -1
  188. package/_types/index.d.ts +2 -1
  189. package/_types/index.d.ts.map +1 -1
  190. package/_types/op-stack/abis.d.ts +24 -0
  191. package/_types/op-stack/abis.d.ts.map +1 -1
  192. package/_types/op-stack/actions/estimateOperatorFee.d.ts +6 -2
  193. package/_types/op-stack/actions/estimateOperatorFee.d.ts.map +1 -1
  194. package/_types/tempo/Abis.d.ts +321 -0
  195. package/_types/tempo/Abis.d.ts.map +1 -1
  196. package/_types/tempo/Account.d.ts +42 -26
  197. package/_types/tempo/Account.d.ts.map +1 -1
  198. package/_types/tempo/Addresses.d.ts +1 -0
  199. package/_types/tempo/Addresses.d.ts.map +1 -1
  200. package/_types/tempo/Decorator.d.ts +52 -2
  201. package/_types/tempo/Decorator.d.ts.map +1 -1
  202. package/_types/tempo/Formatters.d.ts.map +1 -1
  203. package/_types/tempo/Selectors.d.ts +6 -0
  204. package/_types/tempo/Selectors.d.ts.map +1 -1
  205. package/_types/tempo/Transaction.d.ts +17 -2
  206. package/_types/tempo/Transaction.d.ts.map +1 -1
  207. package/_types/tempo/actions/accessKey.d.ts +35 -17
  208. package/_types/tempo/actions/accessKey.d.ts.map +1 -1
  209. package/_types/tempo/actions/earn/deployment.d.ts +1710 -0
  210. package/_types/tempo/actions/earn/deployment.d.ts.map +1 -0
  211. package/_types/tempo/actions/earn.d.ts +6 -6
  212. package/_types/tempo/actions/earn.d.ts.map +1 -1
  213. package/_types/tempo/actions/index.d.ts +1 -0
  214. package/_types/tempo/actions/index.d.ts.map +1 -1
  215. package/_types/tempo/actions/multisig.d.ts +472 -0
  216. package/_types/tempo/actions/multisig.d.ts.map +1 -0
  217. package/_types/tempo/actions/zone.d.ts +38 -22
  218. package/_types/tempo/actions/zone.d.ts.map +1 -1
  219. package/_types/tempo/chainConfig.d.ts +15 -1
  220. package/_types/tempo/chainConfig.d.ts.map +1 -1
  221. package/_types/tempo/internal/WithdrawalSenderTag.d.ts +2 -1
  222. package/_types/tempo/internal/WithdrawalSenderTag.d.ts.map +1 -1
  223. package/_types/tempo/internal/multisig.d.ts +13 -0
  224. package/_types/tempo/internal/multisig.d.ts.map +1 -0
  225. package/_types/tempo/zones/Abis.d.ts +50 -2
  226. package/_types/tempo/zones/Abis.d.ts.map +1 -1
  227. package/_types/tempo/zones/zone.d.ts +90 -6
  228. package/_types/tempo/zones/zone.d.ts.map +1 -1
  229. package/_types/utils/siwe/parseSiweMessage.d.ts.map +1 -1
  230. package/_types/utils/siwe/validateSiweMessage.d.ts.map +1 -1
  231. package/actions/index.ts +9 -0
  232. package/actions/public/fillTransaction.ts +53 -35
  233. package/actions/public/simulateCalls.ts +324 -181
  234. package/actions/public/watchBlockHeaders.ts +131 -0
  235. package/actions/wallet/prepareTransactionRequest.ts +24 -17
  236. package/actions/wallet/sendTransaction.ts +25 -10
  237. package/actions/wallet/sendTransactionSync.ts +25 -10
  238. package/chains/definitions/hausTestnet.ts +24 -0
  239. package/chains/definitions/morphTachyon.ts +22 -0
  240. package/chains/definitions/morphTachyonTestnet.ts +23 -0
  241. package/chains/definitions/ynxTestnet.ts +23 -0
  242. package/chains/index.ts +4 -0
  243. package/changes.json +3 -3
  244. package/clients/createClient.ts +4 -3
  245. package/clients/decorators/public.ts +33 -0
  246. package/errors/transaction.ts +21 -0
  247. package/errors/version.ts +1 -1
  248. package/index.ts +10 -0
  249. package/op-stack/abis.ts +14 -0
  250. package/op-stack/actions/estimateOperatorFee.ts +50 -36
  251. package/package.json +6 -6
  252. package/tempo/Abis.ts +102 -0
  253. package/tempo/Account.ts +329 -51
  254. package/tempo/Addresses.ts +1 -0
  255. package/tempo/Decorator.ts +93 -2
  256. package/tempo/Formatters.ts +4 -5
  257. package/tempo/Selectors.ts +7 -0
  258. package/tempo/Transaction.ts +52 -12
  259. package/tempo/actions/accessKey.ts +128 -32
  260. package/tempo/actions/earn/deployment.ts +1427 -0
  261. package/tempo/actions/earn.ts +24 -11
  262. package/tempo/actions/index.ts +1 -0
  263. package/tempo/actions/multisig.ts +356 -0
  264. package/tempo/actions/zone.ts +101 -37
  265. package/tempo/chainConfig.ts +111 -61
  266. package/tempo/internal/WithdrawalSenderTag.ts +5 -4
  267. package/tempo/internal/multisig.ts +72 -0
  268. package/tempo/zones/Abis.ts +19 -2
  269. package/utils/siwe/parseSiweMessage.ts +20 -3
  270. package/utils/siwe/validateSiweMessage.ts +13 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,77 @@
1
1
  # viem
2
2
 
3
+ ## 2.55.19
4
+
5
+ ### Patch Changes
6
+
7
+ - [#5018](https://github.com/wevm/viem/pull/5018) [`abf0d746952176eadbe5c72d9d708863d9bbb97e`](https://github.com/wevm/viem/commit/abf0d746952176eadbe5c72d9d708863d9bbb97e) Thanks [@david9104online](https://github.com/david9104online)! - Added Morph Tachyon mainnet and testnet chains.
8
+
9
+ - [#5022](https://github.com/wevm/viem/pull/5022) [`edfb7e7adf1398b26fb94ba47fe55331cb1f16a0`](https://github.com/wevm/viem/commit/edfb7e7adf1398b26fb94ba47fe55331cb1f16a0) Thanks [@jxom](https://github.com/jxom)! - Updated multisig implementation.
10
+
11
+ - [#5017](https://github.com/wevm/viem/pull/5017) [`7aac99a43eddea3af4d511e5d6cfccb5a9caabc0`](https://github.com/wevm/viem/commit/7aac99a43eddea3af4d511e5d6cfccb5a9caabc0) Thanks [@JiahaoAlbus](https://github.com/JiahaoAlbus)! - Added YNX Testnet chain.
12
+
13
+ ## 2.55.18
14
+
15
+ ### Patch Changes
16
+
17
+ - [#5016](https://github.com/wevm/viem/pull/5016) [`9244e27940675fa32b227d4ba845a0f574447e8a`](https://github.com/wevm/viem/commit/9244e27940675fa32b227d4ba845a0f574447e8a) Thanks [@struong](https://github.com/struong)! - **Breaking(viem/tempo)**: Renamed the Tempo Earn private entry recovery parameter from `recoveryRecipient` to `tempoRefundRecipient`.
18
+
19
+ ## 2.55.17
20
+
21
+ ### Patch Changes
22
+
23
+ - [#5013](https://github.com/wevm/viem/pull/5013) [`70e7145dcc9c0442a68344cc9f115c63ecde2495`](https://github.com/wevm/viem/commit/70e7145dcc9c0442a68344cc9f115c63ecde2495) Thanks [@CheyneWeb3](https://github.com/CheyneWeb3)! - Added Haus Chain Testnet chain.
24
+
25
+ - [#5012](https://github.com/wevm/viem/pull/5012) [`5e436053872805cd5db7c0ca504abb9296497025`](https://github.com/wevm/viem/commit/5e436053872805cd5db7c0ca504abb9296497025) Thanks [@struong](https://github.com/struong)! - Preserved filled transaction fields covered by a Tempo fee payer signature.
26
+
27
+ - [#4290](https://github.com/wevm/viem/pull/4290) [`20dcc0675d26cf673ef473eeaafa424ba353e771`](https://github.com/wevm/viem/commit/20dcc0675d26cf673ef473eeaafa424ba353e771) Thanks [@Kemperino](https://github.com/Kemperino)! - Fixed Operator Fee estimation for Isthmus upgrade by using the `getOperatorFee` function from the Gas Price Oracle instead of manually computing from L1Block parameters.
28
+
29
+ ## 2.55.16
30
+
31
+ ### Patch Changes
32
+
33
+ - [#4997](https://github.com/wevm/viem/pull/4997) [`0c4f19a354255ec5e7e159228df36f9c8714ce0a`](https://github.com/wevm/viem/commit/0c4f19a354255ec5e7e159228df36f9c8714ce0a) Thanks [@Ghadi8](https://github.com/Ghadi8)! - Fixed `simulateCalls` asset discovery across reverting, state-dependent, malformed, and newly deployed tokens while pinning stable block tags and isolating balance probes.
34
+
35
+ - [#4990](https://github.com/wevm/viem/pull/4990) [`cd1d2d51849f78e20f09e4a26f4c0a20afa84bb4`](https://github.com/wevm/viem/commit/cd1d2d51849f78e20f09e4a26f4c0a20afa84bb4) Thanks [@SashaMIT](https://github.com/SashaMIT)! - Required EIP-4361 / RFC 3339 date-time strings and rejected invalid `time`.
36
+
37
+ ## 2.55.15
38
+
39
+ ### Patch Changes
40
+
41
+ - [#5002](https://github.com/wevm/viem/pull/5002) [`8f7ef0435914133582633004d123eb2e5fe5a35b`](https://github.com/wevm/viem/commit/8f7ef0435914133582633004d123eb2e5fe5a35b) Thanks [@struong](https://github.com/struong)! - Bound encrypted Zone deposits to the parent-chain portal caller.
42
+
43
+ ## 2.55.14
44
+
45
+ ### Patch Changes
46
+
47
+ - [#4999](https://github.com/wevm/viem/pull/4999) [`2d7e83757373a8333dd55a43080c5cd697065a80`](https://github.com/wevm/viem/commit/2d7e83757373a8333dd55a43080c5cd697065a80) Thanks [@jxom](https://github.com/jxom)! - Added `watchBlockHeaders` for emitting formatted subscription headers without refetching full blocks.
48
+
49
+ ```ts
50
+ watchBlockHeaders(client, { onBlockHeader });
51
+ ```
52
+
53
+ ## 2.55.13
54
+
55
+ ### Patch Changes
56
+
57
+ - [#4967](https://github.com/wevm/viem/pull/4967) [`942c0d30586e44e0d09881a015742616f7b81b1e`](https://github.com/wevm/viem/commit/942c0d30586e44e0d09881a015742616f7b81b1e) Thanks [@brendanjryan](https://github.com/brendanjryan)! - Avoid consuming sequential nonces when chain preparation selects an expiring nonce.
58
+
59
+ - [#4980](https://github.com/wevm/viem/pull/4980) [`7b2f2275ac792e979bbed0abcd4c8543dd16cca7`](https://github.com/wevm/viem/commit/7b2f2275ac792e979bbed0abcd4c8543dd16cca7) Thanks [@struong](https://github.com/struong)! - Fixed Zone withdrawal sender tags to include the emitted fallback nonce.
60
+
61
+ ## 2.55.12
62
+
63
+ ### Patch Changes
64
+
65
+ - [#4969](https://github.com/wevm/viem/pull/4969) [`1f34ba0f12278525ee61edc51b9e5e6eb37dab54`](https://github.com/wevm/viem/commit/1f34ba0f12278525ee61edc51b9e5e6eb37dab54) Thanks [@brendanjryan](https://github.com/brendanjryan)! - Detected concurrent Tempo requests made with equivalent JSON-RPC address accounts.
66
+
67
+ - [#4964](https://github.com/wevm/viem/pull/4964) [`3c193e3df0969001b08aacfa52c6bf8c718716b0`](https://github.com/wevm/viem/commit/3c193e3df0969001b08aacfa52c6bf8c718716b0) Thanks [@struong](https://github.com/struong)! - Added experimental Tempo Earn actions for deterministic ERC-4626 stack deployment and binding.
68
+
69
+ - [#4968](https://github.com/wevm/viem/pull/4968) [`9e5c4ec260bc899d4e3015b1e338382ea62d8b86`](https://github.com/wevm/viem/commit/9e5c4ec260bc899d4e3015b1e338382ea62d8b86) Thanks [@brendanjryan](https://github.com/brendanjryan)! - Detect concurrent Tempo requests before asynchronous access key preparation.
70
+
71
+ - [#4966](https://github.com/wevm/viem/pull/4966) [`82684eaedddbc4117809b030cd358bf98a86594b`](https://github.com/wevm/viem/commit/82684eaedddbc4117809b030cd358bf98a86594b) Thanks [@brendanjryan](https://github.com/brendanjryan)! - Allow relay-routed sponsorship fills to bypass unsupported fill state cached from non-sponsored requests.
72
+
73
+ - [#4970](https://github.com/wevm/viem/pull/4970) [`c2602fc8dceea4c0318fd073dae3abac4fa12376`](https://github.com/wevm/viem/commit/c2602fc8dceea4c0318fd073dae3abac4fa12376) Thanks [@brendanjryan](https://github.com/brendanjryan)! - Populate the required validity window for the numeric Tempo expiring nonce sentinel.
74
+
3
75
  ## 2.55.11
4
76
 
5
77
  ### Patch Changes
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/viem
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [viem](https://www.npmjs.com/package/viem) @ 2.55.11 |
17
- | Processed | 2026-08-09 |
16
+ | Original | [viem](https://www.npmjs.com/package/viem) @ 2.55.19 |
17
+ | Processed | 2026-08-23 |
18
18
  | Smoke test | failed |
19
19
  | Deps updated | 7 |
20
20
 
@@ -27,7 +27,7 @@ npm install @depup/viem
27
27
  | @scure/bip32 | 1.7.0 | ^2.3.0 |
28
28
  | @scure/bip39 | 1.6.0 | ^2.3.0 |
29
29
  | abitype | 1.2.3 | ^1.3.0 |
30
- | ox | 0.14.33 | ^1.6.2 |
30
+ | ox | 0.14.34 | ^1.7.1 |
31
31
  | ws | 8.21.0 | ^8.21.3 |
32
32
 
33
33
  ---
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyTypedData = exports.verifyMessage = exports.verifyHash = exports.uninstallFilter = exports.simulateContract = exports.simulateCalls = exports.simulate = exports.simulateBlocks = exports.readContract = exports.multicall = exports.getTransactionReceipt = exports.getTransactionCount = exports.getTransactionConfirmations = exports.getTransaction = exports.getStorageAt = exports.getRawTransaction = exports.getProof = exports.getLogs = exports.getGasPrice = exports.getFilterLogs = exports.getFilterChanges = exports.getFeeHistory = exports.getEip712Domain = exports.getDelegation = exports.getContractEvents = exports.getCode = exports.getBytecode = exports.getChainId = exports.getBlockTransactionCount = exports.getBlockReceipts = exports.getBlockNumber = exports.getBlock = exports.getBlobBaseFee = exports.getBalance = exports.fillTransaction = exports.estimateMaxPriorityFeePerGas = exports.estimateGas = exports.estimateFeesPerGas = exports.estimateContractGas = exports.createPendingTransactionFilter = exports.createEventFilter = exports.createContractEventFilter = exports.createBlockFilter = exports.createAccessList = exports.call = exports.getEnsText = exports.getEnsResolver = exports.getEnsName = exports.getEnsAvatar = exports.getEnsAddress = void 0;
4
- exports.sendCallsSync = exports.sendCalls = exports.requestPermissions = exports.requestAddresses = exports.prepareTransactionRequest = exports.defaultPrepareTransactionRequestParameters = exports.prepareAuthorization = exports.getPermissions = exports.getCapabilities = exports.getCallsStatus = exports.getAddresses = exports.deployContract = exports.addChain = exports.token = exports.stopImpersonatingAccount = exports.snapshot = exports.setStorageAt = exports.setRpcUrl = exports.setNonce = exports.setNextBlockTimestamp = exports.setNextBlockBaseFeePerGas = exports.setMinGasPrice = exports.setLoggingEnabled = exports.setIntervalMining = exports.setCoinbase = exports.setCode = exports.setBlockTimestampInterval = exports.setBlockGasLimit = exports.setBalance = exports.setAutomine = exports.sendUnsignedTransaction = exports.revert = exports.reset = exports.removeBlockTimestampInterval = exports.mine = exports.loadState = exports.inspectTxpool = exports.increaseTime = exports.impersonateAccount = exports.getTxpoolStatus = exports.getTxpoolContent = exports.getAutomine = exports.dumpState = exports.dropTransaction = exports.watchPendingTransactions = exports.watchEvent = exports.watchContractEvent = exports.watchBlocks = exports.watchBlockNumber = exports.waitForTransactionReceipt = void 0;
5
- exports.writeContractSync = exports.writeContract = exports.watchAsset = exports.waitForCallsStatus = exports.switchChain = exports.signTypedData = exports.signTransaction = exports.signMessage = exports.signAuthorization = exports.showCallsStatus = exports.sendTransactionSync = exports.sendTransaction = exports.sendRawTransactionSync = exports.sendRawTransaction = void 0;
4
+ exports.sendCalls = exports.requestPermissions = exports.requestAddresses = exports.prepareTransactionRequest = exports.defaultPrepareTransactionRequestParameters = exports.prepareAuthorization = exports.getPermissions = exports.getCapabilities = exports.getCallsStatus = exports.getAddresses = exports.deployContract = exports.addChain = exports.token = exports.stopImpersonatingAccount = exports.snapshot = exports.setStorageAt = exports.setRpcUrl = exports.setNonce = exports.setNextBlockTimestamp = exports.setNextBlockBaseFeePerGas = exports.setMinGasPrice = exports.setLoggingEnabled = exports.setIntervalMining = exports.setCoinbase = exports.setCode = exports.setBlockTimestampInterval = exports.setBlockGasLimit = exports.setBalance = exports.setAutomine = exports.sendUnsignedTransaction = exports.revert = exports.reset = exports.removeBlockTimestampInterval = exports.mine = exports.loadState = exports.inspectTxpool = exports.increaseTime = exports.impersonateAccount = exports.getTxpoolStatus = exports.getTxpoolContent = exports.getAutomine = exports.dumpState = exports.dropTransaction = exports.watchPendingTransactions = exports.watchEvent = exports.watchContractEvent = exports.watchBlocks = exports.watchBlockNumber = exports.watchBlockHeaders = exports.waitForTransactionReceipt = void 0;
5
+ exports.writeContractSync = exports.writeContract = exports.watchAsset = exports.waitForCallsStatus = exports.switchChain = exports.signTypedData = exports.signTransaction = exports.signMessage = exports.signAuthorization = exports.showCallsStatus = exports.sendTransactionSync = exports.sendTransaction = exports.sendRawTransactionSync = exports.sendRawTransaction = exports.sendCallsSync = void 0;
6
6
  var getEnsAddress_js_1 = require("./ens/getEnsAddress.js");
7
7
  Object.defineProperty(exports, "getEnsAddress", { enumerable: true, get: function () { return getEnsAddress_js_1.getEnsAddress; } });
8
8
  var getEnsAvatar_js_1 = require("./ens/getEnsAvatar.js");
@@ -103,6 +103,8 @@ var verifyTypedData_js_1 = require("./public/verifyTypedData.js");
103
103
  Object.defineProperty(exports, "verifyTypedData", { enumerable: true, get: function () { return verifyTypedData_js_1.verifyTypedData; } });
104
104
  var waitForTransactionReceipt_js_1 = require("./public/waitForTransactionReceipt.js");
105
105
  Object.defineProperty(exports, "waitForTransactionReceipt", { enumerable: true, get: function () { return waitForTransactionReceipt_js_1.waitForTransactionReceipt; } });
106
+ var watchBlockHeaders_js_1 = require("./public/watchBlockHeaders.js");
107
+ Object.defineProperty(exports, "watchBlockHeaders", { enumerable: true, get: function () { return watchBlockHeaders_js_1.watchBlockHeaders; } });
106
108
  var watchBlockNumber_js_1 = require("./public/watchBlockNumber.js");
107
109
  Object.defineProperty(exports, "watchBlockNumber", { enumerable: true, get: function () { return watchBlockNumber_js_1.watchBlockNumber; } });
108
110
  var watchBlocks_js_1 = require("./public/watchBlocks.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fillTransaction = fillTransaction;
4
4
  const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
5
5
  const fee_js_1 = require("../../errors/fee.js");
6
+ const transaction_js_1 = require("../../errors/transaction.js");
6
7
  const getTransactionError_js_1 = require("../../utils/errors/getTransactionError.js");
7
8
  const extract_js_1 = require("../../utils/formatters/extract.js");
8
- const transaction_js_1 = require("../../utils/formatters/transaction.js");
9
+ const transaction_js_2 = require("../../utils/formatters/transaction.js");
9
10
  const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
10
11
  const getAction_js_1 = require("../../utils/getAction.js");
11
12
  const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
@@ -56,7 +57,7 @@ async function fillTransaction(client, parameters) {
56
57
  method: 'eth_fillTransaction',
57
58
  params: [request],
58
59
  });
59
- const format = chain?.formatters?.transaction?.format || transaction_js_1.formatTransaction;
60
+ const format = chain?.formatters?.transaction?.format || transaction_js_2.formatTransaction;
60
61
  const transaction = format(response.tx);
61
62
  delete transaction.blockHash;
62
63
  delete transaction.blockNumber;
@@ -66,39 +67,48 @@ async function fillTransaction(client, parameters) {
66
67
  delete transaction.v;
67
68
  delete transaction.yParity;
68
69
  transaction.data = transaction.input;
69
- if (transaction.gas)
70
- transaction.gas = parameters.gas ?? transaction.gas;
71
- if (transaction.gasPrice)
72
- transaction.gasPrice = parameters.gasPrice ?? transaction.gasPrice;
73
- if (transaction.maxFeePerBlobGas)
74
- transaction.maxFeePerBlobGas =
75
- parameters.maxFeePerBlobGas ?? transaction.maxFeePerBlobGas;
76
- if (transaction.maxFeePerGas)
77
- transaction.maxFeePerGas =
78
- parameters.maxFeePerGas ?? transaction.maxFeePerGas;
79
- if (transaction.maxPriorityFeePerGas)
80
- transaction.maxPriorityFeePerGas =
81
- parameters.maxPriorityFeePerGas ?? transaction.maxPriorityFeePerGas;
82
- if (typeof transaction.nonce !== 'undefined')
83
- transaction.nonce = parameters.nonce ?? transaction.nonce;
84
- const feeMultiplier = await (async () => {
85
- if (typeof chain?.fees?.baseFeeMultiplier === 'function') {
86
- const block = await (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({});
87
- return chain.fees.baseFeeMultiplier({
88
- block,
89
- client,
90
- request: parameters,
91
- });
92
- }
93
- return chain?.fees?.baseFeeMultiplier ?? 1.2;
94
- })();
95
- if (feeMultiplier < 1)
96
- throw new fee_js_1.BaseFeeScalarError();
97
- const decimals = feeMultiplier.toString().split('.')[1]?.length ?? 0;
98
- const denominator = 10 ** decimals;
99
- const multiplyFee = (base) => (base * BigInt(Math.round(feeMultiplier * denominator))) /
100
- BigInt(denominator);
101
- if (!transaction.feePayerSignature) {
70
+ const hasFeePayerSignature = typeof transaction.feePayerSignature !== 'undefined' &&
71
+ transaction.feePayerSignature !== null;
72
+ if (hasFeePayerSignature &&
73
+ typeof nonce !== 'undefined' &&
74
+ transaction.nonce !== nonce)
75
+ throw new transaction_js_1.FeePayerNonceMismatchError({
76
+ filledNonce: transaction.nonce,
77
+ requestedNonce: nonce,
78
+ });
79
+ if (!hasFeePayerSignature) {
80
+ if (transaction.gas)
81
+ transaction.gas = parameters.gas ?? transaction.gas;
82
+ if (transaction.gasPrice)
83
+ transaction.gasPrice = parameters.gasPrice ?? transaction.gasPrice;
84
+ if (transaction.maxFeePerBlobGas)
85
+ transaction.maxFeePerBlobGas =
86
+ parameters.maxFeePerBlobGas ?? transaction.maxFeePerBlobGas;
87
+ if (transaction.maxFeePerGas)
88
+ transaction.maxFeePerGas =
89
+ parameters.maxFeePerGas ?? transaction.maxFeePerGas;
90
+ if (transaction.maxPriorityFeePerGas)
91
+ transaction.maxPriorityFeePerGas =
92
+ parameters.maxPriorityFeePerGas ?? transaction.maxPriorityFeePerGas;
93
+ if (typeof transaction.nonce !== 'undefined')
94
+ transaction.nonce = parameters.nonce ?? transaction.nonce;
95
+ const feeMultiplier = await (async () => {
96
+ if (typeof chain?.fees?.baseFeeMultiplier === 'function') {
97
+ const block = await (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({});
98
+ return chain.fees.baseFeeMultiplier({
99
+ block,
100
+ client,
101
+ request: parameters,
102
+ });
103
+ }
104
+ return chain?.fees?.baseFeeMultiplier ?? 1.2;
105
+ })();
106
+ if (feeMultiplier < 1)
107
+ throw new fee_js_1.BaseFeeScalarError();
108
+ const decimals = feeMultiplier.toString().split('.')[1]?.length ?? 0;
109
+ const denominator = 10 ** decimals;
110
+ const multiplyFee = (base) => (base * BigInt(Math.round(feeMultiplier * denominator))) /
111
+ BigInt(denominator);
102
112
  if (transaction.maxFeePerGas && !parameters.maxFeePerGas)
103
113
  transaction.maxFeePerGas = multiplyFee(transaction.maxFeePerGas);
104
114
  if (transaction.gasPrice && !parameters.gasPrice)
@@ -1 +1 @@
1
- {"version":3,"file":"fillTransaction.js","sourceRoot":"","sources":["../../../actions/public/fillTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fillTransaction.js","sourceRoot":"","sources":["../../../actions/public/fillTransaction.ts"],"names":[],"mappings":"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"}