viem 2.48.3 → 2.48.6

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 +22 -0
  2. package/_cjs/errors/utils.js +13 -1
  3. package/_cjs/errors/utils.js.map +1 -1
  4. package/_cjs/errors/version.js +1 -1
  5. package/_cjs/tempo/Addresses.js +2 -1
  6. package/_cjs/tempo/Addresses.js.map +1 -1
  7. package/_cjs/tempo/Decorator.js +7 -0
  8. package/_cjs/tempo/Decorator.js.map +1 -1
  9. package/_cjs/tempo/Formatters.js +4 -0
  10. package/_cjs/tempo/Formatters.js.map +1 -1
  11. package/_cjs/tempo/actions/accessKey.js.map +1 -1
  12. package/_cjs/tempo/actions/index.js +2 -1
  13. package/_cjs/tempo/actions/index.js.map +1 -1
  14. package/_cjs/tempo/actions/virtualAddress.js +95 -0
  15. package/_cjs/tempo/actions/virtualAddress.js.map +1 -0
  16. package/_cjs/tempo/index.js +3 -1
  17. package/_cjs/tempo/index.js.map +1 -1
  18. package/_cjs/tempo/zones/zone.js +16 -2
  19. package/_cjs/tempo/zones/zone.js.map +1 -1
  20. package/_cjs/utils/formatters/transaction.js +3 -0
  21. package/_cjs/utils/formatters/transaction.js.map +1 -1
  22. package/_esm/errors/utils.js +18 -1
  23. package/_esm/errors/utils.js.map +1 -1
  24. package/_esm/errors/version.js +1 -1
  25. package/_esm/tempo/Addresses.js +1 -0
  26. package/_esm/tempo/Addresses.js.map +1 -1
  27. package/_esm/tempo/Decorator.js +7 -0
  28. package/_esm/tempo/Decorator.js.map +1 -1
  29. package/_esm/tempo/Formatters.js +5 -0
  30. package/_esm/tempo/Formatters.js.map +1 -1
  31. package/_esm/tempo/actions/accessKey.js +14 -12
  32. package/_esm/tempo/actions/accessKey.js.map +1 -1
  33. package/_esm/tempo/actions/amm.js +14 -14
  34. package/_esm/tempo/actions/dex.js +34 -34
  35. package/_esm/tempo/actions/faucet.js +2 -2
  36. package/_esm/tempo/actions/fee.js +10 -10
  37. package/_esm/tempo/actions/index.js +1 -0
  38. package/_esm/tempo/actions/index.js.map +1 -1
  39. package/_esm/tempo/actions/nonce.js +2 -2
  40. package/_esm/tempo/actions/policy.js +18 -18
  41. package/_esm/tempo/actions/reward.js +14 -14
  42. package/_esm/tempo/actions/token.js +61 -61
  43. package/_esm/tempo/actions/validator.js +27 -27
  44. package/_esm/tempo/actions/virtualAddress.js +228 -0
  45. package/_esm/tempo/actions/virtualAddress.js.map +1 -0
  46. package/_esm/tempo/index.js +1 -1
  47. package/_esm/tempo/index.js.map +1 -1
  48. package/_esm/tempo/zones/zone.js +16 -2
  49. package/_esm/tempo/zones/zone.js.map +1 -1
  50. package/_esm/utils/formatters/transaction.js +3 -0
  51. package/_esm/utils/formatters/transaction.js.map +1 -1
  52. package/_types/celo/chainConfig.d.ts +16 -0
  53. package/_types/celo/chainConfig.d.ts.map +1 -1
  54. package/_types/celo/formatters.d.ts +8 -0
  55. package/_types/celo/formatters.d.ts.map +1 -1
  56. package/_types/chains/definitions/abstract.d.ts +8 -1
  57. package/_types/chains/definitions/abstract.d.ts.map +1 -1
  58. package/_types/chains/definitions/abstractTestnet.d.ts +8 -1
  59. package/_types/chains/definitions/abstractTestnet.d.ts.map +1 -1
  60. package/_types/chains/definitions/ancient8.d.ts +6 -0
  61. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  62. package/_types/chains/definitions/ancient8Sepolia.d.ts +6 -0
  63. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  64. package/_types/chains/definitions/base.d.ts +12 -0
  65. package/_types/chains/definitions/base.d.ts.map +1 -1
  66. package/_types/chains/definitions/baseGoerli.d.ts +6 -0
  67. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  68. package/_types/chains/definitions/baseSepolia.d.ts +12 -0
  69. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  70. package/_types/chains/definitions/battlechainTestnet.d.ts +8 -1
  71. package/_types/chains/definitions/battlechainTestnet.d.ts.map +1 -1
  72. package/_types/chains/definitions/blast.d.ts +6 -0
  73. package/_types/chains/definitions/blast.d.ts.map +1 -1
  74. package/_types/chains/definitions/bob.d.ts +6 -0
  75. package/_types/chains/definitions/bob.d.ts.map +1 -1
  76. package/_types/chains/definitions/bobSepolia.d.ts +6 -0
  77. package/_types/chains/definitions/bobSepolia.d.ts.map +1 -1
  78. package/_types/chains/definitions/celo.d.ts +16 -0
  79. package/_types/chains/definitions/celo.d.ts.map +1 -1
  80. package/_types/chains/definitions/celoAlfajores.d.ts +16 -0
  81. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  82. package/_types/chains/definitions/celoSepolia.d.ts +16 -0
  83. package/_types/chains/definitions/celoSepolia.d.ts.map +1 -1
  84. package/_types/chains/definitions/codex.d.ts +6 -0
  85. package/_types/chains/definitions/codex.d.ts.map +1 -1
  86. package/_types/chains/definitions/codexTestnet.d.ts +6 -0
  87. package/_types/chains/definitions/codexTestnet.d.ts.map +1 -1
  88. package/_types/chains/definitions/dchain.d.ts +6 -0
  89. package/_types/chains/definitions/dchain.d.ts.map +1 -1
  90. package/_types/chains/definitions/dchainTestnet.d.ts +6 -0
  91. package/_types/chains/definitions/dchainTestnet.d.ts.map +1 -1
  92. package/_types/chains/definitions/elysiumTestnet.d.ts +6 -0
  93. package/_types/chains/definitions/elysiumTestnet.d.ts.map +1 -1
  94. package/_types/chains/definitions/fraxtal.d.ts +6 -0
  95. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  96. package/_types/chains/definitions/fraxtalTestnet.d.ts +6 -0
  97. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  98. package/_types/chains/definitions/funkiMainnet.d.ts +6 -0
  99. package/_types/chains/definitions/funkiMainnet.d.ts.map +1 -1
  100. package/_types/chains/definitions/funkiSepolia.d.ts +6 -0
  101. package/_types/chains/definitions/funkiSepolia.d.ts.map +1 -1
  102. package/_types/chains/definitions/garnet.d.ts +6 -0
  103. package/_types/chains/definitions/garnet.d.ts.map +1 -1
  104. package/_types/chains/definitions/giwaSepolia.d.ts +12 -0
  105. package/_types/chains/definitions/giwaSepolia.d.ts.map +1 -1
  106. package/_types/chains/definitions/ink.d.ts +6 -0
  107. package/_types/chains/definitions/ink.d.ts.map +1 -1
  108. package/_types/chains/definitions/inkSepolia.d.ts +6 -0
  109. package/_types/chains/definitions/inkSepolia.d.ts.map +1 -1
  110. package/_types/chains/definitions/lisk.d.ts +6 -0
  111. package/_types/chains/definitions/lisk.d.ts.map +1 -1
  112. package/_types/chains/definitions/liskSepolia.d.ts +6 -0
  113. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  114. package/_types/chains/definitions/megaeth.d.ts +6 -0
  115. package/_types/chains/definitions/megaeth.d.ts.map +1 -1
  116. package/_types/chains/definitions/metalL2.d.ts +6 -0
  117. package/_types/chains/definitions/metalL2.d.ts.map +1 -1
  118. package/_types/chains/definitions/mode.d.ts +6 -0
  119. package/_types/chains/definitions/mode.d.ts.map +1 -1
  120. package/_types/chains/definitions/modeTestnet.d.ts +6 -0
  121. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  122. package/_types/chains/definitions/optimism.d.ts +6 -0
  123. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  124. package/_types/chains/definitions/optimismGoerli.d.ts +6 -0
  125. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  126. package/_types/chains/definitions/optimismSepolia.d.ts +6 -0
  127. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  128. package/_types/chains/definitions/pgn.d.ts +6 -0
  129. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  130. package/_types/chains/definitions/pgnTestnet.d.ts +6 -0
  131. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  132. package/_types/chains/definitions/playfiAlbireo.d.ts +8 -1
  133. package/_types/chains/definitions/playfiAlbireo.d.ts.map +1 -1
  134. package/_types/chains/definitions/pyrope.d.ts +6 -0
  135. package/_types/chains/definitions/pyrope.d.ts.map +1 -1
  136. package/_types/chains/definitions/redstone.d.ts +6 -0
  137. package/_types/chains/definitions/redstone.d.ts.map +1 -1
  138. package/_types/chains/definitions/rss3.d.ts +6 -0
  139. package/_types/chains/definitions/rss3.d.ts.map +1 -1
  140. package/_types/chains/definitions/rss3Sepolia.d.ts +6 -0
  141. package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -1
  142. package/_types/chains/definitions/shape.d.ts +6 -0
  143. package/_types/chains/definitions/shape.d.ts.map +1 -1
  144. package/_types/chains/definitions/shapeSepolia.d.ts +6 -0
  145. package/_types/chains/definitions/shapeSepolia.d.ts.map +1 -1
  146. package/_types/chains/definitions/snax.d.ts +6 -0
  147. package/_types/chains/definitions/snax.d.ts.map +1 -1
  148. package/_types/chains/definitions/snaxTestnet.d.ts +6 -0
  149. package/_types/chains/definitions/snaxTestnet.d.ts.map +1 -1
  150. package/_types/chains/definitions/soneium.d.ts +6 -0
  151. package/_types/chains/definitions/soneium.d.ts.map +1 -1
  152. package/_types/chains/definitions/soneiumMinato.d.ts +6 -0
  153. package/_types/chains/definitions/soneiumMinato.d.ts.map +1 -1
  154. package/_types/chains/definitions/sophon.d.ts +8 -1
  155. package/_types/chains/definitions/sophon.d.ts.map +1 -1
  156. package/_types/chains/definitions/sophonTestnet.d.ts +8 -1
  157. package/_types/chains/definitions/sophonTestnet.d.ts.map +1 -1
  158. package/_types/chains/definitions/superseed.d.ts +6 -0
  159. package/_types/chains/definitions/superseed.d.ts.map +1 -1
  160. package/_types/chains/definitions/superseedSepolia.d.ts +6 -0
  161. package/_types/chains/definitions/superseedSepolia.d.ts.map +1 -1
  162. package/_types/chains/definitions/swellchain.d.ts +6 -0
  163. package/_types/chains/definitions/swellchain.d.ts.map +1 -1
  164. package/_types/chains/definitions/swellchainTestnet.d.ts +6 -0
  165. package/_types/chains/definitions/swellchainTestnet.d.ts.map +1 -1
  166. package/_types/chains/definitions/tempo.d.ts +12 -0
  167. package/_types/chains/definitions/tempo.d.ts.map +1 -1
  168. package/_types/chains/definitions/tempoDevnet.d.ts +12 -0
  169. package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
  170. package/_types/chains/definitions/tempoLocalnet.d.ts +12 -0
  171. package/_types/chains/definitions/tempoLocalnet.d.ts.map +1 -1
  172. package/_types/chains/definitions/tempoModerato.d.ts +12 -0
  173. package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
  174. package/_types/chains/definitions/treasure.d.ts +8 -1
  175. package/_types/chains/definitions/treasure.d.ts.map +1 -1
  176. package/_types/chains/definitions/treasureTopaz.d.ts +8 -1
  177. package/_types/chains/definitions/treasureTopaz.d.ts.map +1 -1
  178. package/_types/chains/definitions/unichain.d.ts +6 -0
  179. package/_types/chains/definitions/unichain.d.ts.map +1 -1
  180. package/_types/chains/definitions/unichainSepolia.d.ts +6 -0
  181. package/_types/chains/definitions/unichainSepolia.d.ts.map +1 -1
  182. package/_types/chains/definitions/worldchain.d.ts +6 -0
  183. package/_types/chains/definitions/worldchain.d.ts.map +1 -1
  184. package/_types/chains/definitions/worldchainSepolia.d.ts +6 -0
  185. package/_types/chains/definitions/worldchainSepolia.d.ts.map +1 -1
  186. package/_types/chains/definitions/zircuit.d.ts +6 -0
  187. package/_types/chains/definitions/zircuit.d.ts.map +1 -1
  188. package/_types/chains/definitions/zircuitGarfieldTestnet.d.ts +6 -0
  189. package/_types/chains/definitions/zircuitGarfieldTestnet.d.ts.map +1 -1
  190. package/_types/chains/definitions/zksync.d.ts +8 -1
  191. package/_types/chains/definitions/zksync.d.ts.map +1 -1
  192. package/_types/chains/definitions/zksyncInMemoryNode.d.ts +8 -1
  193. package/_types/chains/definitions/zksyncInMemoryNode.d.ts.map +1 -1
  194. package/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts +8 -1
  195. package/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts.map +1 -1
  196. package/_types/chains/definitions/zksyncLocalHyperchain.d.ts +8 -1
  197. package/_types/chains/definitions/zksyncLocalHyperchain.d.ts.map +1 -1
  198. package/_types/chains/definitions/zksyncLocalNode.d.ts +8 -1
  199. package/_types/chains/definitions/zksyncLocalNode.d.ts.map +1 -1
  200. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts +8 -1
  201. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts.map +1 -1
  202. package/_types/chains/definitions/zora.d.ts +6 -0
  203. package/_types/chains/definitions/zora.d.ts.map +1 -1
  204. package/_types/chains/definitions/zoraSepolia.d.ts +6 -0
  205. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  206. package/_types/chains/definitions/zoraTestnet.d.ts +6 -0
  207. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  208. package/_types/errors/utils.d.ts +5 -0
  209. package/_types/errors/utils.d.ts.map +1 -1
  210. package/_types/errors/version.d.ts +1 -1
  211. package/_types/op-stack/chainConfig.d.ts +6 -0
  212. package/_types/op-stack/chainConfig.d.ts.map +1 -1
  213. package/_types/op-stack/formatters.d.ts +6 -0
  214. package/_types/op-stack/formatters.d.ts.map +1 -1
  215. package/_types/tempo/Addresses.d.ts +1 -0
  216. package/_types/tempo/Addresses.d.ts.map +1 -1
  217. package/_types/tempo/Decorator.d.ts +101 -1
  218. package/_types/tempo/Decorator.d.ts.map +1 -1
  219. package/_types/tempo/Formatters.d.ts.map +1 -1
  220. package/_types/tempo/actions/accessKey.d.ts +14 -12
  221. package/_types/tempo/actions/accessKey.d.ts.map +1 -1
  222. package/_types/tempo/actions/amm.d.ts +14 -14
  223. package/_types/tempo/actions/dex.d.ts +34 -34
  224. package/_types/tempo/actions/faucet.d.ts +2 -2
  225. package/_types/tempo/actions/fee.d.ts +10 -10
  226. package/_types/tempo/actions/index.d.ts +1 -0
  227. package/_types/tempo/actions/index.d.ts.map +1 -1
  228. package/_types/tempo/actions/nonce.d.ts +2 -2
  229. package/_types/tempo/actions/policy.d.ts +18 -18
  230. package/_types/tempo/actions/reward.d.ts +14 -14
  231. package/_types/tempo/actions/token.d.ts +61 -61
  232. package/_types/tempo/actions/validator.d.ts +27 -27
  233. package/_types/tempo/actions/virtualAddress.d.ts +350 -0
  234. package/_types/tempo/actions/virtualAddress.d.ts.map +1 -0
  235. package/_types/tempo/chainConfig.d.ts +6 -0
  236. package/_types/tempo/chainConfig.d.ts.map +1 -1
  237. package/_types/tempo/index.d.ts +1 -1
  238. package/_types/tempo/index.d.ts.map +1 -1
  239. package/_types/tempo/zones/zone.d.ts +48 -12
  240. package/_types/tempo/zones/zone.d.ts.map +1 -1
  241. package/_types/types/transaction.d.ts +3 -1
  242. package/_types/types/transaction.d.ts.map +1 -1
  243. package/_types/utils/formatters/transaction.d.ts +1 -1
  244. package/_types/utils/formatters/transaction.d.ts.map +1 -1
  245. package/_types/zksync/chainConfig.d.ts +8 -1
  246. package/_types/zksync/chainConfig.d.ts.map +1 -1
  247. package/_types/zksync/formatters.d.ts +8 -1
  248. package/_types/zksync/formatters.d.ts.map +1 -1
  249. package/errors/utils.ts +17 -1
  250. package/errors/version.ts +1 -1
  251. package/package.json +2 -2
  252. package/tempo/Addresses.ts +1 -0
  253. package/tempo/Decorator.ts +125 -1
  254. package/tempo/Formatters.ts +6 -0
  255. package/tempo/actions/accessKey.ts +14 -12
  256. package/tempo/actions/amm.ts +14 -14
  257. package/tempo/actions/dex.ts +34 -34
  258. package/tempo/actions/faucet.ts +2 -2
  259. package/tempo/actions/fee.ts +10 -10
  260. package/tempo/actions/index.ts +1 -0
  261. package/tempo/actions/nonce.ts +2 -2
  262. package/tempo/actions/policy.ts +18 -18
  263. package/tempo/actions/reward.ts +14 -14
  264. package/tempo/actions/token.ts +61 -61
  265. package/tempo/actions/validator.ts +27 -27
  266. package/tempo/actions/virtualAddress.ts +337 -0
  267. package/tempo/index.ts +8 -1
  268. package/tempo/zones/zone.ts +23 -2
  269. package/types/transaction.ts +3 -1
  270. package/utils/formatters/transaction.ts +3 -0
