viem 2.47.19 → 2.48.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 (304) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/_cjs/actions/public/fillTransaction.js +1 -1
  3. package/_cjs/actions/public/fillTransaction.js.map +1 -1
  4. package/_cjs/actions/wallet/signTransaction.js +1 -0
  5. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  6. package/_cjs/chains/definitions/ancient8Sepolia.js +1 -0
  7. package/_cjs/chains/definitions/ancient8Sepolia.js.map +1 -1
  8. package/_cjs/chains/definitions/artheraTestnet.js +1 -0
  9. package/_cjs/chains/definitions/artheraTestnet.js.map +1 -1
  10. package/_cjs/chains/definitions/autheoTestnet.js +1 -0
  11. package/_cjs/chains/definitions/autheoTestnet.js.map +1 -1
  12. package/_cjs/chains/definitions/codexTestnet.js +1 -0
  13. package/_cjs/chains/definitions/codexTestnet.js.map +1 -1
  14. package/_cjs/chains/definitions/dchainTestnet.js +1 -0
  15. package/_cjs/chains/definitions/dchainTestnet.js.map +1 -1
  16. package/_cjs/chains/definitions/edgelessTestnet.js +1 -0
  17. package/_cjs/chains/definitions/edgelessTestnet.js.map +1 -1
  18. package/_cjs/chains/definitions/edgewareTestnet.js +1 -0
  19. package/_cjs/chains/definitions/edgewareTestnet.js.map +1 -1
  20. package/_cjs/chains/definitions/evmosTestnet.js +1 -0
  21. package/_cjs/chains/definitions/evmosTestnet.js.map +1 -1
  22. package/_cjs/chains/definitions/exSatTestnet.js +1 -0
  23. package/_cjs/chains/definitions/exSatTestnet.js.map +1 -1
  24. package/_cjs/chains/definitions/flowPreviewnet.js +1 -0
  25. package/_cjs/chains/definitions/flowPreviewnet.js.map +1 -1
  26. package/_cjs/chains/definitions/fraxtalTestnet.js +1 -0
  27. package/_cjs/chains/definitions/fraxtalTestnet.js.map +1 -1
  28. package/_cjs/chains/definitions/haqqTestedge2.js +1 -0
  29. package/_cjs/chains/definitions/haqqTestedge2.js.map +1 -1
  30. package/_cjs/chains/definitions/horizenTestnet.js +2 -2
  31. package/_cjs/chains/definitions/horizenTestnet.js.map +1 -1
  32. package/_cjs/chains/definitions/huddle01Testnet.js +1 -0
  33. package/_cjs/chains/definitions/huddle01Testnet.js.map +1 -1
  34. package/_cjs/chains/definitions/humanodeTestnet5.js +1 -0
  35. package/_cjs/chains/definitions/humanodeTestnet5.js.map +1 -1
  36. package/_cjs/chains/definitions/meterTestnet.js +1 -0
  37. package/_cjs/chains/definitions/meterTestnet.js.map +1 -1
  38. package/_cjs/chains/definitions/metisGoerli.js +1 -0
  39. package/_cjs/chains/definitions/metisGoerli.js.map +1 -1
  40. package/_cjs/chains/definitions/metisSepolia.js +1 -0
  41. package/_cjs/chains/definitions/metisSepolia.js.map +1 -1
  42. package/_cjs/chains/definitions/moonbeam.js +1 -1
  43. package/_cjs/chains/definitions/moonbeam.js.map +1 -1
  44. package/_cjs/chains/definitions/moonriver.js +1 -1
  45. package/_cjs/chains/definitions/moonriver.js.map +1 -1
  46. package/_cjs/chains/definitions/otimDevnet.js +1 -0
  47. package/_cjs/chains/definitions/otimDevnet.js.map +1 -1
  48. package/_cjs/chains/definitions/rolluxTestnet.js +1 -0
  49. package/_cjs/chains/definitions/rolluxTestnet.js.map +1 -1
  50. package/_cjs/chains/definitions/swellchainTestnet.js +1 -0
  51. package/_cjs/chains/definitions/swellchainTestnet.js.map +1 -1
  52. package/_cjs/chains/definitions/syscoinTestnet.js +1 -0
  53. package/_cjs/chains/definitions/syscoinTestnet.js.map +1 -1
  54. package/_cjs/chains/definitions/taikoKatla.js +1 -0
  55. package/_cjs/chains/definitions/taikoKatla.js.map +1 -1
  56. package/_cjs/chains/definitions/taikoTestnetSepolia.js +1 -0
  57. package/_cjs/chains/definitions/taikoTestnetSepolia.js.map +1 -1
  58. package/_cjs/chains/definitions/tempoDevnet.js +1 -0
  59. package/_cjs/chains/definitions/tempoDevnet.js.map +1 -1
  60. package/_cjs/chains/definitions/tempoModerato.js +1 -0
  61. package/_cjs/chains/definitions/tempoModerato.js.map +1 -1
  62. package/_cjs/chains/definitions/xdcTestnet.js +1 -0
  63. package/_cjs/chains/definitions/xdcTestnet.js.map +1 -1
  64. package/_cjs/chains/definitions/zkLinkNovaSepoliaTestnet.js +1 -0
  65. package/_cjs/chains/definitions/zkLinkNovaSepoliaTestnet.js.map +1 -1
  66. package/_cjs/errors/version.js +1 -1
  67. package/_cjs/errors/version.js.map +1 -1
  68. package/_cjs/tempo/Addresses.js +2 -1
  69. package/_cjs/tempo/Addresses.js.map +1 -1
  70. package/_cjs/tempo/Decorator.js +16 -0
  71. package/_cjs/tempo/Decorator.js.map +1 -1
  72. package/_cjs/tempo/Formatters.js +5 -1
  73. package/_cjs/tempo/Formatters.js.map +1 -1
  74. package/_cjs/tempo/Storage.js +77 -0
  75. package/_cjs/tempo/Storage.js.map +1 -0
  76. package/_cjs/tempo/actions/index.js +2 -1
  77. package/_cjs/tempo/actions/index.js.map +1 -1
  78. package/_cjs/tempo/actions/zone.js +432 -0
  79. package/_cjs/tempo/actions/zone.js.map +1 -0
  80. package/_cjs/tempo/index.js +2 -1
  81. package/_cjs/tempo/index.js.map +1 -1
  82. package/_cjs/tempo/zones/Abis.js +82 -0
  83. package/_cjs/tempo/zones/Abis.js.map +1 -0
  84. package/_cjs/tempo/zones/index.js +13 -0
  85. package/_cjs/tempo/zones/index.js.map +1 -0
  86. package/_cjs/tempo/zones/transport.js +24 -0
  87. package/_cjs/tempo/zones/transport.js.map +1 -0
  88. package/_cjs/tempo/zones/zone.js +53 -0
  89. package/_cjs/tempo/zones/zone.js.map +1 -0
  90. package/_esm/actions/public/fillTransaction.js +1 -1
  91. package/_esm/actions/public/fillTransaction.js.map +1 -1
  92. package/_esm/actions/wallet/signTransaction.js +1 -0
  93. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  94. package/_esm/chains/definitions/ancient8Sepolia.js +1 -0
  95. package/_esm/chains/definitions/ancient8Sepolia.js.map +1 -1
  96. package/_esm/chains/definitions/artheraTestnet.js +1 -0
  97. package/_esm/chains/definitions/artheraTestnet.js.map +1 -1
  98. package/_esm/chains/definitions/autheoTestnet.js +1 -0
  99. package/_esm/chains/definitions/autheoTestnet.js.map +1 -1
  100. package/_esm/chains/definitions/codexTestnet.js +1 -0
  101. package/_esm/chains/definitions/codexTestnet.js.map +1 -1
  102. package/_esm/chains/definitions/dchainTestnet.js +1 -0
  103. package/_esm/chains/definitions/dchainTestnet.js.map +1 -1
  104. package/_esm/chains/definitions/edgelessTestnet.js +1 -0
  105. package/_esm/chains/definitions/edgelessTestnet.js.map +1 -1
  106. package/_esm/chains/definitions/edgewareTestnet.js +1 -0
  107. package/_esm/chains/definitions/edgewareTestnet.js.map +1 -1
  108. package/_esm/chains/definitions/evmosTestnet.js +1 -0
  109. package/_esm/chains/definitions/evmosTestnet.js.map +1 -1
  110. package/_esm/chains/definitions/exSatTestnet.js +1 -0
  111. package/_esm/chains/definitions/exSatTestnet.js.map +1 -1
  112. package/_esm/chains/definitions/flowPreviewnet.js +1 -0
  113. package/_esm/chains/definitions/flowPreviewnet.js.map +1 -1
  114. package/_esm/chains/definitions/fraxtalTestnet.js +1 -0
  115. package/_esm/chains/definitions/fraxtalTestnet.js.map +1 -1
  116. package/_esm/chains/definitions/haqqTestedge2.js +1 -0
  117. package/_esm/chains/definitions/haqqTestedge2.js.map +1 -1
  118. package/_esm/chains/definitions/horizenTestnet.js +2 -2
  119. package/_esm/chains/definitions/horizenTestnet.js.map +1 -1
  120. package/_esm/chains/definitions/huddle01Testnet.js +1 -0
  121. package/_esm/chains/definitions/huddle01Testnet.js.map +1 -1
  122. package/_esm/chains/definitions/humanodeTestnet5.js +1 -0
  123. package/_esm/chains/definitions/humanodeTestnet5.js.map +1 -1
  124. package/_esm/chains/definitions/meterTestnet.js +1 -0
  125. package/_esm/chains/definitions/meterTestnet.js.map +1 -1
  126. package/_esm/chains/definitions/metisGoerli.js +1 -0
  127. package/_esm/chains/definitions/metisGoerli.js.map +1 -1
  128. package/_esm/chains/definitions/metisSepolia.js +1 -0
  129. package/_esm/chains/definitions/metisSepolia.js.map +1 -1
  130. package/_esm/chains/definitions/moonbeam.js +1 -1
  131. package/_esm/chains/definitions/moonbeam.js.map +1 -1
  132. package/_esm/chains/definitions/moonriver.js +1 -1
  133. package/_esm/chains/definitions/moonriver.js.map +1 -1
  134. package/_esm/chains/definitions/otimDevnet.js +1 -0
  135. package/_esm/chains/definitions/otimDevnet.js.map +1 -1
  136. package/_esm/chains/definitions/rolluxTestnet.js +1 -0
  137. package/_esm/chains/definitions/rolluxTestnet.js.map +1 -1
  138. package/_esm/chains/definitions/swellchainTestnet.js +1 -0
  139. package/_esm/chains/definitions/swellchainTestnet.js.map +1 -1
  140. package/_esm/chains/definitions/syscoinTestnet.js +1 -0
  141. package/_esm/chains/definitions/syscoinTestnet.js.map +1 -1
  142. package/_esm/chains/definitions/taikoKatla.js +1 -0
  143. package/_esm/chains/definitions/taikoKatla.js.map +1 -1
  144. package/_esm/chains/definitions/taikoTestnetSepolia.js +1 -0
  145. package/_esm/chains/definitions/taikoTestnetSepolia.js.map +1 -1
  146. package/_esm/chains/definitions/tempoDevnet.js +1 -0
  147. package/_esm/chains/definitions/tempoDevnet.js.map +1 -1
  148. package/_esm/chains/definitions/tempoModerato.js +1 -0
  149. package/_esm/chains/definitions/tempoModerato.js.map +1 -1
  150. package/_esm/chains/definitions/xdcTestnet.js +1 -0
  151. package/_esm/chains/definitions/xdcTestnet.js.map +1 -1
  152. package/_esm/chains/definitions/zkLinkNovaSepoliaTestnet.js +1 -0
  153. package/_esm/chains/definitions/zkLinkNovaSepoliaTestnet.js.map +1 -1
  154. package/_esm/errors/version.js +1 -1
  155. package/_esm/errors/version.js.map +1 -1
  156. package/_esm/tempo/Addresses.js +1 -0
  157. package/_esm/tempo/Addresses.js.map +1 -1
  158. package/_esm/tempo/Decorator.js +16 -0
  159. package/_esm/tempo/Decorator.js.map +1 -1
  160. package/_esm/tempo/Formatters.js +5 -1
  161. package/_esm/tempo/Formatters.js.map +1 -1
  162. package/_esm/tempo/Storage.js +96 -0
  163. package/_esm/tempo/Storage.js.map +1 -0
  164. package/_esm/tempo/actions/index.js +1 -0
  165. package/_esm/tempo/actions/index.js.map +1 -1
  166. package/_esm/tempo/actions/zone.js +786 -0
  167. package/_esm/tempo/actions/zone.js.map +1 -0
  168. package/_esm/tempo/index.js +1 -0
  169. package/_esm/tempo/index.js.map +1 -1
  170. package/_esm/tempo/zones/Abis.js +79 -0
  171. package/_esm/tempo/zones/Abis.js.map +1 -0
  172. package/_esm/tempo/zones/index.js +5 -0
  173. package/_esm/tempo/zones/index.js.map +1 -0
  174. package/_esm/tempo/zones/transport.js +39 -0
  175. package/_esm/tempo/zones/transport.js.map +1 -0
  176. package/_esm/tempo/zones/zone.js +49 -0
  177. package/_esm/tempo/zones/zone.js.map +1 -0
  178. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  179. package/_types/chains/definitions/ancient8Sepolia.d.ts +1 -1
  180. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  181. package/_types/chains/definitions/artheraTestnet.d.ts +1 -1
  182. package/_types/chains/definitions/artheraTestnet.d.ts.map +1 -1
  183. package/_types/chains/definitions/autheoTestnet.d.ts +1 -1
  184. package/_types/chains/definitions/autheoTestnet.d.ts.map +1 -1
  185. package/_types/chains/definitions/codexTestnet.d.ts +1 -1
  186. package/_types/chains/definitions/codexTestnet.d.ts.map +1 -1
  187. package/_types/chains/definitions/dchainTestnet.d.ts +1 -1
  188. package/_types/chains/definitions/dchainTestnet.d.ts.map +1 -1
  189. package/_types/chains/definitions/edgelessTestnet.d.ts +1 -1
  190. package/_types/chains/definitions/edgelessTestnet.d.ts.map +1 -1
  191. package/_types/chains/definitions/edgewareTestnet.d.ts +1 -1
  192. package/_types/chains/definitions/edgewareTestnet.d.ts.map +1 -1
  193. package/_types/chains/definitions/evmosTestnet.d.ts +1 -1
  194. package/_types/chains/definitions/evmosTestnet.d.ts.map +1 -1
  195. package/_types/chains/definitions/exSatTestnet.d.ts +1 -1
  196. package/_types/chains/definitions/exSatTestnet.d.ts.map +1 -1
  197. package/_types/chains/definitions/flowPreviewnet.d.ts +1 -1
  198. package/_types/chains/definitions/flowPreviewnet.d.ts.map +1 -1
  199. package/_types/chains/definitions/fraxtalTestnet.d.ts +1 -1
  200. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  201. package/_types/chains/definitions/haqqTestedge2.d.ts +1 -1
  202. package/_types/chains/definitions/haqqTestedge2.d.ts.map +1 -1
  203. package/_types/chains/definitions/horizenTestnet.d.ts +2 -2
  204. package/_types/chains/definitions/huddle01Testnet.d.ts +1 -1
  205. package/_types/chains/definitions/huddle01Testnet.d.ts.map +1 -1
  206. package/_types/chains/definitions/humanodeTestnet5.d.ts +1 -1
  207. package/_types/chains/definitions/humanodeTestnet5.d.ts.map +1 -1
  208. package/_types/chains/definitions/meterTestnet.d.ts +1 -1
  209. package/_types/chains/definitions/meterTestnet.d.ts.map +1 -1
  210. package/_types/chains/definitions/metisGoerli.d.ts +1 -1
  211. package/_types/chains/definitions/metisGoerli.d.ts.map +1 -1
  212. package/_types/chains/definitions/metisSepolia.d.ts +1 -1
  213. package/_types/chains/definitions/metisSepolia.d.ts.map +1 -1
  214. package/_types/chains/definitions/moonbeam.d.ts +1 -1
  215. package/_types/chains/definitions/moonriver.d.ts +1 -1
  216. package/_types/chains/definitions/otimDevnet.d.ts +1 -1
  217. package/_types/chains/definitions/otimDevnet.d.ts.map +1 -1
  218. package/_types/chains/definitions/rolluxTestnet.d.ts +1 -1
  219. package/_types/chains/definitions/rolluxTestnet.d.ts.map +1 -1
  220. package/_types/chains/definitions/swellchainTestnet.d.ts +1 -1
  221. package/_types/chains/definitions/swellchainTestnet.d.ts.map +1 -1
  222. package/_types/chains/definitions/syscoinTestnet.d.ts +1 -1
  223. package/_types/chains/definitions/syscoinTestnet.d.ts.map +1 -1
  224. package/_types/chains/definitions/taikoKatla.d.ts +1 -1
  225. package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
  226. package/_types/chains/definitions/taikoTestnetSepolia.d.ts +1 -1
  227. package/_types/chains/definitions/taikoTestnetSepolia.d.ts.map +1 -1
  228. package/_types/chains/definitions/tempoDevnet.d.ts +2 -1
  229. package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
  230. package/_types/chains/definitions/tempoModerato.d.ts +2 -1
  231. package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
  232. package/_types/chains/definitions/xdcTestnet.d.ts +1 -1
  233. package/_types/chains/definitions/xdcTestnet.d.ts.map +1 -1
  234. package/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts +1 -1
  235. package/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts.map +1 -1
  236. package/_types/errors/version.d.ts +1 -1
  237. package/_types/errors/version.d.ts.map +1 -1
  238. package/_types/tempo/Addresses.d.ts +1 -0
  239. package/_types/tempo/Addresses.d.ts.map +1 -1
  240. package/_types/tempo/Decorator.d.ts +283 -0
  241. package/_types/tempo/Decorator.d.ts.map +1 -1
  242. package/_types/tempo/Formatters.d.ts.map +1 -1
  243. package/_types/tempo/Storage.d.ts +42 -0
  244. package/_types/tempo/Storage.d.ts.map +1 -0
  245. package/_types/tempo/actions/index.d.ts +1 -0
  246. package/_types/tempo/actions/index.d.ts.map +1 -1
  247. package/_types/tempo/actions/zone.d.ts +874 -0
  248. package/_types/tempo/actions/zone.d.ts.map +1 -0
  249. package/_types/tempo/index.d.ts +1 -0
  250. package/_types/tempo/index.d.ts.map +1 -1
  251. package/_types/tempo/zones/Abis.d.ts +124 -0
  252. package/_types/tempo/zones/Abis.d.ts.map +1 -0
  253. package/_types/tempo/zones/index.d.ts +4 -0
  254. package/_types/tempo/zones/index.d.ts.map +1 -0
  255. package/_types/tempo/zones/transport.d.ts +26 -0
  256. package/_types/tempo/zones/transport.d.ts.map +1 -0
  257. package/_types/tempo/zones/zone.d.ts +2775 -0
  258. package/_types/tempo/zones/zone.d.ts.map +1 -0
  259. package/actions/public/fillTransaction.ts +1 -1
  260. package/actions/wallet/signTransaction.ts +1 -0
  261. package/chains/definitions/ancient8Sepolia.ts +1 -0
  262. package/chains/definitions/artheraTestnet.ts +1 -0
  263. package/chains/definitions/autheoTestnet.ts +1 -0
  264. package/chains/definitions/codexTestnet.ts +1 -0
  265. package/chains/definitions/dchainTestnet.ts +1 -0
  266. package/chains/definitions/edgelessTestnet.ts +1 -0
  267. package/chains/definitions/edgewareTestnet.ts +1 -0
  268. package/chains/definitions/evmosTestnet.ts +1 -0
  269. package/chains/definitions/exSatTestnet.ts +1 -0
  270. package/chains/definitions/flowPreviewnet.ts +1 -0
  271. package/chains/definitions/fraxtalTestnet.ts +1 -0
  272. package/chains/definitions/haqqTestedge2.ts +1 -0
  273. package/chains/definitions/horizenTestnet.ts +2 -2
  274. package/chains/definitions/huddle01Testnet.ts +1 -0
  275. package/chains/definitions/humanodeTestnet5.ts +1 -0
  276. package/chains/definitions/meterTestnet.ts +1 -0
  277. package/chains/definitions/metisGoerli.ts +1 -0
  278. package/chains/definitions/metisSepolia.ts +1 -0
  279. package/chains/definitions/moonbeam.ts +1 -1
  280. package/chains/definitions/moonriver.ts +1 -1
  281. package/chains/definitions/otimDevnet.ts +1 -0
  282. package/chains/definitions/rolluxTestnet.ts +1 -0
  283. package/chains/definitions/swellchainTestnet.ts +1 -0
  284. package/chains/definitions/syscoinTestnet.ts +1 -0
  285. package/chains/definitions/taikoKatla.ts +1 -0
  286. package/chains/definitions/taikoTestnetSepolia.ts +1 -0
  287. package/chains/definitions/tempoDevnet.ts +1 -0
  288. package/chains/definitions/tempoModerato.ts +1 -0
  289. package/chains/definitions/xdcTestnet.ts +1 -0
  290. package/chains/definitions/zkLinkNovaSepoliaTestnet.ts +1 -0
  291. package/errors/version.ts +1 -1
  292. package/package.json +7 -2
  293. package/tempo/Addresses.ts +1 -0
  294. package/tempo/Decorator.ts +337 -0
  295. package/tempo/Formatters.ts +5 -1
  296. package/tempo/Storage.ts +118 -0
  297. package/tempo/actions/index.ts +1 -0
  298. package/tempo/actions/zone.ts +1317 -0
  299. package/tempo/index.ts +1 -0
  300. package/tempo/zones/Abis.ts +79 -0
  301. package/tempo/zones/index.ts +10 -0
  302. package/tempo/zones/package.json +6 -0
  303. package/tempo/zones/transport.ts +58 -0
  304. package/tempo/zones/zone.ts +70 -0
