viem 2.53.1 → 2.54.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 (441) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/_cjs/actions/index.js +3 -2
  3. package/_cjs/actions/index.js.map +1 -1
  4. package/_cjs/actions/token/approve.js +62 -0
  5. package/_cjs/actions/token/approve.js.map +1 -0
  6. package/_cjs/actions/token/approveSync.js +25 -0
  7. package/_cjs/actions/token/approveSync.js.map +1 -0
  8. package/_cjs/actions/token/getAllowance.js +32 -0
  9. package/_cjs/actions/token/getAllowance.js.map +1 -0
  10. package/_cjs/actions/token/getBalance.js +41 -0
  11. package/_cjs/actions/token/getBalance.js.map +1 -0
  12. package/_cjs/actions/token/getMetadata.js +40 -0
  13. package/_cjs/actions/token/getMetadata.js.map +1 -0
  14. package/_cjs/actions/token/getTotalSupply.js +32 -0
  15. package/_cjs/actions/token/getTotalSupply.js.map +1 -0
  16. package/_cjs/actions/token/index.js +20 -0
  17. package/_cjs/actions/token/index.js.map +1 -0
  18. package/_cjs/actions/token/internal.js +125 -0
  19. package/_cjs/actions/token/internal.js.map +1 -0
  20. package/_cjs/actions/token/transfer.js +70 -0
  21. package/_cjs/actions/token/transfer.js.map +1 -0
  22. package/_cjs/actions/token/transferSync.js +25 -0
  23. package/_cjs/actions/token/transferSync.js.map +1 -0
  24. package/_cjs/chains/definitions/battlechain.js +31 -0
  25. package/_cjs/chains/definitions/battlechain.js.map +1 -0
  26. package/_cjs/chains/definitions/marooTestnet.js +30 -0
  27. package/_cjs/chains/definitions/marooTestnet.js.map +1 -0
  28. package/_cjs/chains/index.js +18 -14
  29. package/_cjs/chains/index.js.map +1 -1
  30. package/_cjs/clients/createClient.js +39 -1
  31. package/_cjs/clients/createClient.js.map +1 -1
  32. package/_cjs/clients/createPublicClient.js.map +1 -1
  33. package/_cjs/clients/createWalletClient.js.map +1 -1
  34. package/_cjs/clients/decorators/public.js +11 -0
  35. package/_cjs/clients/decorators/public.js.map +1 -1
  36. package/_cjs/clients/decorators/wallet.js +8 -0
  37. package/_cjs/clients/decorators/wallet.js.map +1 -1
  38. package/_cjs/clients/transports/http.js +2 -1
  39. package/_cjs/clients/transports/http.js.map +1 -1
  40. package/_cjs/errors/encoding.js +9 -1
  41. package/_cjs/errors/encoding.js.map +1 -1
  42. package/_cjs/errors/request.js +24 -1
  43. package/_cjs/errors/request.js.map +1 -1
  44. package/_cjs/errors/transaction.js +9 -1
  45. package/_cjs/errors/transaction.js.map +1 -1
  46. package/_cjs/errors/version.js +1 -1
  47. package/_cjs/index.js +9 -6
  48. package/_cjs/index.js.map +1 -1
  49. package/_cjs/tempo/Client.js.map +1 -1
  50. package/_cjs/tempo/Decorator.js +234 -215
  51. package/_cjs/tempo/Decorator.js.map +1 -1
  52. package/_cjs/tempo/actions/token.js +210 -112
  53. package/_cjs/tempo/actions/token.js.map +1 -1
  54. package/_cjs/tempo/internal/utils.js +108 -0
  55. package/_cjs/tempo/internal/utils.js.map +1 -1
  56. package/_cjs/tokens/defineToken.js +21 -0
  57. package/_cjs/tokens/defineToken.js.map +1 -0
  58. package/_cjs/tokens/definitions/alphausd.js +14 -0
  59. package/_cjs/tokens/definitions/alphausd.js.map +1 -0
  60. package/_cjs/tokens/definitions/betausd.js +14 -0
  61. package/_cjs/tokens/definitions/betausd.js.map +1 -0
  62. package/_cjs/tokens/definitions/brla.js +14 -0
  63. package/_cjs/tokens/definitions/brla.js.map +1 -0
  64. package/_cjs/tokens/definitions/cbbtc.js +14 -0
  65. package/_cjs/tokens/definitions/cbbtc.js.map +1 -0
  66. package/_cjs/tokens/definitions/chfau.js +14 -0
  67. package/_cjs/tokens/definitions/chfau.js.map +1 -0
  68. package/_cjs/tokens/definitions/cusd.js +14 -0
  69. package/_cjs/tokens/definitions/cusd.js.map +1 -0
  70. package/_cjs/tokens/definitions/dlusd.js +14 -0
  71. package/_cjs/tokens/definitions/dlusd.js.map +1 -0
  72. package/_cjs/tokens/definitions/eurau.js +14 -0
  73. package/_cjs/tokens/definitions/eurau.js.map +1 -0
  74. package/_cjs/tokens/definitions/eurce.js +15 -0
  75. package/_cjs/tokens/definitions/eurce.js.map +1 -0
  76. package/_cjs/tokens/definitions/frxusd.js +14 -0
  77. package/_cjs/tokens/definitions/frxusd.js.map +1 -0
  78. package/_cjs/tokens/definitions/gbpa.js +14 -0
  79. package/_cjs/tokens/definitions/gbpa.js.map +1 -0
  80. package/_cjs/tokens/definitions/gusd.js +14 -0
  81. package/_cjs/tokens/definitions/gusd.js.map +1 -0
  82. package/_cjs/tokens/definitions/iusd.js +14 -0
  83. package/_cjs/tokens/definitions/iusd.js.map +1 -0
  84. package/_cjs/tokens/definitions/pathusd.js +15 -0
  85. package/_cjs/tokens/definitions/pathusd.js.map +1 -0
  86. package/_cjs/tokens/definitions/reusd.js +14 -0
  87. package/_cjs/tokens/definitions/reusd.js.map +1 -0
  88. package/_cjs/tokens/definitions/rusd.js +14 -0
  89. package/_cjs/tokens/definitions/rusd.js.map +1 -0
  90. package/_cjs/tokens/definitions/sbc.js +14 -0
  91. package/_cjs/tokens/definitions/sbc.js.map +1 -0
  92. package/_cjs/tokens/definitions/siusd.js +14 -0
  93. package/_cjs/tokens/definitions/siusd.js.map +1 -0
  94. package/_cjs/tokens/definitions/stcusd.js +14 -0
  95. package/_cjs/tokens/definitions/stcusd.js.map +1 -0
  96. package/_cjs/tokens/definitions/susde.js +14 -0
  97. package/_cjs/tokens/definitions/susde.js.map +1 -0
  98. package/_cjs/tokens/definitions/syrupusdc.js +14 -0
  99. package/_cjs/tokens/definitions/syrupusdc.js.map +1 -0
  100. package/_cjs/tokens/definitions/thetausd.js +14 -0
  101. package/_cjs/tokens/definitions/thetausd.js.map +1 -0
  102. package/_cjs/tokens/definitions/usd1.js +14 -0
  103. package/_cjs/tokens/definitions/usd1.js.map +1 -0
  104. package/_cjs/tokens/definitions/usdb.js +14 -0
  105. package/_cjs/tokens/definitions/usdb.js.map +1 -0
  106. package/_cjs/tokens/definitions/usdc.js +41 -0
  107. package/_cjs/tokens/definitions/usdc.js.map +1 -0
  108. package/_cjs/tokens/definitions/usdce.js +15 -0
  109. package/_cjs/tokens/definitions/usdce.js.map +1 -0
  110. package/_cjs/tokens/definitions/usde.js +14 -0
  111. package/_cjs/tokens/definitions/usde.js.map +1 -0
  112. package/_cjs/tokens/definitions/usdt0.js +14 -0
  113. package/_cjs/tokens/definitions/usdt0.js.map +1 -0
  114. package/_cjs/tokens/definitions/wsrusd.js +14 -0
  115. package/_cjs/tokens/definitions/wsrusd.js.map +1 -0
  116. package/_cjs/tokens/index.js +64 -0
  117. package/_cjs/tokens/index.js.map +1 -0
  118. package/_cjs/utils/encoding/fromRlp.js +7 -4
  119. package/_cjs/utils/encoding/fromRlp.js.map +1 -1
  120. package/_cjs/utils/rpc/http.js +58 -3
  121. package/_cjs/utils/rpc/http.js.map +1 -1
  122. package/_cjs/utils/transaction/parseTransaction.js +4 -1
  123. package/_cjs/utils/transaction/parseTransaction.js.map +1 -1
  124. package/_esm/actions/index.js +1 -0
  125. package/_esm/actions/index.js.map +1 -1
  126. package/_esm/actions/token/approve.js +123 -0
  127. package/_esm/actions/token/approve.js.map +1 -0
  128. package/_esm/actions/token/approveSync.js +50 -0
  129. package/_esm/actions/token/approveSync.js.map +1 -0
  130. package/_esm/actions/token/getAllowance.js +62 -0
  131. package/_esm/actions/token/getAllowance.js.map +1 -0
  132. package/_esm/actions/token/getBalance.js +70 -0
  133. package/_esm/actions/token/getBalance.js.map +1 -0
  134. package/_esm/actions/token/getMetadata.js +60 -0
  135. package/_esm/actions/token/getMetadata.js.map +1 -0
  136. package/_esm/actions/token/getTotalSupply.js +60 -0
  137. package/_esm/actions/token/getTotalSupply.js.map +1 -0
  138. package/_esm/actions/token/index.js +10 -0
  139. package/_esm/actions/token/index.js.map +1 -0
  140. package/_esm/actions/token/internal.js +188 -0
  141. package/_esm/actions/token/internal.js.map +1 -0
  142. package/_esm/actions/token/transfer.js +147 -0
  143. package/_esm/actions/token/transfer.js.map +1 -0
  144. package/_esm/actions/token/transferSync.js +54 -0
  145. package/_esm/actions/token/transferSync.js.map +1 -0
  146. package/_esm/chains/definitions/battlechain.js +28 -0
  147. package/_esm/chains/definitions/battlechain.js.map +1 -0
  148. package/_esm/chains/definitions/marooTestnet.js +27 -0
  149. package/_esm/chains/definitions/marooTestnet.js.map +1 -0
  150. package/_esm/chains/index.js +2 -0
  151. package/_esm/chains/index.js.map +1 -1
  152. package/_esm/clients/createClient.js +53 -1
  153. package/_esm/clients/createClient.js.map +1 -1
  154. package/_esm/clients/createPublicClient.js.map +1 -1
  155. package/_esm/clients/createWalletClient.js.map +1 -1
  156. package/_esm/clients/decorators/public.js +17 -0
  157. package/_esm/clients/decorators/public.js.map +1 -1
  158. package/_esm/clients/decorators/wallet.js +8 -0
  159. package/_esm/clients/decorators/wallet.js.map +1 -1
  160. package/_esm/clients/transports/http.js +2 -1
  161. package/_esm/clients/transports/http.js.map +1 -1
  162. package/_esm/errors/encoding.js +7 -0
  163. package/_esm/errors/encoding.js.map +1 -1
  164. package/_esm/errors/request.js +22 -0
  165. package/_esm/errors/request.js.map +1 -1
  166. package/_esm/errors/transaction.js +7 -0
  167. package/_esm/errors/transaction.js.map +1 -1
  168. package/_esm/errors/version.js +1 -1
  169. package/_esm/index.js +3 -3
  170. package/_esm/index.js.map +1 -1
  171. package/_esm/tempo/Client.js.map +1 -1
  172. package/_esm/tempo/Decorator.js +234 -218
  173. package/_esm/tempo/Decorator.js.map +1 -1
  174. package/_esm/tempo/actions/token.js +335 -186
  175. package/_esm/tempo/actions/token.js.map +1 -1
  176. package/_esm/tempo/actions/wallet.js +1 -1
  177. package/_esm/tempo/internal/utils.js +154 -0
  178. package/_esm/tempo/internal/utils.js.map +1 -1
  179. package/_esm/tokens/defineToken.js +57 -0
  180. package/_esm/tokens/defineToken.js.map +1 -0
  181. package/_esm/tokens/definitions/alphausd.js +12 -0
  182. package/_esm/tokens/definitions/alphausd.js.map +1 -0
  183. package/_esm/tokens/definitions/betausd.js +12 -0
  184. package/_esm/tokens/definitions/betausd.js.map +1 -0
  185. package/_esm/tokens/definitions/brla.js +12 -0
  186. package/_esm/tokens/definitions/brla.js.map +1 -0
  187. package/_esm/tokens/definitions/cbbtc.js +12 -0
  188. package/_esm/tokens/definitions/cbbtc.js.map +1 -0
  189. package/_esm/tokens/definitions/chfau.js +12 -0
  190. package/_esm/tokens/definitions/chfau.js.map +1 -0
  191. package/_esm/tokens/definitions/cusd.js +12 -0
  192. package/_esm/tokens/definitions/cusd.js.map +1 -0
  193. package/_esm/tokens/definitions/dlusd.js +12 -0
  194. package/_esm/tokens/definitions/dlusd.js.map +1 -0
  195. package/_esm/tokens/definitions/eurau.js +12 -0
  196. package/_esm/tokens/definitions/eurau.js.map +1 -0
  197. package/_esm/tokens/definitions/eurce.js +13 -0
  198. package/_esm/tokens/definitions/eurce.js.map +1 -0
  199. package/_esm/tokens/definitions/frxusd.js +12 -0
  200. package/_esm/tokens/definitions/frxusd.js.map +1 -0
  201. package/_esm/tokens/definitions/gbpa.js +12 -0
  202. package/_esm/tokens/definitions/gbpa.js.map +1 -0
  203. package/_esm/tokens/definitions/gusd.js +12 -0
  204. package/_esm/tokens/definitions/gusd.js.map +1 -0
  205. package/_esm/tokens/definitions/iusd.js +12 -0
  206. package/_esm/tokens/definitions/iusd.js.map +1 -0
  207. package/_esm/tokens/definitions/pathusd.js +13 -0
  208. package/_esm/tokens/definitions/pathusd.js.map +1 -0
  209. package/_esm/tokens/definitions/reusd.js +12 -0
  210. package/_esm/tokens/definitions/reusd.js.map +1 -0
  211. package/_esm/tokens/definitions/rusd.js +12 -0
  212. package/_esm/tokens/definitions/rusd.js.map +1 -0
  213. package/_esm/tokens/definitions/sbc.js +12 -0
  214. package/_esm/tokens/definitions/sbc.js.map +1 -0
  215. package/_esm/tokens/definitions/siusd.js +12 -0
  216. package/_esm/tokens/definitions/siusd.js.map +1 -0
  217. package/_esm/tokens/definitions/stcusd.js +12 -0
  218. package/_esm/tokens/definitions/stcusd.js.map +1 -0
  219. package/_esm/tokens/definitions/susde.js +12 -0
  220. package/_esm/tokens/definitions/susde.js.map +1 -0
  221. package/_esm/tokens/definitions/syrupusdc.js +12 -0
  222. package/_esm/tokens/definitions/syrupusdc.js.map +1 -0
  223. package/_esm/tokens/definitions/thetausd.js +12 -0
  224. package/_esm/tokens/definitions/thetausd.js.map +1 -0
  225. package/_esm/tokens/definitions/usd1.js +12 -0
  226. package/_esm/tokens/definitions/usd1.js.map +1 -0
  227. package/_esm/tokens/definitions/usdb.js +12 -0
  228. package/_esm/tokens/definitions/usdb.js.map +1 -0
  229. package/_esm/tokens/definitions/usdc.js +67 -0
  230. package/_esm/tokens/definitions/usdc.js.map +1 -0
  231. package/_esm/tokens/definitions/usdce.js +13 -0
  232. package/_esm/tokens/definitions/usdce.js.map +1 -0
  233. package/_esm/tokens/definitions/usde.js +12 -0
  234. package/_esm/tokens/definitions/usde.js.map +1 -0
  235. package/_esm/tokens/definitions/usdt0.js +12 -0
  236. package/_esm/tokens/definitions/usdt0.js.map +1 -0
  237. package/_esm/tokens/definitions/wsrusd.js +12 -0
  238. package/_esm/tokens/definitions/wsrusd.js.map +1 -0
  239. package/_esm/tokens/index.js +32 -0
  240. package/_esm/tokens/index.js.map +1 -0
  241. package/_esm/utils/encoding/fromRlp.js +8 -5
  242. package/_esm/utils/encoding/fromRlp.js.map +1 -1
  243. package/_esm/utils/rpc/http.js +59 -4
  244. package/_esm/utils/rpc/http.js.map +1 -1
  245. package/_esm/utils/transaction/parseTransaction.js +5 -2
  246. package/_esm/utils/transaction/parseTransaction.js.map +1 -1
  247. package/_types/actions/index.d.ts +1 -0
  248. package/_types/actions/index.d.ts.map +1 -1
  249. package/_types/actions/token/approve.d.ts +253 -0
  250. package/_types/actions/token/approve.d.ts.map +1 -0
  251. package/_types/actions/token/approveSync.d.ts +57 -0
  252. package/_types/actions/token/approveSync.d.ts.map +1 -0
  253. package/_types/actions/token/getAllowance.d.ts +77 -0
  254. package/_types/actions/token/getAllowance.d.ts.map +1 -0
  255. package/_types/actions/token/getBalance.d.ts +69 -0
  256. package/_types/actions/token/getBalance.d.ts.map +1 -0
  257. package/_types/actions/token/getMetadata.d.ts +43 -0
  258. package/_types/actions/token/getMetadata.d.ts.map +1 -0
  259. package/_types/actions/token/getTotalSupply.d.ts +63 -0
  260. package/_types/actions/token/getTotalSupply.d.ts.map +1 -0
  261. package/_types/actions/token/index.d.ts +9 -0
  262. package/_types/actions/token/index.d.ts.map +1 -0
  263. package/_types/actions/token/internal.d.ts +168 -0
  264. package/_types/actions/token/internal.d.ts.map +1 -0
  265. package/_types/actions/token/transfer.d.ts +288 -0
  266. package/_types/actions/token/transfer.d.ts.map +1 -0
  267. package/_types/actions/token/transferSync.d.ts +61 -0
  268. package/_types/actions/token/transferSync.d.ts.map +1 -0
  269. package/_types/chains/definitions/battlechain.d.ts +447 -0
  270. package/_types/chains/definitions/battlechain.d.ts.map +1 -0
  271. package/_types/chains/definitions/marooTestnet.d.ts +49 -0
  272. package/_types/chains/definitions/marooTestnet.d.ts.map +1 -0
  273. package/_types/chains/index.d.ts +2 -0
  274. package/_types/chains/index.d.ts.map +1 -1
  275. package/_types/clients/createClient.d.ts +24 -6
  276. package/_types/clients/createClient.d.ts.map +1 -1
  277. package/_types/clients/createPublicClient.d.ts +4 -3
  278. package/_types/clients/createPublicClient.d.ts.map +1 -1
  279. package/_types/clients/createWalletClient.d.ts +4 -3
  280. package/_types/clients/createWalletClient.d.ts.map +1 -1
  281. package/_types/clients/decorators/public.d.ts +128 -3
  282. package/_types/clients/decorators/public.d.ts.map +1 -1
  283. package/_types/clients/decorators/wallet.d.ts +208 -3
  284. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  285. package/_types/clients/transports/http.d.ts +2 -0
  286. package/_types/clients/transports/http.d.ts.map +1 -1
  287. package/_types/errors/encoding.d.ts +8 -0
  288. package/_types/errors/encoding.d.ts.map +1 -1
  289. package/_types/errors/request.d.ts +11 -0
  290. package/_types/errors/request.d.ts.map +1 -1
  291. package/_types/errors/transaction.d.ts +8 -0
  292. package/_types/errors/transaction.d.ts.map +1 -1
  293. package/_types/errors/version.d.ts +1 -1
  294. package/_types/index.d.ts +4 -3
  295. package/_types/index.d.ts.map +1 -1
  296. package/_types/tempo/Client.d.ts +1 -1
  297. package/_types/tempo/Client.d.ts.map +1 -1
  298. package/_types/tempo/Decorator.d.ts +88 -5
  299. package/_types/tempo/Decorator.d.ts.map +1 -1
  300. package/_types/tempo/actions/token.d.ts +223 -151
  301. package/_types/tempo/actions/token.d.ts.map +1 -1
  302. package/_types/tempo/actions/wallet.d.ts +3 -3
  303. package/_types/tempo/internal/types.d.ts +17 -0
  304. package/_types/tempo/internal/types.d.ts.map +1 -1
  305. package/_types/tempo/internal/utils.d.ts +73 -0
  306. package/_types/tempo/internal/utils.d.ts.map +1 -1
  307. package/_types/tokens/defineToken.d.ts +112 -0
  308. package/_types/tokens/defineToken.d.ts.map +1 -0
  309. package/_types/tokens/definitions/alphausd.d.ts +11 -0
  310. package/_types/tokens/definitions/alphausd.d.ts.map +1 -0
  311. package/_types/tokens/definitions/betausd.d.ts +11 -0
  312. package/_types/tokens/definitions/betausd.d.ts.map +1 -0
  313. package/_types/tokens/definitions/brla.d.ts +11 -0
  314. package/_types/tokens/definitions/brla.d.ts.map +1 -0
  315. package/_types/tokens/definitions/cbbtc.d.ts +11 -0
  316. package/_types/tokens/definitions/cbbtc.d.ts.map +1 -0
  317. package/_types/tokens/definitions/chfau.d.ts +11 -0
  318. package/_types/tokens/definitions/chfau.d.ts.map +1 -0
  319. package/_types/tokens/definitions/cusd.d.ts +11 -0
  320. package/_types/tokens/definitions/cusd.d.ts.map +1 -0
  321. package/_types/tokens/definitions/dlusd.d.ts +11 -0
  322. package/_types/tokens/definitions/dlusd.d.ts.map +1 -0
  323. package/_types/tokens/definitions/eurau.d.ts +11 -0
  324. package/_types/tokens/definitions/eurau.d.ts.map +1 -0
  325. package/_types/tokens/definitions/eurce.d.ts +12 -0
  326. package/_types/tokens/definitions/eurce.d.ts.map +1 -0
  327. package/_types/tokens/definitions/frxusd.d.ts +11 -0
  328. package/_types/tokens/definitions/frxusd.d.ts.map +1 -0
  329. package/_types/tokens/definitions/gbpa.d.ts +11 -0
  330. package/_types/tokens/definitions/gbpa.d.ts.map +1 -0
  331. package/_types/tokens/definitions/gusd.d.ts +11 -0
  332. package/_types/tokens/definitions/gusd.d.ts.map +1 -0
  333. package/_types/tokens/definitions/iusd.d.ts +11 -0
  334. package/_types/tokens/definitions/iusd.d.ts.map +1 -0
  335. package/_types/tokens/definitions/pathusd.d.ts +12 -0
  336. package/_types/tokens/definitions/pathusd.d.ts.map +1 -0
  337. package/_types/tokens/definitions/reusd.d.ts +11 -0
  338. package/_types/tokens/definitions/reusd.d.ts.map +1 -0
  339. package/_types/tokens/definitions/rusd.d.ts +11 -0
  340. package/_types/tokens/definitions/rusd.d.ts.map +1 -0
  341. package/_types/tokens/definitions/sbc.d.ts +11 -0
  342. package/_types/tokens/definitions/sbc.d.ts.map +1 -0
  343. package/_types/tokens/definitions/siusd.d.ts +11 -0
  344. package/_types/tokens/definitions/siusd.d.ts.map +1 -0
  345. package/_types/tokens/definitions/stcusd.d.ts +11 -0
  346. package/_types/tokens/definitions/stcusd.d.ts.map +1 -0
  347. package/_types/tokens/definitions/susde.d.ts +11 -0
  348. package/_types/tokens/definitions/susde.d.ts.map +1 -0
  349. package/_types/tokens/definitions/syrupusdc.d.ts +11 -0
  350. package/_types/tokens/definitions/syrupusdc.d.ts.map +1 -0
  351. package/_types/tokens/definitions/thetausd.d.ts +11 -0
  352. package/_types/tokens/definitions/thetausd.d.ts.map +1 -0
  353. package/_types/tokens/definitions/usd1.d.ts +11 -0
  354. package/_types/tokens/definitions/usd1.d.ts.map +1 -0
  355. package/_types/tokens/definitions/usdb.d.ts +11 -0
  356. package/_types/tokens/definitions/usdb.d.ts.map +1 -0
  357. package/_types/tokens/definitions/usdc.d.ts +67 -0
  358. package/_types/tokens/definitions/usdc.d.ts.map +1 -0
  359. package/_types/tokens/definitions/usdce.d.ts +12 -0
  360. package/_types/tokens/definitions/usdce.d.ts.map +1 -0
  361. package/_types/tokens/definitions/usde.d.ts +11 -0
  362. package/_types/tokens/definitions/usde.d.ts.map +1 -0
  363. package/_types/tokens/definitions/usdt0.d.ts +11 -0
  364. package/_types/tokens/definitions/usdt0.d.ts.map +1 -0
  365. package/_types/tokens/definitions/wsrusd.d.ts +11 -0
  366. package/_types/tokens/definitions/wsrusd.d.ts.map +1 -0
  367. package/_types/tokens/index.d.ts +31 -0
  368. package/_types/tokens/index.d.ts.map +1 -0
  369. package/_types/utils/encoding/fromRlp.d.ts +2 -2
  370. package/_types/utils/encoding/fromRlp.d.ts.map +1 -1
  371. package/_types/utils/rpc/http.d.ts +6 -2
  372. package/_types/utils/rpc/http.d.ts.map +1 -1
  373. package/_types/utils/transaction/parseTransaction.d.ts +2 -2
  374. package/_types/utils/transaction/parseTransaction.d.ts.map +1 -1
  375. package/actions/index.ts +1 -0
  376. package/actions/token/approve.ts +202 -0
  377. package/actions/token/approveSync.ts +95 -0
  378. package/actions/token/getAllowance.ts +105 -0
  379. package/actions/token/getBalance.ts +115 -0
  380. package/actions/token/getMetadata.ts +98 -0
  381. package/actions/token/getTotalSupply.ts +97 -0
  382. package/actions/token/index.ts +9 -0
  383. package/actions/token/internal.ts +367 -0
  384. package/actions/token/transfer.ts +230 -0
  385. package/actions/token/transferSync.ts +99 -0
  386. package/chains/definitions/battlechain.ts +28 -0
  387. package/chains/definitions/marooTestnet.ts +27 -0
  388. package/chains/index.ts +2 -0
  389. package/clients/createClient.ts +90 -8
  390. package/clients/createPublicClient.ts +22 -4
  391. package/clients/createWalletClient.ts +22 -4
  392. package/clients/decorators/public.ts +166 -4
  393. package/clients/decorators/wallet.ts +242 -3
  394. package/clients/transports/http.ts +4 -0
  395. package/errors/encoding.ts +11 -0
  396. package/errors/request.ts +17 -0
  397. package/errors/transaction.ts +11 -0
  398. package/errors/version.ts +1 -1
  399. package/index.ts +7 -0
  400. package/package.json +6 -1
  401. package/tempo/Client.ts +4 -2
  402. package/tempo/Decorator.ts +398 -337
  403. package/tempo/actions/token.ts +519 -296
  404. package/tempo/actions/wallet.ts +3 -3
  405. package/tempo/internal/types.ts +19 -0
  406. package/tempo/internal/utils.ts +204 -0
  407. package/tokens/defineToken.ts +142 -0
  408. package/tokens/definitions/alphausd.ts +13 -0
  409. package/tokens/definitions/betausd.ts +13 -0
  410. package/tokens/definitions/brla.ts +13 -0
  411. package/tokens/definitions/cbbtc.ts +13 -0
  412. package/tokens/definitions/chfau.ts +13 -0
  413. package/tokens/definitions/cusd.ts +13 -0
  414. package/tokens/definitions/dlusd.ts +13 -0
  415. package/tokens/definitions/eurau.ts +13 -0
  416. package/tokens/definitions/eurce.ts +14 -0
  417. package/tokens/definitions/frxusd.ts +13 -0
  418. package/tokens/definitions/gbpa.ts +13 -0
  419. package/tokens/definitions/gusd.ts +13 -0
  420. package/tokens/definitions/iusd.ts +13 -0
  421. package/tokens/definitions/pathusd.ts +14 -0
  422. package/tokens/definitions/reusd.ts +13 -0
  423. package/tokens/definitions/rusd.ts +13 -0
  424. package/tokens/definitions/sbc.ts +13 -0
  425. package/tokens/definitions/siusd.ts +13 -0
  426. package/tokens/definitions/stcusd.ts +13 -0
  427. package/tokens/definitions/susde.ts +13 -0
  428. package/tokens/definitions/syrupusdc.ts +13 -0
  429. package/tokens/definitions/thetausd.ts +13 -0
  430. package/tokens/definitions/usd1.ts +13 -0
  431. package/tokens/definitions/usdb.ts +13 -0
  432. package/tokens/definitions/usdc.ts +67 -0
  433. package/tokens/definitions/usdce.ts +14 -0
  434. package/tokens/definitions/usde.ts +13 -0
  435. package/tokens/definitions/usdt0.ts +13 -0
  436. package/tokens/definitions/wsrusd.ts +13 -0
  437. package/tokens/index.ts +31 -0
  438. package/tokens/package.json +6 -0
  439. package/utils/encoding/fromRlp.ts +22 -3
  440. package/utils/rpc/http.ts +70 -2
  441. package/utils/transaction/parseTransaction.ts +7 -2
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const gusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000005c0bac7cef389a11', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'Generic USD',
10
+ symbol: 'GUSD',
11
+ });
12
+ //# sourceMappingURL=gusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gusd.js","sourceRoot":"","sources":["../../../tokens/definitions/gusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const iusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000ab02d39df30bd17e', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'InfiniFi USD',
10
+ symbol: 'iUSD',
11
+ });
12
+ //# sourceMappingURL=iusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iusd.js","sourceRoot":"","sources":["../../../tokens/definitions/iusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const pathusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000000000000000000000', // tempo
6
+ 42431: '0x20c0000000000000000000000000000000000000', // tempoModerato
7
+ },
8
+ currency: 'USD',
9
+ decimals: 6,
10
+ name: 'PathUSD',
11
+ symbol: 'pathUSD',
12
+ });
13
+ //# sourceMappingURL=pathusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathusd.js","sourceRoot":"","sources":["../../../tokens/definitions/pathusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC;IAC/C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;QAC5D,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;KACtE;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const reusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000383a23bacb546ab9', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'Re Protocol reUSD',
10
+ symbol: 'reUSD',
11
+ });
12
+ //# sourceMappingURL=reusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reusd.js","sourceRoot":"","sources":["../../../tokens/definitions/reusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const rusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000007f7ba549dd0251b9', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'Reservoir Stablecoin',
10
+ symbol: 'rUSD',
11
+ });
12
+ //# sourceMappingURL=rusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rusd.js","sourceRoot":"","sources":["../../../tokens/definitions/rusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const sbc = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000ae247a1130450f09', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'Stable Coin',
10
+ symbol: 'SBC',
11
+ });
12
+ //# sourceMappingURL=sbc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sbc.js","sourceRoot":"","sources":["../../../tokens/definitions/sbc.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC;IAC3C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,KAAK;CACd,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const siusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000048c8f36df1c9a4a', // tempo
6
+ },
7
+ currency: 'siUSD',
8
+ decimals: 6,
9
+ name: 'InfiniFi Staked USD',
10
+ symbol: 'siUSD',
11
+ });
12
+ //# sourceMappingURL=siusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siusd.js","sourceRoot":"","sources":["../../../tokens/definitions/siusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const stcusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000008ee4fcff88888888', // tempo
6
+ },
7
+ currency: 'stcUSD',
8
+ decimals: 6,
9
+ name: 'Staked Cap USD',
10
+ symbol: 'stcUSD',
11
+ });
12
+ //# sourceMappingURL=stcusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stcusd.js","sourceRoot":"","sources":["../../../tokens/definitions/stcusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const susde = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000bd95bfb69fbe6ce3', // tempo
6
+ },
7
+ currency: 'sUSDe',
8
+ decimals: 6,
9
+ name: 'Staked USDe',
10
+ symbol: 'sUSDe',
11
+ });
12
+ //# sourceMappingURL=susde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"susde.js","sourceRoot":"","sources":["../../../tokens/definitions/susde.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const syrupusdc = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000008191667423f70e67', // tempo
6
+ },
7
+ currency: 'syrupUSDC',
8
+ decimals: 6,
9
+ name: 'Syrup USDC',
10
+ symbol: 'syrupUSDC',
11
+ });
12
+ //# sourceMappingURL=syrupusdc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syrupusdc.js","sourceRoot":"","sources":["../../../tokens/definitions/syrupusdc.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC;IACjD,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,WAAW;CACpB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const thetausd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 42431: '0x20c0000000000000000000000000000000000003', // tempoModerato
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'ThetaUSD',
10
+ symbol: 'thetaUSD',
11
+ });
12
+ //# sourceMappingURL=thetausd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thetausd.js","sourceRoot":"","sources":["../../../tokens/definitions/thetausd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;IAChD,SAAS,EAAE;QACT,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;KACtE;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const usd1 = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000111111111e910f0f', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'USD1',
10
+ symbol: 'USD1',
11
+ });
12
+ //# sourceMappingURL=usd1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usd1.js","sourceRoot":"","sources":["../../../tokens/definitions/usd1.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const usdb = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000003158081efd85bfc2', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'USDBridge',
10
+ symbol: 'USDB',
11
+ });
12
+ //# sourceMappingURL=usdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdb.js","sourceRoot":"","sources":["../../../tokens/definitions/usdb.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,67 @@
1
+ import { defineToken } from '../defineToken.js';
2
+ /**
3
+ * [USDC](https://www.circle.com/usdc) token, with canonical contract addresses
4
+ * across supported chains.
5
+ *
6
+ * Pass to a Client's `tokens` array, call with a chain id to produce a
7
+ * [token config](/docs/chains/tokens), or read the metadata and `addresses`
8
+ * map directly.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { createPublicClient, http } from 'viem'
13
+ * import { mainnet } from 'viem/chains'
14
+ * import { usdc } from 'viem/tokens'
15
+ *
16
+ * const client = createPublicClient({
17
+ * chain: mainnet,
18
+ * tokens: [usdc],
19
+ * transport: http(),
20
+ * })
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import { usdc } from 'viem/tokens'
26
+ *
27
+ * usdc.addresses[1]
28
+ * // '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
29
+ * ```
30
+ */
31
+ export const usdc = /*#__PURE__*/ defineToken({
32
+ addresses: {
33
+ 1: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // mainnet
34
+ 10: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', // optimism
35
+ 130: '0x078D782b760474a361dDA0AF3839290b0EF57AD6', // unichain
36
+ 137: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', // polygon
37
+ 146: '0x29219dd400f2Bf60E5a23d13Be72B486D4038894', // sonic
38
+ 480: '0x79A02482A880bCE3F13e09Da970dC34db4CD24d1', // worldchain
39
+ 1301: '0x31d0220469e10c4E71834a79b1f276d740d3768F', // unichainSepolia
40
+ 1328: '0x4fCF1784B31630811181f670Aea7A7bEF803eaED', // seiTestnet
41
+ 1329: '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392', // sei
42
+ 4801: '0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88', // worldchainSepolia
43
+ 8453: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // base
44
+ 42161: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', // arbitrum
45
+ 43113: '0x5425890298aed601595a70AB815c96711a31Bc65', // avalancheFuji
46
+ 43114: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', // avalanche
47
+ 57054: '0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6', // sonicBlazeTestnet
48
+ 57073: '0x2D270e6886d130D724215A266106e6832161EAEd', // ink
49
+ 59141: '0xFEce4462D57bD51A6A552365A011b95f0E16d9B7', // lineaSepolia
50
+ 59144: '0x176211869cA2b568f2A7D4EE941E073a821EE1ff', // linea
51
+ 80002: '0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582', // polygonAmoy
52
+ 81224: '0xd996633a415985DBd7D6D12f4A4343E31f5037cf', // codex
53
+ 84532: '0x036CbD53842c5426634e7929541eC2318f3dCF7e', // baseSepolia
54
+ 421614: '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d', // arbitrumSepolia
55
+ 763373: '0xFabab97dCE620294D2B0b0e46C68964e326300Ac', // inkSepolia
56
+ 812242: '0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f', // codexTestnet
57
+ 5042002: '0x3600000000000000000000000000000000000000', // arcTestnet
58
+ 11155111: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', // sepolia
59
+ 11155420: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7', // optimismSepolia
60
+ },
61
+ currency: 'USD',
62
+ decimals: 6,
63
+ name: 'USD Coin',
64
+ popular: true,
65
+ symbol: 'USDC',
66
+ });
67
+ //# sourceMappingURL=usdc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdc.js","sourceRoot":"","sources":["../../../tokens/definitions/usdc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,CAAC,EAAE,4CAA4C,EAAE,UAAU;QAC3D,EAAE,EAAE,4CAA4C,EAAE,WAAW;QAC7D,GAAG,EAAE,4CAA4C,EAAE,WAAW;QAC9D,GAAG,EAAE,4CAA4C,EAAE,UAAU;QAC7D,GAAG,EAAE,4CAA4C,EAAE,QAAQ;QAC3D,GAAG,EAAE,4CAA4C,EAAE,aAAa;QAChE,IAAI,EAAE,4CAA4C,EAAE,kBAAkB;QACtE,IAAI,EAAE,4CAA4C,EAAE,aAAa;QACjE,IAAI,EAAE,4CAA4C,EAAE,MAAM;QAC1D,IAAI,EAAE,4CAA4C,EAAE,oBAAoB;QACxE,IAAI,EAAE,4CAA4C,EAAE,OAAO;QAC3D,KAAK,EAAE,4CAA4C,EAAE,WAAW;QAChE,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;QACrE,KAAK,EAAE,4CAA4C,EAAE,YAAY;QACjE,KAAK,EAAE,4CAA4C,EAAE,oBAAoB;QACzE,KAAK,EAAE,4CAA4C,EAAE,MAAM;QAC3D,KAAK,EAAE,4CAA4C,EAAE,eAAe;QACpE,KAAK,EAAE,4CAA4C,EAAE,QAAQ;QAC7D,KAAK,EAAE,4CAA4C,EAAE,cAAc;QACnE,KAAK,EAAE,4CAA4C,EAAE,QAAQ;QAC7D,KAAK,EAAE,4CAA4C,EAAE,cAAc;QACnE,MAAM,EAAE,4CAA4C,EAAE,kBAAkB;QACxE,MAAM,EAAE,4CAA4C,EAAE,aAAa;QACnE,MAAM,EAAE,4CAA4C,EAAE,eAAe;QACrE,OAAO,EAAE,4CAA4C,EAAE,aAAa;QACpE,QAAQ,EAAE,4CAA4C,EAAE,UAAU;QAClE,QAAQ,EAAE,4CAA4C,EAAE,kBAAkB;KAC3E;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const usdce = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000b9537d11c60e8b50', // tempo
6
+ 42431: '0x20c0000000000000000000009e8d7eb59b783726', // tempoModerato
7
+ },
8
+ currency: 'USD',
9
+ decimals: 6,
10
+ name: 'Bridged USDC (Stargate)',
11
+ symbol: 'USDC.e',
12
+ });
13
+ //# sourceMappingURL=usdce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdce.js","sourceRoot":"","sources":["../../../tokens/definitions/usdce.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;QAC5D,KAAK,EAAE,4CAA4C,EAAE,gBAAgB;KACtE;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const usde = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c0000000000000000000002f52d5cc21a3207b', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'USDe',
10
+ symbol: 'USDe',
11
+ });
12
+ //# sourceMappingURL=usde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usde.js","sourceRoot":"","sources":["../../../tokens/definitions/usde.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const usdt0 = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c00000000000000000000014f22ca97301eb73', // tempo
6
+ },
7
+ currency: 'USD',
8
+ decimals: 6,
9
+ name: 'USDT0',
10
+ symbol: 'USDT0',
11
+ });
12
+ //# sourceMappingURL=usdt0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdt0.js","sourceRoot":"","sources":["../../../tokens/definitions/usdt0.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ // Generated with `pnpm gen:tokenlist`. Do not modify manually.
2
+ import { defineToken } from '../defineToken.js';
3
+ export const wsrusd = /*#__PURE__*/ defineToken({
4
+ addresses: {
5
+ 4217: '0x20c000000000000000000000aeed2ec36a54d0e5', // tempo
6
+ },
7
+ currency: 'wsrUSD',
8
+ decimals: 6,
9
+ name: 'Wrapped Savings rUSD',
10
+ symbol: 'wsrUSD',
11
+ });
12
+ //# sourceMappingURL=wsrusd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wsrusd.js","sourceRoot":"","sources":["../../../tokens/definitions/wsrusd.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C,EAAE,QAAQ;KAC7D;IACD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"}
@@ -0,0 +1,32 @@
1
+ // biome-ignore lint/performance/noBarrelFile: entrypoint module
2
+ export { defineToken } from './defineToken.js';
3
+ export { alphausd } from './definitions/alphausd.js';
4
+ export { betausd } from './definitions/betausd.js';
5
+ export { brla } from './definitions/brla.js';
6
+ export { cbbtc } from './definitions/cbbtc.js';
7
+ export { chfau } from './definitions/chfau.js';
8
+ export { cusd } from './definitions/cusd.js';
9
+ export { dlusd } from './definitions/dlusd.js';
10
+ export { eurau } from './definitions/eurau.js';
11
+ export { eurce } from './definitions/eurce.js';
12
+ export { frxusd } from './definitions/frxusd.js';
13
+ export { gbpa } from './definitions/gbpa.js';
14
+ export { gusd } from './definitions/gusd.js';
15
+ export { iusd } from './definitions/iusd.js';
16
+ export { pathusd } from './definitions/pathusd.js';
17
+ export { reusd } from './definitions/reusd.js';
18
+ export { rusd } from './definitions/rusd.js';
19
+ export { sbc } from './definitions/sbc.js';
20
+ export { siusd } from './definitions/siusd.js';
21
+ export { stcusd } from './definitions/stcusd.js';
22
+ export { susde } from './definitions/susde.js';
23
+ export { syrupusdc } from './definitions/syrupusdc.js';
24
+ export { thetausd } from './definitions/thetausd.js';
25
+ export { usd1 } from './definitions/usd1.js';
26
+ export { usdb } from './definitions/usdb.js';
27
+ export { usdc } from './definitions/usdc.js';
28
+ export { usdce } from './definitions/usdce.js';
29
+ export { usde } from './definitions/usde.js';
30
+ export { usdt0 } from './definitions/usdt0.js';
31
+ export { wsrusd } from './definitions/wsrusd.js';
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tokens/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAA2B,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { BaseError } from '../../errors/base.js';
2
- import { InvalidHexValueError, } from '../../errors/encoding.js';
2
+ import { InvalidHexValueError, RlpDepthLimitExceededError, } from '../../errors/encoding.js';
3
3
  import { createCursor, } from '../cursor.js';