@@ -16,7 +16,7 @@ import { defineCall } from '../internal/utils.js';
16
16
  *
17
17
  * const client = createClient({
18
18
  * account: privateKeyToAccount('0x...'),
19
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
19
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
20
20
  * transport: http(),
21
21
  * })
22
22
  *
@@ -68,7 +68,7 @@ export async function add(client, parameters) {
68
68
  * import { Actions } from 'viem/tempo'
69
69
  *
70
70
  * const client = createClient({
71
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
71
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
72
72
  * transport: http(),
73
73
  * }).extend(walletActions)
74
74
  *
@@ -117,7 +117,7 @@ export async function add(client, parameters) {
117
117
  *
118
118
  * const client = createClient({
119
119
  * account: privateKeyToAccount('0x...'),
120
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
120
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
121
121
  * transport: http(),
122
122
  * })
123
123
  *
@@ -154,7 +154,7 @@ export async function addSync(client, parameters) {
154
154
  *
155
155
  * const client = createClient({
156
156
  * account: privateKeyToAccount('0x...'),
157
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
157
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
158
158
  * transport: http(),
159
159
  * })
160
160
  *
@@ -196,7 +196,7 @@ export async function changeOwner(client, parameters) {
196
196
  * import { Actions } from 'viem/tempo'
197
197
  *
198
198
  * const client = createClient({
199
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
199
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
200
200
  * transport: http(),
201
201
  * }).extend(walletActions)
202
202
  *
@@ -235,7 +235,7 @@ export async function changeOwner(client, parameters) {
235
235
  *
236
236
  * const client = createClient({
237
237
  * account: privateKeyToAccount('0x...'),
238
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
238
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
239
239
  * transport: http(),
240
240
  * })
241
241
  *
@@ -268,7 +268,7 @@ export async function changeOwnerSync(client, parameters) {
268
268
  *
269
269
  * const client = createClient({
270
270
  * account: privateKeyToAccount('0x...'),
271
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
271
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
272
272
  * transport: http(),
273
273
  * })
274
274
  *
@@ -311,7 +311,7 @@ export async function changeStatus(client, parameters) {
311
311
  * import { Actions } from 'viem/tempo'
312
312
  *
313
313
  * const client = createClient({
314
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
314
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
315
315
  * transport: http(),
316
316
  * }).extend(walletActions)
317
317
  *
@@ -351,7 +351,7 @@ export async function changeStatus(client, parameters) {
351
351
  *
352
352
  * const client = createClient({
353
353
  * account: privateKeyToAccount('0x...'),
354
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
354
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
355
355
  * transport: http(),
356
356
  * })
357
357
  *
@@ -383,7 +383,7 @@ export async function changeStatusSync(client, parameters) {
383
383
  * import { Actions } from 'viem/tempo'
384
384
  *
385
385
  * const client = createClient({
386
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
386
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
387
387
  * transport: http(),
388
388
  * })
389
389
  *
@@ -416,7 +416,7 @@ export async function getNextFullDkgCeremony(client, parameters = {}) {
416
416
  * import { Actions } from 'viem/tempo'
417
417
  *
418
418
  * const client = createClient({
419
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
419
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
420
420
  * transport: http(),
421
421
  * })
422
422
  *
@@ -447,7 +447,7 @@ export async function getNextFullDkgCeremony(client, parameters = {}) {
447
447
  * import { Actions } from 'viem/tempo'
448
448
  *
449
449
  * const client = createClient({
450
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
450
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
451
451
  * transport: http(),
452
452
  * })
453
453
  *
@@ -480,7 +480,7 @@ export async function getOwner(client, parameters = {}) {
480
480
  * import { Actions } from 'viem/tempo'
481
481
  *
482
482
  * const client = createClient({
483
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
483
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
484
484
  * transport: http(),
485
485
  * })
486
486
  *
@@ -511,7 +511,7 @@ export async function getOwner(client, parameters = {}) {
511
511
  * import { Actions } from 'viem/tempo'
512
512
  *
513
513
  * const client = createClient({
514
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
514
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
515
515
  * transport: http(),
516
516
  * })
517
517
  *
@@ -547,7 +547,7 @@ export async function get(client, parameters) {
547
547
  * import { Actions } from 'viem/tempo'
548
548
  *
549
549
  * const client = createClient({
550
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
550
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
551
551
  * transport: http(),
552
552
  * })
553
553
  *
@@ -582,7 +582,7 @@ export async function get(client, parameters) {
582
582
  * import { Actions } from 'viem/tempo'
583
583
  *
584
584
  * const client = createClient({
585
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
585
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
586
586
  * transport: http(),
587
587
  * })
588
588
  *
@@ -618,7 +618,7 @@ export async function getByIndex(client, parameters) {
618
618
  * import { Actions } from 'viem/tempo'
619
619
  *
620
620
  * const client = createClient({
621
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
621
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
622
622
  * transport: http(),
623
623
  * })
624
624
  *
@@ -654,7 +654,7 @@ export async function getByIndex(client, parameters) {
654
654
  * import { Actions } from 'viem/tempo'
655
655
  *
656
656
  * const client = createClient({
657
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
657
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
658
658
  * transport: http(),
659
659
  * })
660
660
  *
@@ -687,7 +687,7 @@ export async function getCount(client, parameters = {}) {
687
687
  * import { Actions } from 'viem/tempo'
688
688
  *
689
689
  * const client = createClient({
690
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
690
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
691
691
  * transport: http(),
692
692
  * })
693
693
  *
@@ -718,7 +718,7 @@ export async function getCount(client, parameters = {}) {
718
718
  * import { Actions } from 'viem/tempo'
719
719
  *
720
720
  * const client = createClient({
721
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
721
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
722
722
  * transport: http(),
723
723
  * })
724
724
  *
@@ -751,7 +751,7 @@ export async function list(client, parameters = {}) {
751
751
  * import { Actions } from 'viem/tempo'
752
752
  *
753
753
  * const client = createClient({
754
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
754
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
755
755
  * transport: http(),
756
756
  * })
757
757
  *
@@ -784,7 +784,7 @@ export async function list(client, parameters = {}) {
784
784
  *
785
785
  * const client = createClient({
786
786
  * account: privateKeyToAccount('0x...'),
787
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
787
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
788
788
  * transport: http(),
789
789
  * })
790
790
  *
@@ -826,7 +826,7 @@ export async function setNextFullDkgCeremony(client, parameters) {
826
826
  * import { Actions } from 'viem/tempo'
827
827
  *
828
828
  * const client = createClient({
829
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
829
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
830
830
  * transport: http(),
831
831
  * }).extend(walletActions)
832
832
  *
@@ -865,7 +865,7 @@ export async function setNextFullDkgCeremony(client, parameters) {
865
865
  *
866
866
  * const client = createClient({
867
867
  * account: privateKeyToAccount('0x...'),
868
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
868
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
869
869
  * transport: http(),
870
870
  * })
871
871
  *
@@ -898,7 +898,7 @@ export async function setNextFullDkgCeremonySync(client, parameters) {
898
898
  *
899
899
  * const client = createClient({
900
900
  * account: privateKeyToAccount('0x...'),
901
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
901
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
902
902
  * transport: http(),
903
903
  * })
904
904
  *
@@ -948,7 +948,7 @@ export async function update(client, parameters) {
948
948
  * import { Actions } from 'viem/tempo'
949
949
  *
950
950
  * const client = createClient({
951
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
951
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
952
952
  * transport: http(),
953
953
  * }).extend(walletActions)
954
954
  *
@@ -990,7 +990,7 @@ export async function update(client, parameters) {
990
990
  *
991
991
  * const client = createClient({
992
992
  * account: privateKeyToAccount('0x...'),
993
- * chain: tempo({ feeToken: '0x20c0000000000000000000000000000000000001' }),
993
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' }),
994
994
  * transport: http(),
995
995
  * })
996
996
  *
@@ -0,0 +1,228 @@
1
+ import * as Hex from 'ox/Hex';
2
+ import { readContract } from '../../actions/public/readContract.js';
3
+ import { writeContract } from '../../actions/wallet/writeContract.js';
4
+ import { writeContractSync } from '../../actions/wallet/writeContractSync.js';
5
+ import { zeroAddress } from '../../constants/address.js';
6
+ import { parseEventLogs } from '../../utils/abi/parseEventLogs.js';
7
+ import * as Abis from '../Abis.js';
8
+ import * as Addresses from '../Addresses.js';
9
+ import { defineCall } from '../internal/utils.js';
10
+ /**
11
+ * Gets the master address for a given master ID.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { createClient, http } from 'viem'
16
+ * import { tempo } from 'viem/chains'
17
+ * import { Actions } from 'viem/tempo'
18
+ *
19
+ * const client = createClient({
20
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' })
21
+ * transport: http(),
22
+ * })
23
+ *
24
+ * const address = await Actions.virtualAddress.getMasterAddress(client, {
25
+ * masterId: '0xdeadbeef',
26
+ * })
27
+ * ```
28
+ *
29
+ * @param client - Client.
30
+ * @param parameters - Parameters.
31
+ * @returns The master address, or null if unregistered.
32
+ */
33
+ export async function getMasterAddress(client, parameters) {
34
+ const address = await readContract(client, {
35
+ ...parameters,
36
+ ...getMasterAddress.call({ masterId: parameters.masterId }),
37
+ });
38
+ if (address === zeroAddress)
39
+ return null;
40
+ return address;
41
+ }
42
+ (function (getMasterAddress) {
43
+ /**
44
+ * Defines a call to the `getMaster` function.
45
+ *
46
+ * @param args - Arguments.
47
+ * @returns The call.
48
+ */
49
+ function call(args) {
50
+ const { masterId } = args;
51
+ return defineCall({
52
+ address: Addresses.addressRegistry,
53
+ abi: Abis.addressRegistry,
54
+ args: [masterId],
55
+ functionName: 'getMaster',
56
+ });
57
+ }
58
+ getMasterAddress.call = call;
59
+ })(getMasterAddress || (getMasterAddress = {}));
60
+ /**
61
+ * Resolves a virtual address to its master address.
62
+ *
63
+ * - Non-virtual addresses are returned unchanged.
64
+ * - Virtual addresses with a registered master return the master address.
65
+ * - Virtual addresses with an unregistered master return null.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * import { createClient, http } from 'viem'
70
+ * import { tempo } from 'viem/chains'
71
+ * import { Actions } from 'viem/tempo'
72
+ *
73
+ * const client = createClient({
74
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' })
75
+ * transport: http(),
76
+ * })
77
+ *
78
+ * const recipient = await Actions.virtualAddress.resolve(client, {
79
+ * address: '0x...',
80
+ * })
81
+ * ```
82
+ *
83
+ * @param client - Client.
84
+ * @param parameters - Parameters.
85
+ * @returns The resolved address, or null if virtual and unregistered.
86
+ */
87
+ export async function resolve(client, parameters) {
88
+ if (!isVirtual(parameters.address))
89
+ return parameters.address;
90
+ const masterId = Hex.slice(parameters.address, 0, 4);
91
+ return getMasterAddress(client, { ...parameters, masterId });
92
+ }
93
+ /**
94
+ * Registers a virtual master address.
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * import { createClient, http } from 'viem'
99
+ * import { tempo } from 'viem/chains'
100
+ * import { Actions } from 'viem/tempo'
101
+ * import { privateKeyToAccount } from 'viem/accounts'
102
+ *
103
+ * const client = createClient({
104
+ * account: privateKeyToAccount('0x...'),
105
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' })
106
+ * transport: http(),
107
+ * })
108
+ *
109
+ * const hash = await Actions.virtualAddress.registerMaster(client, {
110
+ * salt: '0x...',
111
+ * })
112
+ * ```
113
+ *
114
+ * @param client - Client.
115
+ * @param parameters - Parameters.
116
+ * @returns The transaction hash.
117
+ */
118
+ export async function registerMaster(client, parameters) {
119
+ return registerMaster.inner(writeContract, client, parameters);
120
+ }
121
+ (function (registerMaster) {
122
+ /** @internal */
123
+ async function inner(action, client, parameters) {
124
+ const { salt, ...rest } = parameters;
125
+ const call = registerMaster.call({ salt });
126
+ return (await action(client, {
127
+ ...rest,
128
+ ...call,
129
+ }));
130
+ }
131
+ registerMaster.inner = inner;
132
+ /**
133
+ * Defines a call to the `registerVirtualMaster` function.
134
+ *
135
+ * Can be passed as a parameter to:
136
+ * - [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas): estimate the gas cost of the call
137
+ * - [`simulateContract`](https://viem.sh/docs/contract/simulateContract): simulate the call
138
+ * - [`sendCalls`](https://viem.sh/docs/actions/wallet/sendCalls): send multiple calls
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * import { createClient, http, walletActions } from 'viem'
143
+ * import { tempo } from 'viem/chains'
144
+ * import { Actions } from 'viem/tempo'
145
+ *
146
+ * const client = createClient({
147
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' })
148
+ * transport: http(),
149
+ * }).extend(walletActions)
150
+ *
151
+ * const { result } = await client.sendCalls({
152
+ * calls: [
153
+ * Actions.virtualAddress.registerMaster.call({
154
+ * salt: '0x...',
155
+ * }),
156
+ * ]
157
+ * })
158
+ * ```
159
+ *
160
+ * @param args - Arguments.
161
+ * @returns The call.
162
+ */
163
+ function call(args) {
164
+ const { salt } = args;
165
+ return defineCall({
166
+ address: Addresses.addressRegistry,
167
+ abi: Abis.addressRegistry,
168
+ functionName: 'registerVirtualMaster',
169
+ args: [salt],
170
+ });
171
+ }
172
+ registerMaster.call = call;
173
+ function extractEvent(logs) {
174
+ const [log] = parseEventLogs({
175
+ abi: Abis.addressRegistry,
176
+ logs,
177
+ eventName: 'MasterRegistered',
178
+ strict: true,
179
+ });
180
+ if (!log)
181
+ throw new Error('`MasterRegistered` event not found.');
182
+ return log;
183
+ }
184
+ registerMaster.extractEvent = extractEvent;
185
+ })(registerMaster || (registerMaster = {}));
186
+ /**
187
+ * Registers a virtual master address and waits for confirmation.
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * import { createClient, http } from 'viem'
192
+ * import { tempo } from 'viem/chains'
193
+ * import { Actions } from 'viem/tempo'
194
+ * import { privateKeyToAccount } from 'viem/accounts'
195
+ *
196
+ * const client = createClient({
197
+ * account: privateKeyToAccount('0x...'),
198
+ * chain: tempo.extend({ feeToken: '0x20c0000000000000000000000000000000000001' })
199
+ * transport: http(),
200
+ * })
201
+ *
202
+ * const { receipt, masterId, masterAddress } = await Actions.virtualAddress.registerMasterSync(client, {
203
+ * salt: '0x...',
204
+ * })
205
+ * ```
206
+ *
207
+ * @param client - Client.
208
+ * @param parameters - Parameters.
209
+ * @returns The transaction receipt and extracted event data.
210
+ */
211
+ export async function registerMasterSync(client, parameters) {
212
+ const { throwOnReceiptRevert = true, ...rest } = parameters;
213
+ const receipt = await registerMaster.inner(writeContractSync, client, {
214
+ ...rest,
215
+ throwOnReceiptRevert,
216
+ });
217
+ const { args } = registerMaster.extractEvent(receipt.logs);
218
+ return {
219
+ ...args,
220
+ receipt,
221
+ };
222
+ }
223
+ const virtualMagic = '0xfdfdfdfdfdfdfdfdfdfd';
224
+ /** @internal */
225
+ function isVirtual(address) {
226
+ return Hex.slice(address, 4, 14).toLowerCase() === virtualMagic;
227
+ }
228
+ //# sourceMappingURL=virtualAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualAddress.js","sourceRoot":"","sources":["../../../tempo/actions/virtualAddress.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  // biome-ignore lint/performance/noBarrelFile: entrypoint module
2
2
  export { Bytes, PublicKey, Secp256k1 } from 'ox';
3
- export { Period, TempoAddress, Tick, TokenId } from 'ox/tempo';
3
+ export { Period, TempoAddress, Tick, TokenId, VirtualAddress, VirtualMaster, } from 'ox/tempo';
4
4
  export * as Abis from './Abis.js';
5
5
  export * as Account from './Account.js';
6
6
  export * as Addresses from './Addresses.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAYhD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAEL,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AA8BzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAYhD,OAAO,EACL,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,cAAc,EACd,aAAa,GACd,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAEL,SAAS,IAAI,YAAY,GAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AA8BzC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/E,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA"}
@@ -15,6 +15,16 @@ export function getPortalAddress(chainId, zoneId) {
15
15
  throw new Error(`No portal address configured for zone ${zoneId} on chain ${chainId}.`);
16
16
  return address;
17
17
  }
18
+ const overrides = {
19
+ 6: {
20
+ name: 'Zone A',
21
+ rpcUrl: 'https://rpc-zone-a.testnet.tempo.xyz',
22
+ },
23
+ 7: {
24
+ name: 'Zone B',
25
+ rpcUrl: 'https://rpc-zone-b.testnet.tempo.xyz',
26
+ },
27
+ };
18
28
  export const zone = /*#__PURE__*/ from({
19
29
  sourceId: tempo.id,
20
30
  rpcHost: 'tempo.xyz',
@@ -28,10 +38,11 @@ export function from(options) {
28
38
  return (id) => {
29
39
  const chainId = ZoneId.toChainId(id);
30
40
  const paddedId = String(id).padStart(3, '0');
41
+ const override = overrides[id];
31
42
  return defineChain({
32
43
  ...chainConfig,
33
44
  id: chainId,
34
- name: `Tempo Zone ${paddedId}`,
45
+ name: override?.name ?? `Tempo Zone ${paddedId}`,
35
46
  nativeCurrency: {
36
47
  name: 'USD',
37
48
  symbol: 'USD',
@@ -39,7 +50,10 @@ export function from(options) {
39
50
  },
40
51
  rpcUrls: {
41
52
  default: {
42
- http: [`https://rpc-zone-${paddedId}.${options.rpcHost}`],
53
+ http: [
54
+ override?.rpcUrl ??
55
+ `https://rpc-zone-${paddedId}.${options.rpcHost}`,
56
+ ],
43
57
  },
44
58
  },
45
59
  sourceId: options.sourceId,
@@ -1 +1 @@
1
- {"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../tempo/zones/zone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;QAClB,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;KAChD;CAC+D,CAAA;AAElE,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,MAAc;IAEd,MAAM,OAAO,GACX,eACD,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IACpB,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACb,yCAAyC,MAAM,aAAa,OAAO,GAAG,CACvE,CAAA;IACH,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,EAAE;IAClB,OAAO,EAAE,WAAW;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC;IAC7C,QAAQ,EAAE,aAAa,CAAC,EAAE;IAC1B,OAAO,EAAE,cAAc;CACxB,CAAC,CAAA;AAEF,8DAA8D;AAC9D,MAAM,UAAU,IAAI,CAAC,OAAqB;IACxC,OAAO,CAAC,EAAU,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAE5C,OAAO,WAAW,CAAC;YACjB,GAAG,WAAW;YACd,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,cAAc,QAAQ,EAAE;YAC9B,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,CAAC;aACZ;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,oBAAoB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;iBAC1D;aACF;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../tempo/zones/zone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;QAClB,CAAC,EAAE,4CAA4C;QAC/C,CAAC,EAAE,4CAA4C;KAChD;CAC+D,CAAA;AAElE,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,MAAc;IAEd,MAAM,OAAO,GACX,eACD,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IACpB,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACb,yCAAyC,MAAM,aAAa,OAAO,GAAG,CACvE,CAAA;IACH,OAAO,OAAO,CAAA;AAChB,CAAC;AAOD,MAAM,SAAS,GAAG;IAChB,CAAC,EAAE;QACD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,sCAAsC;KAC/C;IACD,CAAC,EAAE;QACD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,sCAAsC;KAC/C;CAC0C,CAAA;AAE7C,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,EAAE;IAClB,OAAO,EAAE,WAAW;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC;IAC7C,QAAQ,EAAE,aAAa,CAAC,EAAE;IAC1B,OAAO,EAAE,cAAc;CACxB,CAAC,CAAA;AAEF,8DAA8D;AAC9D,MAAM,UAAU,IAAI,CAAC,OAAqB;IACxC,OAAO,CAAC,EAAU,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAE5C,MAAM,QAAQ,GAAI,SAAsC,CAAC,EAAE,CAAC,CAAA;QAE5D,OAAO,WAAW,CAAC;YACjB,GAAG,WAAW;YACd,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,cAAc,QAAQ,EAAE;YAChD,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,CAAC;aACZ;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,QAAQ,EAAE,MAAM;4BACd,oBAAoB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;qBACpD;iBACF;aACF;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC"}
@@ -14,6 +14,9 @@ export function formatTransaction(transaction, _) {
14
14
  blockNumber: transaction.blockNumber
15
15
  ? BigInt(transaction.blockNumber)
16
16
  : null,
17
+ ...(transaction.blockTimestamp != null && {
18
+ blockTimestamp: BigInt(transaction.blockTimestamp),
19
+ }),
17
20
  chainId: transaction.chainId ? hexToNumber(transaction.chainId) : undefined,
18
21
  gas: transaction.gas ? BigInt(transaction.gas) : undefined,
19
22
  gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"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"}