package/tempo/index.ts CHANGED
@@ -25,6 +25,7 @@ export * as Formatters from './Formatters.js'
25
25
  export * as Hardfork from './Hardfork.js'
26
26
  export * as P256 from './P256.js'
27
27
  export * as Secp256k1 from './Secp256k1.js'
28
+ export * as Storage from './Storage.js'
28
29
  export * as TokenIds from './TokenIds.js'
29
30
  // Export types required for inference.
30
31
  export type {
@@ -0,0 +1,79 @@
1
+ export const zonePortal = [
2
+ {
3
+ name: 'deposit',
4
+ type: 'function',
5
+ stateMutability: 'nonpayable',
6
+ inputs: [
7
+ { name: '_token', type: 'address' },
8
+ { name: 'to', type: 'address' },
9
+ { name: 'amount', type: 'uint128' },
10
+ { name: 'memo', type: 'bytes32' },
11
+ ],
12
+ outputs: [{ name: '', type: 'bytes32' }],
13
+ },
14
+ {
15
+ name: 'depositEncrypted',
16
+ type: 'function',
17
+ stateMutability: 'nonpayable',
18
+ inputs: [
19
+ { name: 'token', type: 'address' },
20
+ { name: 'amount', type: 'uint128' },
21
+ { name: 'keyIndex', type: 'uint256' },
22
+ {
23
+ name: 'encrypted',
24
+ type: 'tuple',
25
+ components: [
26
+ { name: 'ephemeralPubkeyX', type: 'bytes32' },
27
+ { name: 'ephemeralPubkeyYParity', type: 'uint8' },
28
+ { name: 'ciphertext', type: 'bytes' },
29
+ { name: 'nonce', type: 'bytes12' },
30
+ { name: 'tag', type: 'bytes16' },
31
+ ],
32
+ },
33
+ ],
34
+ outputs: [{ name: '', type: 'bytes32' }],
35
+ },
36
+ {
37
+ name: 'sequencerEncryptionKey',
38
+ type: 'function',
39
+ stateMutability: 'view',
40
+ inputs: [],
41
+ outputs: [
42
+ { name: 'x', type: 'bytes32' },
43
+ { name: 'yParity', type: 'uint8' },
44
+ ],
45
+ },
46
+ {
47
+ name: 'encryptionKeyCount',
48
+ type: 'function',
49
+ stateMutability: 'view',
50
+ inputs: [],
51
+ outputs: [{ name: '', type: 'uint256' }],
52
+ },
53
+ ] as const
54
+
55
+ export const zoneOutbox = [
56
+ {
57
+ name: 'requestWithdrawal',
58
+ type: 'function',
59
+ stateMutability: 'nonpayable',
60
+ inputs: [
61
+ { name: 'token', type: 'address' },
62
+ { name: 'to', type: 'address' },
63
+ { name: 'amount', type: 'uint128' },
64
+ { name: 'memo', type: 'bytes32' },
65
+ { name: 'gasLimit', type: 'uint64' },
66
+ { name: 'fallbackRecipient', type: 'address' },
67
+ { name: 'data', type: 'bytes' },
68
+ { name: 'revealTo', type: 'bytes' },
69
+ ],
70
+ outputs: [],
71
+ },
72
+ {
73
+ name: 'calculateWithdrawalFee',
74
+ type: 'function',
75
+ stateMutability: 'view',
76
+ inputs: [{ name: 'gasLimit', type: 'uint64' }],
77
+ outputs: [{ name: 'fee', type: 'uint128' }],
78
+ },
79
+ ] as const
@@ -0,0 +1,10 @@
1
+ // biome-ignore lint/performance/noBarrelFile: entrypoint module
2
+ export * as Abis from './Abis.js'
3
+ export { http, type ZoneHttpConfig } from './transport.js'
4
+ export {
5
+ from,
6
+ getPortalAddress,
7
+ portalAddresses,
8
+ zone,
9
+ zoneModerato,
10
+ } from './zone.js'
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../../_types/tempo/zones/index.d.ts",
4
+ "module": "../../_esm/tempo/zones/index.js",
5
+ "main": "../../_cjs/tempo/zones/index.js"
6
+ }
@@ -0,0 +1,58 @@
1
+ import {
2
+ type HttpTransport,
3
+ type HttpTransportConfig,
4
+ http as http_,
5
+ } from '../../clients/transports/http.js'
6
+ import type { Storage } from '../Storage.js'
7
+ import * as Storage_ from '../Storage.js'
8
+
9
+ export type ZoneHttpConfig = Omit<
10
+ HttpTransportConfig,
11
+ 'batch' | 'raw' | 'rpcSchema'
12
+ > & {
13
+ /** Storage for reading zone authorization tokens. Defaults to sessionStorage (web) or memory (server). */
14
+ storage?: Storage | undefined
15
+ }
16
+
17
+ /**
18
+ * Creates an HTTP transport with support for Zone authentication tokens.
19
+ *
20
+ * Reads the authorization token from Storage and injects the
21
+ * `X-Authorization-Token` header on every request. Batching is disabled
22
+ * by default because zone tokens are account-scoped.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * import { createPublicClient } from 'viem'
27
+ * import { http, zone } from 'viem/tempo/zones' // or zoneModerato
28
+ *
29
+ * const client = createPublicClient({
30
+ * chain: zone(6),
31
+ * transport: http(),
32
+ * })
33
+ * ```
34
+ */
35
+ export function http(
36
+ url?: string | undefined,
37
+ config: ZoneHttpConfig = {},
38
+ ): HttpTransport {
39
+ const { storage: storage_, onFetchRequest, ...rest } = config
40
+ const storage = storage_ ?? Storage_.defaultStorage()
41
+
42
+ return (config) =>
43
+ http_(url, {
44
+ ...rest,
45
+ async onFetchRequest(request, init) {
46
+ const next = (await onFetchRequest?.(request, init)) ?? init
47
+ const headers = new Headers(next.headers)
48
+
49
+ const chainId = config.chain?.id
50
+ if (chainId) {
51
+ const token = (await storage.getItem(`auth:token:${chainId}`)) ?? null
52
+ if (token) headers.set('X-Authorization-Token', token)
53
+ }
54
+
55
+ return { ...next, headers }
56
+ },
57
+ })(config)
58
+ }
@@ -0,0 +1,70 @@
1
+ import { ZoneId } from 'ox/tempo'
2
+ import { tempo } from '../../chains/definitions/tempo.js'
3
+ import { tempoModerato } from '../../chains/definitions/tempoModerato.js'
4
+ import { defineChain } from '../../utils/chain/defineChain.js'
5
+ import { chainConfig } from '../chainConfig.js'
6
+
7
+ export const portalAddresses = {
8
+ [tempoModerato.id]: {
9
+ 6: '0x7069DeC4E64Fd07334A0933eDe836C17259c9B23',
10
+ 7: '0x3F5296303400B56271b476F5A0B9cBF74350D6Ac',
11
+ },
12
+ } as const satisfies Record<number, Record<number, `0x${string}`>>
13
+
14
+ export function getPortalAddress(
15
+ chainId: number,
16
+ zoneId: number,
17
+ ): `0x${string}` {
18
+ const address = (
19
+ portalAddresses as Record<number, Record<number, `0x${string}`>>
20
+ )[chainId]?.[zoneId]
21
+ if (!address)
22
+ throw new Error(
23
+ `No portal address configured for zone ${zoneId} on chain ${chainId}.`,
24
+ )
25
+ return address
26
+ }
27
+
28
+ export const zone = /*#__PURE__*/ from({
29
+ sourceId: tempo.id,
30
+ rpcHost: 'tempo.xyz',
31
+ })
32
+
33
+ export const zoneModerato = /*#__PURE__*/ from({
34
+ sourceId: tempoModerato.id,
35
+ rpcHost: 'tempoxyz.dev',
36
+ })
37
+
38
+ /** Creates a zone chain factory for a given Tempo network. */
39
+ export function from(options: from.Options) {
40
+ return (id: number) => {
41
+ const chainId = ZoneId.toChainId(id)
42
+ const paddedId = String(id).padStart(3, '0')
43
+
44
+ return defineChain({
45
+ ...chainConfig,
46
+ id: chainId,
47
+ name: `Tempo Zone ${paddedId}`,
48
+ nativeCurrency: {
49
+ name: 'USD',
50
+ symbol: 'USD',
51
+ decimals: 6,
52
+ },
53
+ rpcUrls: {
54
+ default: {
55
+ http: [`https://rpc-zone-${paddedId}.${options.rpcHost}`],
56
+ },
57
+ },
58
+ sourceId: options.sourceId,
59
+ })
60
+ }
61
+ }
62
+
63
+ declare namespace from {
64
+ type Options = {
65
+ /** RPC hostname used to construct zone RPC URLs (e.g. `tempo.xyz`). */
66
+ rpcHost: string
67
+ /** Chain ID of the parent Tempo chain (e.g. `4217` for mainnet, `42431` for moderato). */
68
+ sourceId: number
69
+ }
70
+ }