4
4
  import { hexToBytes } from './toBytes.js';
5
5
  import { bytesToHex } from './toHex.js';
6
+ const rlpDepthLimit = 1_024;
6
7
  export function fromRlp(value, to = 'hex') {
7
8
  const bytes = (() => {
8
9
  if (typeof value === 'string') {
@@ -18,7 +19,9 @@ export function fromRlp(value, to = 'hex') {
18
19
  const result = fromRlpCursor(cursor, to);
19
20
  return result;
20
21
  }
21
- function fromRlpCursor(cursor, to = 'hex') {
22
+ function fromRlpCursor(cursor, to = 'hex', recursiveDepth = 0) {
23
+ if (recursiveDepth >= rlpDepthLimit)
24
+ throw new RlpDepthLimitExceededError({ limit: rlpDepthLimit });
22
25
  if (cursor.bytes.length === 0)
23
26
  return (to === 'hex' ? bytesToHex(cursor.bytes) : cursor.bytes);
24
27
  const prefix = cursor.readByte();
@@ -32,7 +35,7 @@ function fromRlpCursor(cursor, to = 'hex') {
32
35
  }
33
36
  // list
34
37
  const length = readLength(cursor, prefix, 0xc0);
35
- return readList(cursor, length, to);
38
+ return readList(cursor, length, to, recursiveDepth + 1);
36
39
  }
37
40
  function readLength(cursor, prefix, offset) {
38
41
  if (offset === 0x80 && prefix < 0x80)
@@ -49,11 +52,11 @@ function readLength(cursor, prefix, offset) {
49
52
  return cursor.readUint32();
50
53
  throw new BaseError('Invalid RLP prefix');
51
54
  }
52
- function readList(cursor, length, to) {
55
+ function readList(cursor, length, to, recursiveDepth) {
53
56
  const position = cursor.position;
54
57
  const value = [];
55
58
  while (cursor.position - position < length)
56
- value.push(fromRlpCursor(cursor, to));
59
+ value.push(fromRlpCursor(cursor, to, recursiveDepth));
57
60
  return value;
58
61
  }
59
62
  //# sourceMappingURL=fromRlp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fromRlp.js","sourceRoot":"","sources":["../../../utils/encoding/fromRlp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fromRlp.js","sourceRoot":"","sources":["../../../utils/encoding/fromRlp.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import { HttpRequestError, TimeoutError, } from '../../errors/request.js';
1
+ import { HttpRequestError, ResponseBodyTooLargeError, TimeoutError, } from '../../errors/request.js';
2
2
  import { getAbortError, isAbortError, } from '../../errors/utils.js';
3
3
  import { withTimeout, } from '../promise/withTimeout.js';
4
4
  import { stringify } from '../stringify.js';
5
5
  import { idCache } from './id.js';
6
+ const defaultMaxResponseBodySize = 10_485_760;
6
7
  export function getHttpRpcClient(url_, options = {}) {
7
8
  const { url, headers: headers_url } = parseUrl(url_);
8
9
  return {
9
10
  async request(params) {
10
- const { body, fetchFn = options.fetchFn ?? fetch, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
11
+ const { body, fetchFn = options.fetchFn ?? fetch, maxResponseBodySize = options.maxResponseBodySize ??
12
+ defaultMaxResponseBodySize, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
11
13
  const fetchOptions = {
12
14
  ...(options.fetchOptions ?? {}),
13
15
  ...(params.fetchOptions ?? {}),
@@ -48,10 +50,13 @@ export function getHttpRpcClient(url_, options = {}) {
48
50
  if (onResponse)
49
51
  await onResponse(response);
50
52
  let data;
53
+ const responseBody = await readResponseBody(response, {
54
+ maxResponseBodySize,
55
+ });
51
56
  if (response.headers.get('Content-Type')?.startsWith('application/json'))
52
- data = await response.json();
57
+ data = JSON.parse(responseBody);
53
58
  else {
54
- data = await response.text();
59
+ data = responseBody;
55
60
  try {
56
61
  data = JSON.parse(data || '{}');
57
62
  }
@@ -84,6 +89,8 @@ export function getHttpRpcClient(url_, options = {}) {
84
89
  throw err;
85
90
  if (err instanceof HttpRequestError)
86
91
  throw err;
92
+ if (err instanceof ResponseBodyTooLargeError)
93
+ throw err;
87
94
  if (err instanceof TimeoutError)
88
95
  throw err;
89
96
  throw new HttpRequestError({
@@ -95,6 +102,54 @@ export function getHttpRpcClient(url_, options = {}) {
95
102
  },
96
103
  };
97
104
  }
105
+ async function readResponseBody(response, { maxResponseBodySize }) {
106
+ if (maxResponseBodySize === false)
107
+ return response.text();
108
+ const contentLength = response.headers.get('Content-Length');
109
+ if (contentLength) {
110
+ const size = Number(contentLength);
111
+ if (size > maxResponseBodySize)
112
+ throw new ResponseBodyTooLargeError({
113
+ maxSize: maxResponseBodySize,
114
+ size,
115
+ });
116
+ }
117
+ if (!response.body) {
118
+ const body = await response.text();
119
+ const size = new TextEncoder().encode(body).length;
120
+ if (size > maxResponseBodySize)
121
+ throw new ResponseBodyTooLargeError({
122
+ maxSize: maxResponseBodySize,
123
+ size,
124
+ });
125
+ return body;
126
+ }
127
+ const reader = response.body.getReader();
128
+ const decoder = new TextDecoder();
129
+ let body = '';
130
+ let size = 0;
131
+ try {
132
+ while (true) {
133
+ const { done, value } = await reader.read();
134
+ if (done)
135
+ break;
136
+ size += value.byteLength;
137
+ if (size > maxResponseBodySize) {
138
+ await reader.cancel();
139
+ throw new ResponseBodyTooLargeError({
140
+ maxSize: maxResponseBodySize,
141
+ size,
142
+ });
143
+ }
144
+ body += decoder.decode(value, { stream: true });
145
+ }
146
+ body += decoder.decode();
147
+ return body;
148
+ }
149
+ finally {
150
+ reader.releaseLock();
151
+ }
152
+ }
98
153
  /** @internal */
99
154
  export function parseUrl(url_) {
100
155
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { InvalidAddressError, } from '../../errors/address.js';
2
- import { InvalidLegacyVError, InvalidSerializedTransactionError, } from '../../errors/transaction.js';
2
+ import { InvalidLegacyVError, InvalidSerializedTransactionError, InvalidYParityError, } from '../../errors/transaction.js';
3
3
  import { isAddress } from '../address/isAddress.js';
4
4
  import { toBlobSidecars } from '../blob/toBlobSidecars.js';
5
5
  import { isHex } from '../data/isHex.js';
@@ -338,7 +338,10 @@ function parseAuthorizationList(serializedAuthorizationList) {
338
338
  }
339
339
  function parseEIP155Signature(transactionArray) {
340
340
  const signature = transactionArray.slice(-3);
341
- const v = signature[0] === '0x' || hexToBigInt(signature[0]) === 0n ? 27n : 28n;
341
+ const yParity = signature[0] === '0x' ? 0n : hexToBigInt(signature[0]);
342
+ if (yParity !== 0n && yParity !== 1n)
343
+ throw new InvalidYParityError({ yParity });
344
+ const v = yParity === 0n ? 27n : 28n;
342
345
  return {
343
346
  r: padHex(signature[1], { size: 32 }),
344
347
  s: padHex(signature[2], { size: 32 }),