viem 2.55.18 → 2.56.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 (225) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/_cjs/chains/definitions/berachainBepolia.js +1 -1
  3. package/_cjs/chains/definitions/morphTachyon.js +25 -0
  4. package/_cjs/chains/definitions/morphTachyon.js.map +1 -0
  5. package/_cjs/chains/definitions/morphTachyonTestnet.js +26 -0
  6. package/_cjs/chains/definitions/morphTachyonTestnet.js.map +1 -0
  7. package/_cjs/chains/definitions/ynxTestnet.js +26 -0
  8. package/_cjs/chains/definitions/ynxTestnet.js.map +1 -0
  9. package/_cjs/chains/index.js +13 -7
  10. package/_cjs/chains/index.js.map +1 -1
  11. package/_cjs/errors/version.js +1 -1
  12. package/_cjs/errors/version.js.map +1 -1
  13. package/_cjs/tempo/Abis.js +5314 -2528
  14. package/_cjs/tempo/Abis.js.map +1 -1
  15. package/_cjs/tempo/Account.js +188 -16
  16. package/_cjs/tempo/Account.js.map +1 -1
  17. package/_cjs/tempo/Addresses.js +32 -1
  18. package/_cjs/tempo/Addresses.js.map +1 -1
  19. package/_cjs/tempo/Decorator.js +11 -2
  20. package/_cjs/tempo/Decorator.js.map +1 -1
  21. package/_cjs/tempo/Formatters.js +1 -1
  22. package/_cjs/tempo/Formatters.js.map +1 -1
  23. package/_cjs/tempo/Selectors.js +203 -61
  24. package/_cjs/tempo/Selectors.js.map +1 -1
  25. package/_cjs/tempo/Storage.js +6 -6
  26. package/_cjs/tempo/Storage.js.map +1 -1
  27. package/_cjs/tempo/Transaction.js +31 -10
  28. package/_cjs/tempo/Transaction.js.map +1 -1
  29. package/_cjs/tempo/Transport.js +21 -0
  30. package/_cjs/tempo/Transport.js.map +1 -1
  31. package/_cjs/tempo/Zone.js +51 -0
  32. package/_cjs/tempo/Zone.js.map +1 -0
  33. package/_cjs/tempo/actions/accessKey.js +49 -8
  34. package/_cjs/tempo/actions/accessKey.js.map +1 -1
  35. package/_cjs/tempo/actions/earn/deployment.js +59 -21
  36. package/_cjs/tempo/actions/earn/deployment.js.map +1 -1
  37. package/_cjs/tempo/actions/earn.js +2 -3
  38. package/_cjs/tempo/actions/earn.js.map +1 -1
  39. package/_cjs/tempo/actions/index.js +2 -1
  40. package/_cjs/tempo/actions/index.js.map +1 -1
  41. package/_cjs/tempo/actions/multisig.js +95 -0
  42. package/_cjs/tempo/actions/multisig.js.map +1 -0
  43. package/_cjs/tempo/actions/zone.js +65 -28
  44. package/_cjs/tempo/actions/zone.js.map +1 -1
  45. package/_cjs/tempo/chainConfig.js +58 -29
  46. package/_cjs/tempo/chainConfig.js.map +1 -1
  47. package/_cjs/tempo/index.js +3 -3
  48. package/_cjs/tempo/index.js.map +1 -1
  49. package/_cjs/tempo/internal/multisig.js +56 -0
  50. package/_cjs/tempo/internal/multisig.js.map +1 -0
  51. package/_esm/chains/definitions/berachainBepolia.js +1 -1
  52. package/_esm/chains/definitions/morphTachyon.js +22 -0
  53. package/_esm/chains/definitions/morphTachyon.js.map +1 -0
  54. package/_esm/chains/definitions/morphTachyonTestnet.js +23 -0
  55. package/_esm/chains/definitions/morphTachyonTestnet.js.map +1 -0
  56. package/_esm/chains/definitions/ynxTestnet.js +23 -0
  57. package/_esm/chains/definitions/ynxTestnet.js.map +1 -0
  58. package/_esm/chains/index.js +3 -0
  59. package/_esm/chains/index.js.map +1 -1
  60. package/_esm/errors/version.js +1 -1
  61. package/_esm/errors/version.js.map +1 -1
  62. package/_esm/tempo/Abis.js +5302 -2514
  63. package/_esm/tempo/Abis.js.map +1 -1
  64. package/_esm/tempo/Account.js +196 -66
  65. package/_esm/tempo/Account.js.map +1 -1
  66. package/_esm/tempo/Addresses.js +37 -0
  67. package/_esm/tempo/Addresses.js.map +1 -1
  68. package/_esm/tempo/Decorator.js +11 -2
  69. package/_esm/tempo/Decorator.js.map +1 -1
  70. package/_esm/tempo/Formatters.js +3 -6
  71. package/_esm/tempo/Formatters.js.map +1 -1
  72. package/_esm/tempo/Selectors.js +203 -61
  73. package/_esm/tempo/Selectors.js.map +1 -1
  74. package/_esm/tempo/Storage.js +7 -7
  75. package/_esm/tempo/Storage.js.map +1 -1
  76. package/_esm/tempo/Transaction.js +31 -10
  77. package/_esm/tempo/Transaction.js.map +1 -1
  78. package/_esm/tempo/Transport.js +37 -0
  79. package/_esm/tempo/Transport.js.map +1 -1
  80. package/_esm/tempo/Zone.js +48 -0
  81. package/_esm/tempo/Zone.js.map +1 -0
  82. package/_esm/tempo/actions/accessKey.js +65 -23
  83. package/_esm/tempo/actions/accessKey.js.map +1 -1
  84. package/_esm/tempo/actions/earn/deployment.js +66 -25
  85. package/_esm/tempo/actions/earn/deployment.js.map +1 -1
  86. package/_esm/tempo/actions/earn.js +2 -3
  87. package/_esm/tempo/actions/earn.js.map +1 -1
  88. package/_esm/tempo/actions/index.js +1 -0
  89. package/_esm/tempo/actions/index.js.map +1 -1
  90. package/_esm/tempo/actions/multisig.js +245 -0
  91. package/_esm/tempo/actions/multisig.js.map +1 -0
  92. package/_esm/tempo/actions/zone.js +111 -66
  93. package/_esm/tempo/actions/zone.js.map +1 -1
  94. package/_esm/tempo/chainConfig.js +65 -35
  95. package/_esm/tempo/chainConfig.js.map +1 -1
  96. package/_esm/tempo/index.js +2 -2
  97. package/_esm/tempo/index.js.map +1 -1
  98. package/_esm/tempo/internal/multisig.js +56 -0
  99. package/_esm/tempo/internal/multisig.js.map +1 -0
  100. package/_types/chains/definitions/berachainBepolia.d.ts +1 -1
  101. package/_types/chains/definitions/morphTachyon.d.ts +51 -0
  102. package/_types/chains/definitions/morphTachyon.d.ts.map +1 -0
  103. package/_types/chains/definitions/morphTachyonTestnet.d.ts +51 -0
  104. package/_types/chains/definitions/morphTachyonTestnet.d.ts.map +1 -0
  105. package/_types/chains/definitions/tempo.d.ts +30 -2
  106. package/_types/chains/definitions/tempo.d.ts.map +1 -1
  107. package/_types/chains/definitions/tempoDevnet.d.ts +30 -2
  108. package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
  109. package/_types/chains/definitions/tempoLocalnet.d.ts +30 -2
  110. package/_types/chains/definitions/tempoLocalnet.d.ts.map +1 -1
  111. package/_types/chains/definitions/tempoModerato.d.ts +30 -2
  112. package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
  113. package/_types/chains/definitions/ynxTestnet.d.ts +51 -0
  114. package/_types/chains/definitions/ynxTestnet.d.ts.map +1 -0
  115. package/_types/chains/index.d.ts +3 -0
  116. package/_types/chains/index.d.ts.map +1 -1
  117. package/_types/errors/version.d.ts +1 -1
  118. package/_types/errors/version.d.ts.map +1 -1
  119. package/_types/tempo/Abis.d.ts +31485 -6119
  120. package/_types/tempo/Abis.d.ts.map +1 -1
  121. package/_types/tempo/Account.d.ts +42 -26
  122. package/_types/tempo/Account.d.ts.map +1 -1
  123. package/_types/tempo/Addresses.d.ts +12 -0
  124. package/_types/tempo/Addresses.d.ts.map +1 -1
  125. package/_types/tempo/Decorator.d.ts +62 -22
  126. package/_types/tempo/Decorator.d.ts.map +1 -1
  127. package/_types/tempo/Formatters.d.ts.map +1 -1
  128. package/_types/tempo/Selectors.d.ts +202 -60
  129. package/_types/tempo/Selectors.d.ts.map +1 -1
  130. package/_types/tempo/Storage.d.ts +1 -1
  131. package/_types/tempo/Storage.d.ts.map +1 -1
  132. package/_types/tempo/Transaction.d.ts +17 -2
  133. package/_types/tempo/Transaction.d.ts.map +1 -1
  134. package/_types/tempo/Transport.d.ts +24 -0
  135. package/_types/tempo/Transport.d.ts.map +1 -1
  136. package/_types/tempo/Zone.d.ts +6824 -0
  137. package/_types/tempo/Zone.d.ts.map +1 -0
  138. package/_types/tempo/actions/accessKey.d.ts +35 -17
  139. package/_types/tempo/actions/accessKey.d.ts.map +1 -1
  140. package/_types/tempo/actions/channel.d.ts +72 -0
  141. package/_types/tempo/actions/channel.d.ts.map +1 -1
  142. package/_types/tempo/actions/dex.d.ts +260 -0
  143. package/_types/tempo/actions/dex.d.ts.map +1 -1
  144. package/_types/tempo/actions/earn/deployment.d.ts +86 -278
  145. package/_types/tempo/actions/earn/deployment.d.ts.map +1 -1
  146. package/_types/tempo/actions/earn.d.ts +540 -16
  147. package/_types/tempo/actions/earn.d.ts.map +1 -1
  148. package/_types/tempo/actions/index.d.ts +1 -0
  149. package/_types/tempo/actions/index.d.ts.map +1 -1
  150. package/_types/tempo/actions/multisig.d.ts +472 -0
  151. package/_types/tempo/actions/multisig.d.ts.map +1 -0
  152. package/_types/tempo/actions/policy.d.ts +108 -0
  153. package/_types/tempo/actions/policy.d.ts.map +1 -1
  154. package/_types/tempo/actions/receivePolicy.d.ts +27 -0
  155. package/_types/tempo/actions/receivePolicy.d.ts.map +1 -1
  156. package/_types/tempo/actions/zone.d.ts +165 -82
  157. package/_types/tempo/actions/zone.d.ts.map +1 -1
  158. package/_types/tempo/chainConfig.d.ts +15 -1
  159. package/_types/tempo/chainConfig.d.ts.map +1 -1
  160. package/_types/tempo/index.d.ts +3 -2
  161. package/_types/tempo/index.d.ts.map +1 -1
  162. package/_types/tempo/internal/multisig.d.ts +13 -0
  163. package/_types/tempo/internal/multisig.d.ts.map +1 -0
  164. package/chains/definitions/berachainBepolia.ts +1 -1
  165. package/chains/definitions/morphTachyon.ts +22 -0
  166. package/chains/definitions/morphTachyonTestnet.ts +23 -0
  167. package/chains/definitions/ynxTestnet.ts +23 -0
  168. package/chains/index.ts +3 -0
  169. package/errors/version.ts +1 -1
  170. package/package.json +2 -7
  171. package/tempo/Abis.ts +5337 -2537
  172. package/tempo/Account.ts +329 -51
  173. package/tempo/Addresses.ts +41 -0
  174. package/tempo/Decorator.ts +89 -28
  175. package/tempo/Formatters.ts +4 -5
  176. package/tempo/Selectors.ts +225 -71
  177. package/tempo/Storage.ts +5 -8
  178. package/tempo/Transaction.ts +52 -12
  179. package/tempo/Transport.ts +57 -0
  180. package/tempo/Zone.ts +60 -0
  181. package/tempo/actions/accessKey.ts +128 -32
  182. package/tempo/actions/earn/deployment.ts +74 -30
  183. package/tempo/actions/earn.ts +2 -3
  184. package/tempo/actions/index.ts +1 -0
  185. package/tempo/actions/multisig.ts +356 -0
  186. package/tempo/actions/zone.ts +188 -84
  187. package/tempo/chainConfig.ts +82 -35
  188. package/tempo/index.ts +12 -6
  189. package/tempo/internal/multisig.ts +72 -0
  190. package/_cjs/tempo/zones/Abis.js +0 -213
  191. package/_cjs/tempo/zones/Abis.js.map +0 -1
  192. package/_cjs/tempo/zones/Addresses.js +0 -17
  193. package/_cjs/tempo/zones/Addresses.js.map +0 -1
  194. package/_cjs/tempo/zones/index.js +0 -13
  195. package/_cjs/tempo/zones/index.js.map +0 -1
  196. package/_cjs/tempo/zones/transport.js +0 -24
  197. package/_cjs/tempo/zones/transport.js.map +0 -1
  198. package/_cjs/tempo/zones/zone.js +0 -82
  199. package/_cjs/tempo/zones/zone.js.map +0 -1
  200. package/_esm/tempo/zones/Abis.js +0 -210
  201. package/_esm/tempo/zones/Abis.js.map +0 -1
  202. package/_esm/tempo/zones/Addresses.js +0 -14
  203. package/_esm/tempo/zones/Addresses.js.map +0 -1
  204. package/_esm/tempo/zones/index.js +0 -6
  205. package/_esm/tempo/zones/index.js.map +0 -1
  206. package/_esm/tempo/zones/transport.js +0 -39
  207. package/_esm/tempo/zones/transport.js.map +0 -1
  208. package/_esm/tempo/zones/zone.js +0 -78
  209. package/_esm/tempo/zones/zone.js.map +0 -1
  210. package/_types/tempo/zones/Abis.d.ts +0 -383
  211. package/_types/tempo/zones/Abis.d.ts.map +0 -1
  212. package/_types/tempo/zones/Addresses.d.ts +0 -13
  213. package/_types/tempo/zones/Addresses.d.ts.map +0 -1
  214. package/_types/tempo/zones/index.d.ts +0 -5
  215. package/_types/tempo/zones/index.d.ts.map +0 -1
  216. package/_types/tempo/zones/transport.d.ts +0 -26
  217. package/_types/tempo/zones/transport.d.ts.map +0 -1
  218. package/_types/tempo/zones/zone.d.ts +0 -3092
  219. package/_types/tempo/zones/zone.d.ts.map +0 -1
  220. package/tempo/zones/Abis.ts +0 -211
  221. package/tempo/zones/Addresses.ts +0 -15
  222. package/tempo/zones/index.ts +0 -10
  223. package/tempo/zones/package.json +0 -6
  224. package/tempo/zones/transport.ts +0 -58
  225. package/tempo/zones/zone.ts +0 -113
@@ -10,6 +10,7 @@ import * as dexActions from './actions/dex.js'
10
10
  import * as earnActions from './actions/earn.js'
11
11
  import * as faucetActions from './actions/faucet.js'
12
12
  import * as feeActions from './actions/fee.js'
13
+ import * as multisigActions from './actions/multisig.js'
13
14
  import * as nonceActions from './actions/nonce.js'
14
15
  import * as policyActions from './actions/policy.js'
15
16
  import * as receivePolicyActions from './actions/receivePolicy.js'
@@ -1763,14 +1764,14 @@ type DecoratorBase<
1763
1764
  createStackSync: (
1764
1765
  parameters: earnActions.createStackSync.Parameters<chain, account>,
1765
1766
  ) => Promise<earnActions.createStackSync.ReturnValue>
1766
- /** Binds an ERC-4626 engine to its EarnVault. */
1767
- bindErc4626Engine: (
1768
- parameters: earnActions.bindErc4626Engine.Parameters<chain, account>,
1769
- ) => Promise<earnActions.bindErc4626Engine.ReturnValue>
1770
- /** Binds an ERC-4626 engine and waits for confirmation. */
1771
- bindErc4626EngineSync: (
1772
- parameters: earnActions.bindErc4626EngineSync.Parameters<chain, account>,
1773
- ) => Promise<earnActions.bindErc4626EngineSync.ReturnValue>
1767
+ /** Binds an engine to its EarnVault. */
1768
+ bindEngine: (
1769
+ parameters: earnActions.bindEngine.Parameters<chain, account>,
1770
+ ) => Promise<earnActions.bindEngine.ReturnValue>
1771
+ /** Binds an engine and waits for confirmation. */
1772
+ bindEngineSync: (
1773
+ parameters: earnActions.bindEngineSync.Parameters<chain, account>,
1774
+ ) => Promise<earnActions.bindEngineSync.ReturnValue>
1774
1775
  /** Deploys and binds a complete, resumable ERC-4626 Earn stack. */
1775
1776
  deployErc4626StackSync: (
1776
1777
  parameters: earnActions.deployErc4626StackSync.Parameters<chain, account>,
@@ -2363,6 +2364,44 @@ type DecoratorBase<
2363
2364
  parameters: faucetActions.fundSync.Parameters,
2364
2365
  ) => Promise<faucetActions.fundSync.ReturnValue>
2365
2366
  }
2367
+ multisig: {
2368
+ /**
2369
+ * Gets the current configuration for an initialized multisig account.
2370
+ *
2371
+ * @param parameters - Parameters.
2372
+ * @returns The current version, threshold, and owners.
2373
+ */
2374
+ getConfig: (
2375
+ parameters: multisigActions.getConfig.Parameters,
2376
+ ) => Promise<multisigActions.getConfig.ReturnValue>
2377
+ /**
2378
+ * Checks whether an address is an initialized native multisig account.
2379
+ *
2380
+ * @param parameters - Parameters.
2381
+ * @returns Whether the account is initialized.
2382
+ */
2383
+ isInitialized: (
2384
+ parameters: multisigActions.isInitialized.Parameters,
2385
+ ) => Promise<multisigActions.isInitialized.ReturnValue>
2386
+ /**
2387
+ * Replaces the current configuration for a native multisig account.
2388
+ *
2389
+ * @param parameters - New configuration and transaction parameters.
2390
+ * @returns The transaction hash.
2391
+ */
2392
+ updateConfig: (
2393
+ parameters: multisigActions.updateConfig.Parameters<chain, account>,
2394
+ ) => Promise<multisigActions.updateConfig.ReturnValue>
2395
+ /**
2396
+ * Replaces a native multisig configuration and waits for confirmation.
2397
+ *
2398
+ * @param parameters - New configuration and transaction parameters.
2399
+ * @returns The update event and transaction receipt.
2400
+ */
2401
+ updateConfigSync: (
2402
+ parameters: multisigActions.updateConfigSync.Parameters<chain, account>,
2403
+ ) => Promise<multisigActions.updateConfigSync.ReturnValue>
2404
+ }
2366
2405
  nonce: {
2367
2406
  /**
2368
2407
  * Gets the nonce for an account and nonce key.
@@ -5472,17 +5511,32 @@ type DecoratorBase<
5472
5511
  getEncryptionKey: (
5473
5512
  parameters: zoneActions.getEncryptionKey.Parameters,
5474
5513
  ) => Promise<zoneActions.getEncryptionKey.ReturnValue>
5514
+ /**
5515
+ * Gets metadata and configuration for a zone portal.
5516
+ *
5517
+ * @example
5518
+ * ```ts
5519
+ * const info = await client.zone.getPortalInfo({
5520
+ * zoneId: 7,
5521
+ * })
5522
+ * ```
5523
+ *
5524
+ * @param parameters - Parameters.
5525
+ * @returns The portal metadata and configuration.
5526
+ */
5527
+ getPortalInfo: (
5528
+ parameters: zoneActions.getPortalInfo.Parameters,
5529
+ ) => Promise<zoneActions.getPortalInfo.ReturnValue>
5475
5530
  /**
5476
5531
  * Returns the authenticated account address and authorization token expiry.
5477
5532
  *
5478
5533
  * @example
5479
5534
  * ```ts
5480
5535
  * import { createClient } from 'viem'
5481
- * import { http, zoneModerato } from 'viem/tempo/zones'
5482
- * import { tempoActions } from 'viem/tempo'
5536
+ * import { http, tempoActions, Zone } from 'viem/tempo'
5483
5537
  *
5484
5538
  * const client = createClient({
5485
- * chain: zoneModerato(7),
5539
+ * chain: Zone.a,
5486
5540
  * transport: http(),
5487
5541
  * }).extend(tempoActions())
5488
5542
  *
@@ -5498,11 +5552,10 @@ type DecoratorBase<
5498
5552
  * @example
5499
5553
  * ```ts
5500
5554
  * import { createClient } from 'viem'
5501
- * import { http, zoneModerato } from 'viem/tempo/zones'
5502
- * import { tempoActions } from 'viem/tempo'
5555
+ * import { http, tempoActions, Zone } from 'viem/tempo'
5503
5556
  *
5504
5557
  * const client = createClient({
5505
- * chain: zoneModerato(7),
5558
+ * chain: Zone.a,
5506
5559
  * transport: http(),
5507
5560
  * }).extend(tempoActions())
5508
5561
  *
@@ -5521,11 +5574,10 @@ type DecoratorBase<
5521
5574
  * @example
5522
5575
  * ```ts
5523
5576
  * import { createClient } from 'viem'
5524
- * import { http, zoneModerato } from 'viem/tempo/zones'
5525
- * import { tempoActions } from 'viem/tempo'
5577
+ * import { http, tempoActions, Zone } from 'viem/tempo'
5526
5578
  *
5527
5579
  * const client = createClient({
5528
- * chain: zoneModerato(7),
5580
+ * chain: Zone.a,
5529
5581
  * transport: http(),
5530
5582
  * }).extend(tempoActions())
5531
5583
  *
@@ -5552,12 +5604,11 @@ type DecoratorBase<
5552
5604
  * ```ts
5553
5605
  * import { createClient } from 'viem'
5554
5606
  * import { privateKeyToAccount } from 'viem/accounts'
5555
- * import { http, zoneModerato } from 'viem/tempo/zones'
5556
- * import { tempoActions } from 'viem/tempo'
5607
+ * import { http, tempoActions, Zone } from 'viem/tempo'
5557
5608
  *
5558
5609
  * const client = createClient({
5559
5610
  * account: privateKeyToAccount('0x...'),
5560
- * chain: zoneModerato(7),
5611
+ * chain: Zone.a,
5561
5612
  * transport: http(),
5562
5613
  * }).extend(tempoActions())
5563
5614
  *
@@ -5596,12 +5647,11 @@ type DecoratorBase<
5596
5647
  * ```ts
5597
5648
  * import { createClient } from 'viem'
5598
5649
  * import { privateKeyToAccount } from 'viem/accounts'
5599
- * import { http, zoneModerato } from 'viem/tempo/zones'
5600
- * import { tempoActions } from 'viem/tempo'
5650
+ * import { http, tempoActions, Zone } from 'viem/tempo'
5601
5651
  *
5602
5652
  * const client = createClient({
5603
5653
  * account: privateKeyToAccount('0x...'),
5604
- * chain: zoneModerato(7),
5654
+ * chain: Zone.a,
5605
5655
  * transport: http(),
5606
5656
  * }).extend(tempoActions())
5607
5657
  *
@@ -5666,12 +5716,11 @@ type DecoratorBase<
5666
5716
  * ```ts
5667
5717
  * import { createClient } from 'viem'
5668
5718
  * import { privateKeyToAccount } from 'viem/accounts'
5669
- * import { http, zoneModerato } from 'viem/tempo/zones'
5670
- * import { tempoActions } from 'viem/tempo'
5719
+ * import { http, tempoActions, Zone } from 'viem/tempo'
5671
5720
  *
5672
5721
  * const client = createClient({
5673
5722
  * account: privateKeyToAccount('0x...'),
5674
- * chain: zoneModerato(7),
5723
+ * chain: Zone.a,
5675
5724
  * transport: http(),
5676
5725
  * }).extend(tempoActions())
5677
5726
  *
@@ -5783,6 +5832,10 @@ export type Decorator<
5783
5832
  DecoratorBase<chain, account>['faucet'],
5784
5833
  typeof faucetActions
5785
5834
  >
5835
+ multisig: DecorateNamespace<
5836
+ DecoratorBase<chain, account>['multisig'],
5837
+ typeof multisigActions
5838
+ >
5786
5839
  nonce: DecorateNamespace<
5787
5840
  DecoratorBase<chain, account>['nonce'],
5788
5841
  typeof nonceActions
@@ -5854,6 +5907,7 @@ export function decorator() {
5854
5907
  'getRemainingLimit',
5855
5908
  'isAdmin',
5856
5909
  'isWitnessBurned',
5910
+ 'prepareAuthorization',
5857
5911
  'revoke',
5858
5912
  'revokeSync',
5859
5913
  'signAuthorization',
@@ -5922,8 +5976,8 @@ export function decorator() {
5922
5976
  'watchOrderPlaced',
5923
5977
  ]),
5924
5978
  earn: bindActions(client, earnActions, [
5925
- 'bindErc4626Engine',
5926
- 'bindErc4626EngineSync',
5979
+ 'bindEngine',
5980
+ 'bindEngineSync',
5927
5981
  'configureExitSafePolicy',
5928
5982
  'createErc4626Engine',
5929
5983
  'createErc4626EngineSync',
@@ -5952,6 +6006,12 @@ export function decorator() {
5952
6006
  'withdrawExactSync',
5953
6007
  ]),
5954
6008
  faucet: bindActions(client, faucetActions, ['fund', 'fundSync']),
6009
+ multisig: bindActions(client, multisigActions, [
6010
+ 'getConfig',
6011
+ 'isInitialized',
6012
+ 'updateConfig',
6013
+ 'updateConfigSync',
6014
+ ]),
5955
6015
  nonce: bindActions(client, nonceActions, [
5956
6016
  'getNonce',
5957
6017
  'watchNonceIncremented',
@@ -6094,6 +6154,7 @@ export function decorator() {
6094
6154
  'encryptedDepositSync',
6095
6155
  'getAuthorizationTokenInfo',
6096
6156
  'getEncryptionKey',
6157
+ 'getPortalInfo',
6097
6158
  'getWithdrawalFee',
6098
6159
  'getZoneInfo',
6099
6160
  'requestWithdrawal',
@@ -118,15 +118,14 @@ export function formatTransactionRequest(
118
118
  if (request.feePayer === true && !request.feePayerSignature)
119
119
  delete request.feeToken
120
120
 
121
- // `multisig` / `signatures` are client-side only (TIP-1061). They drive
122
- // sender derivation, owner signing, and final envelope assembly, but are
123
- // never sent as raw RPC fields — the wire payload is the serialized tx.
124
- // `multisigInit` / `multisigSignatureCount` are wire fields: the node
125
- // prices multisig gas from them during simulation.
121
+ // Client-only TIP-1061 fields drive local signing and envelope assembly.
122
+ // `multisigInit` and `multisigSignatureCount` remain wire fields for gas modeling.
126
123
  const {
127
124
  multisig: _multisig,
128
125
  multisigInit,
126
+ multisigOwnerStates: _multisigOwnerStates,
129
127
  multisigSignatureCount,
128
+ multisigVersion: _multisigVersion,
130
129
  signatures: _signatures,
131
130
  ...rpcRequest
132
131
  } = request
@@ -1,4 +1,4 @@
1
- // Generated with `pnpm gen:abis`. Do not modify manually.
1
+ // Generated with `pnpm gen:tempo-abis`. Do not modify manually.
2
2
 
3
3
  import type { Abi, ExtractAbiFunctionNames } from 'abitype'
4
4
  import type { Hex } from '../types/misc.js'
@@ -49,6 +49,18 @@ export const addressRegistry = {
49
49
  resolveVirtualAddress: '0xe2fc56ef',
50
50
  } as const satisfies FunctionSelectors<typeof Abis.addressRegistry>
51
51
 
52
+ export const nativeMultisig = {
53
+ deriveAccount: '0xce8e071c',
54
+ getConfig: '0xe48a5f7b',
55
+ isMultisigAccount: '0x9fbf029a',
56
+ updateConfig: '0xe175d479',
57
+ } as const satisfies FunctionSelectors<typeof Abis.nativeMultisig>
58
+
59
+ export const currentCommittee = {
60
+ getCommitteeMembers: '0xb2a275f9',
61
+ setCommitteeMembers: '0x229bdd9c',
62
+ } as const satisfies FunctionSelectors<typeof Abis.currentCommittee>
63
+
52
64
  export const nonce = {
53
65
  getNonce: '0x89535803',
54
66
  } as const satisfies FunctionSelectors<typeof Abis.nonce>
@@ -75,6 +87,8 @@ export const stablecoinDex = {
75
87
  PRICE_SCALE: '0xc33f59d3',
76
88
  TICK_SPACING: '0x46ca626b',
77
89
  balanceOf: '0xf7888aec',
90
+ bookIndexForKey: '0x61285475',
91
+ bookKeyForIndex: '0x3c047a7a',
78
92
  books: '0x0c0dee70',
79
93
  cancel: '0x81649d06',
80
94
  cancelStaleOrder: '0x928b0e7f',
@@ -88,6 +102,8 @@ export const stablecoinDex = {
88
102
  priceToTick: '0x87b4e352',
89
103
  quoteSwapExactAmountIn: '0xe7c98f1a',
90
104
  quoteSwapExactAmountOut: '0x1576fa0e',
105
+ setBookIndex: '0xaecbd005',
106
+ storageCredits: '0x4d65338b',
91
107
  swapExactAmountIn: '0xf8856c0f',
92
108
  swapExactAmountOut: '0xf0122b75',
93
109
  tickToPrice: '0x269a311d',
@@ -102,6 +118,62 @@ export const storageCredits = {
102
118
  setMode: '0x21175b4a',
103
119
  } as const satisfies FunctionSelectors<typeof Abis.storageCredits>
104
120
 
121
+ export const feeManager = {
122
+ collectedFees: '0x4c97f766',
123
+ distributeFees: '0xa6c07924',
124
+ setUserToken: '0xe7897444',
125
+ setValidatorToken: '0xb60d2ddb',
126
+ userTokens: '0xed498fa8',
127
+ validatorTokens: '0x6dc54a7a',
128
+ } as const satisfies FunctionSelectors<typeof Abis.feeManager>
129
+
130
+ export const feeAmm = {
131
+ M: '0x693f917e',
132
+ MIN_LIQUIDITY: '0x21b77d63',
133
+ N: '0xc9e525df',
134
+ SCALE: '0xeced5526',
135
+ burn: '0xfa291e53',
136
+ getPool: '0x531aa03e',
137
+ getPoolId: '0x2ef61c21',
138
+ liquidityBalances: '0x4fb5bf7f',
139
+ mint: '0xf1aa8cb8',
140
+ pools: '0xb5217bb4',
141
+ rebalanceSwap: '0x1bd94ac7',
142
+ totalSupply: '0xb524abcf',
143
+ } as const satisfies FunctionSelectors<typeof Abis.feeAmm>
144
+
145
+ export const tip20ChannelReserve = {
146
+ CLOSE_GRACE_PERIOD: '0x956c8327',
147
+ VOUCHER_TYPEHASH: '0x94739e87',
148
+ close: '0x73b57f74',
149
+ computeChannelId: '0x185eeeac',
150
+ domainSeparator: '0xf698da25',
151
+ getChannel: '0xeef95313',
152
+ getChannelState: '0xd18da8b1',
153
+ getChannelStatesBatch: '0xd1f4cda2',
154
+ getVoucherDigest: '0xf3b349e8',
155
+ open: '0xedc53b00',
156
+ requestClose: '0x675402e5',
157
+ settle: '0x97fb5104',
158
+ storageCredits: '0x4d65338b',
159
+ topUp: '0xdc48471e',
160
+ withdraw: '0x41e2c664',
161
+ } as const satisfies FunctionSelectors<typeof Abis.tip20ChannelReserve>
162
+
163
+ export const tip20Factory = {
164
+ createToken: {
165
+ 'createToken(string,string,string,address,address,bytes32)': '0x68130445',
166
+ 'createToken(string,string,string,address,address,bytes32,string)':
167
+ '0x5323d222',
168
+ },
169
+ getTokenAddress: '0x9ed7cd64',
170
+ isTIP20: '0x35ec42c9',
171
+ } as const satisfies FunctionSelectors<
172
+ typeof Abis.tip20Factory,
173
+ 'createToken'
174
+ > &
175
+ OverloadedFunctionSelectors<'createToken'>
176
+
105
177
  export const tip20 = {
106
178
  BURN_BLOCKED_ROLE: '0x32ad9be8',
107
179
  DOMAIN_SEPARATOR: '0x3644e515',
@@ -155,37 +227,6 @@ export const tip20 = {
155
227
  userRewardInfo: '0x360b8ed9',
156
228
  } as const satisfies FunctionSelectors<typeof Abis.tip20>
157
229
 
158
- export const tip20ChannelReserve = {
159
- CLOSE_GRACE_PERIOD: '0x956c8327',
160
- VOUCHER_TYPEHASH: '0x94739e87',
161
- close: '0x73b57f74',
162
- computeChannelId: '0x185eeeac',
163
- domainSeparator: '0xf698da25',
164
- getChannel: '0xeef95313',
165
- getChannelState: '0xd18da8b1',
166
- getChannelStatesBatch: '0xd1f4cda2',
167
- getVoucherDigest: '0xf3b349e8',
168
- open: '0xedc53b00',
169
- requestClose: '0x675402e5',
170
- settle: '0x97fb5104',
171
- topUp: '0xdc48471e',
172
- withdraw: '0x41e2c664',
173
- } as const satisfies FunctionSelectors<typeof Abis.tip20ChannelReserve>
174
-
175
- export const tip20Factory = {
176
- createToken: {
177
- 'createToken(string,string,string,address,address,bytes32)': '0x68130445',
178
- 'createToken(string,string,string,address,address,bytes32,string)':
179
- '0x5323d222',
180
- },
181
- getTokenAddress: '0x9ed7cd64',
182
- isTIP20: '0x35ec42c9',
183
- } as const satisfies FunctionSelectors<
184
- typeof Abis.tip20Factory,
185
- 'createToken'
186
- > &
187
- OverloadedFunctionSelectors<'createToken'>
188
-
189
230
  export const tip403Registry = {
190
231
  compoundPolicyData: '0xb6266019',
191
232
  createCompoundPolicy: '0x5da414ee',
@@ -195,6 +236,7 @@ export const tip403Registry = {
195
236
  isAuthorizedMintRecipient: '0xb389e305',
196
237
  isAuthorizedRecipient: '0x6fbc13d6',
197
238
  isAuthorizedSender: '0x14abd81d',
239
+ migrateTransferPolicyIds: '0xa783dc99',
198
240
  modifyPolicyBlacklist: '0xc62b27d4',
199
241
  modifyPolicyWhitelist: '0x71ec67a3',
200
242
  policyData: '0x50214329',
@@ -203,48 +245,10 @@ export const tip403Registry = {
203
245
  receivePolicy: '0xe111e611',
204
246
  setPolicyAdmin: '0x25f7d376',
205
247
  setReceivePolicy: '0xdda03d86',
248
+ tokenTransferPolicyId: '0x23143aff',
206
249
  validateReceivePolicy: '0xb72b0c59',
207
250
  } as const satisfies FunctionSelectors<typeof Abis.tip403Registry>
208
251
 
209
- export const feeManager = {
210
- collectedFees: '0x4c97f766',
211
- distributeFees: '0xa6c07924',
212
- setUserToken: '0xe7897444',
213
- setValidatorToken: '0xb60d2ddb',
214
- userTokens: '0xed498fa8',
215
- validatorTokens: '0x6dc54a7a',
216
- } as const satisfies FunctionSelectors<typeof Abis.feeManager>
217
-
218
- export const feeAmm = {
219
- M: '0x693f917e',
220
- MIN_LIQUIDITY: '0x21b77d63',
221
- N: '0xc9e525df',
222
- SCALE: '0xeced5526',
223
- burn: '0xfa291e53',
224
- getPool: '0x531aa03e',
225
- getPoolId: '0x2ef61c21',
226
- liquidityBalances: '0x4fb5bf7f',
227
- mint: '0xf1aa8cb8',
228
- pools: '0xb5217bb4',
229
- rebalanceSwap: '0x1bd94ac7',
230
- totalSupply: '0xb524abcf',
231
- } as const satisfies FunctionSelectors<typeof Abis.feeAmm>
232
-
233
- export const validatorConfig = {
234
- addValidator: '0xffb4822e',
235
- changeOwner: '0xa6f9dae1',
236
- changeValidatorStatus: '0xa1b3f4a9',
237
- changeValidatorStatusByIndex: '0x5aa3d0e1',
238
- getNextFullDkgCeremony: '0x281a69ec',
239
- getValidators: '0xb7ab4db5',
240
- owner: '0x8da5cb5b',
241
- setNextFullDkgCeremony: '0xc3576d46',
242
- updateValidator: '0x09970c76',
243
- validatorCount: '0x0f43a677',
244
- validators: '0xfa52c7d8',
245
- validatorsArray: '0x031fadbd',
246
- } as const satisfies FunctionSelectors<typeof Abis.validatorConfig>
247
-
248
252
  export const validatorConfigV2 = {
249
253
  addValidator: '0x6dcf616a',
250
254
  deactivateValidator: '0x8f289544',
@@ -266,3 +270,153 @@ export const validatorConfigV2 = {
266
270
  validatorByPublicKey: '0x1b425d5e',
267
271
  validatorCount: '0x0f43a677',
268
272
  } as const satisfies FunctionSelectors<typeof Abis.validatorConfigV2>
273
+
274
+ export const validatorConfig = {
275
+ addValidator: '0xffb4822e',
276
+ changeOwner: '0xa6f9dae1',
277
+ changeValidatorStatus: '0xa1b3f4a9',
278
+ changeValidatorStatusByIndex: '0x5aa3d0e1',
279
+ getNextFullDkgCeremony: '0x281a69ec',
280
+ getValidators: '0xb7ab4db5',
281
+ owner: '0x8da5cb5b',
282
+ setNextFullDkgCeremony: '0xc3576d46',
283
+ updateValidator: '0x09970c76',
284
+ validatorCount: '0x0f43a677',
285
+ validators: '0xfa52c7d8',
286
+ validatorsArray: '0x031fadbd',
287
+ } as const satisfies FunctionSelectors<typeof Abis.validatorConfig>
288
+
289
+ export const zoneFactory = {
290
+ createZone: {
291
+ 'createZone((address,address,address,address,(bytes32,bytes32,uint64),string))':
292
+ '0x2d45796a',
293
+ 'createZone((address,bool,bool,address[],address[],address,address[],uint8,string))':
294
+ '0x89677d9e',
295
+ },
296
+ isZonePortal: '0x01b290d3',
297
+ nextZoneId: '0x266db436',
298
+ owner: '0x8da5cb5b',
299
+ transferOwnership: '0xf2fde38b',
300
+ verifier: '0x2b7ac3f3',
301
+ zones: '0x90b7f6fd',
302
+ } as const satisfies FunctionSelectors<typeof Abis.zoneFactory, 'createZone'> &
303
+ OverloadedFunctionSelectors<'createZone'>
304
+
305
+ export const zonePortal = {
306
+ FIXED_DEPOSIT_GAS: '0xf706cfbf',
307
+ MAX_DEPOSITS_PER_TEMPO_BLOCK: '0x1bf00ca8',
308
+ MAX_GAS_FEE_RATE: '0xf490ca96',
309
+ MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK: '0x3fcf7df4',
310
+ MAX_TOKEN_METADATA_BYTES: '0x996329a2',
311
+ MAX_WITHDRAWAL_GAS_LIMIT: '0x86f47e55',
312
+ abdicate: '0xbf4c5411',
313
+ abdicationEffectiveAt: '0x04a3b098',
314
+ acceptAdmin: '0x0e18b681',
315
+ admin: '0xf851a440',
316
+ areDepositsActive: '0x37f981d8',
317
+ blockHash: '0xf22a195e',
318
+ bouncebackGas: '0xfb2f1206',
319
+ calculateBouncebackFee: '0x83a146b3',
320
+ calculateDepositFee: '0x8976248d',
321
+ claimRefund: '0xbffa55d5',
322
+ currentDepositQueueHash: '0x45c5d2fb',
323
+ deliverWithdrawal: '0x005d97ef',
324
+ deposit: {
325
+ 'deposit(address,address,uint128,bytes32,address)': '0x09a0a234',
326
+ 'deposit(address,uint128,uint256,(bytes32,uint8,bytes,bytes12,bytes16),address)':
327
+ '0x03dd6f34',
328
+ },
329
+ depositCount: '0x2dfdf0b5',
330
+ depositEncrypted: '0xb01f22e4',
331
+ enableToken: '0xc690908a',
332
+ enabledTokenAt: '0xb02690f2',
333
+ enabledTokenCount: '0xe4717849',
334
+ encryptionKeyAt: '0x9a97784b',
335
+ encryptionKeyAtBlock: '0x39dc015d',
336
+ encryptionKeyCount: '0x4256ce38',
337
+ hasRole: '0x95a8c58d',
338
+ initialize: '0x86829b82',
339
+ isAccessEnforced: '0x71649b6e',
340
+ isEncryptionKeyValid: '0x9ecd4cc0',
341
+ isGatewayOpen: '0x1b32199b',
342
+ isSequencer: '0x6d46e987',
343
+ isTokenEnabled: '0x748538d9',
344
+ lastProcessedDepositNumber: '0xe84abe69',
345
+ lastSyncedTempoBlockNumber: '0xbe2a63ee',
346
+ leader: '0x40eedabb',
347
+ leaderActivationTempoBlock: '0xb83c755f',
348
+ leaderEpoch: '0x3a6b889b',
349
+ maxTempoGasRate: '0x8d8bd5fb',
350
+ messenger: '0x3cb747bf',
351
+ pause: '0x8456cb59',
352
+ pauseDeposits: '0x27c71b50',
353
+ pauseExpiry: '0xf125af6b',
354
+ paused: '0x5c975abb',
355
+ pendingAdmin: '0x26782247',
356
+ processWithdrawals: '0x91aa3f04',
357
+ refunds: '0x857e85f8',
358
+ resume: '0x046f7da2',
359
+ resumeDeposits: '0x00ebfdb4',
360
+ rpcUrl: '0x959f47c3',
361
+ sequencerAt: '0x129c8240',
362
+ sequencerCount: '0x84b71123',
363
+ sequencerEncryptionKey: '0x3488ce0d',
364
+ sequencerSetVersion: '0x83888ecc',
365
+ sequencerThreshold: '0x1950dd11',
366
+ setAccessMode: '0xf6087442',
367
+ setAllowedAccount: '0x90f59598',
368
+ setBouncebackGas: '0xe09eae10',
369
+ setGateway: '0x10cea857',
370
+ setGatewayMode: '0x0f3804b8',
371
+ setLeader: '0x4fdf2ec2',
372
+ setMaxTempoGasRate: '0x78d8599e',
373
+ setPauseGuardian: '0x35577962',
374
+ setRpcUrl: '0x652ef10b',
375
+ setSequencerEncryptionKey: '0xef10b187',
376
+ setSequencerSet: '0x86012b45',
377
+ setZoneGasRate: '0x0e86bbdc',
378
+ submitBatch: '0x78fb159b',
379
+ tokenConfig: '0xfe136c4e',
380
+ tokenEnablementHash: '0xb456c0dd',
381
+ transferAdmin: '0x75829def',
382
+ verifier: '0x2b7ac3f3',
383
+ withdrawalBatchIndex: '0x2c37826e',
384
+ withdrawalQueueHead: '0x94ce88b0',
385
+ withdrawalQueueSlot: '0xcfaabb4d',
386
+ withdrawalQueueTail: '0x8081a8b2',
387
+ zoneGasRate: '0xecf79a4e',
388
+ zoneHeight: '0x430f8b4f',
389
+ zoneId: '0xd179978a',
390
+ } as const satisfies FunctionSelectors<typeof Abis.zonePortal, 'deposit'> &
391
+ OverloadedFunctionSelectors<'deposit'>
392
+
393
+ export const zoneOutbox = {
394
+ AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH: '0x43c3cb83',
395
+ MAX_CALLBACK_DATA_SIZE: '0x53a8d739',
396
+ MAX_WITHDRAWAL_GAS_LIMIT: '0x86f47e55',
397
+ REVEAL_TO_KEY_LENGTH: '0x378fa8fa',
398
+ WITHDRAWAL_BASE_GAS: '0xc9b6ca9b',
399
+ calculateWithdrawalFee: '0x7b9c9aa4',
400
+ consumeFallbackRecipient: '0xa3a124c3',
401
+ enqueueDepositBounceBack: '0xe2e3ee5c',
402
+ finalizeWithdrawalBatch: '0xce7025e9',
403
+ getPendingWithdrawals: '0xc37fc8a8',
404
+ lastBatch: '0x48aa4108',
405
+ lastFallbackNonce: '0x3d1c5a93',
406
+ lastFinalizedTimestamp: '0x413e9cde',
407
+ maxWithdrawalsPerBlock: '0x545525f1',
408
+ nextWithdrawalIndex: '0xbba9282e',
409
+ pendingWithdrawalsCount: '0xd93af1d2',
410
+ requestWithdrawal: '0xb3b200aa',
411
+ setMaxWithdrawalsPerBlock: '0xb9d1fd68',
412
+ setTempoGasRate: '0x79fa3289',
413
+ tempoGasRate: '0x34065272',
414
+ } as const satisfies FunctionSelectors<typeof Abis.zoneOutbox>
415
+
416
+ export const zoneMessenger = {
417
+ relayMessage: '0x11da5261',
418
+ } as const satisfies FunctionSelectors<typeof Abis.zoneMessenger>
419
+
420
+ export const zoneVerifier = {
421
+ verify: '0x7106a43e',
422
+ } as const satisfies FunctionSelectors<typeof Abis.zoneVerifier>
package/tempo/Storage.ts CHANGED
@@ -13,7 +13,7 @@ export type Storage = {
13
13
  *
14
14
  * @example
15
15
  * ```ts
16
- * import * as Storage from 'viem/tempo/zones'
16
+ * import { Storage } from 'viem/tempo'
17
17
  *
18
18
  * const storage = Storage.from(Storage.memory(), { key: 'tempo' })
19
19
  * await storage.setItem('foo', 'bar')
@@ -107,12 +107,9 @@ let _default: Storage | undefined
107
107
  */
108
108
  export function defaultStorage(): Storage {
109
109
  if (_default) return _default
110
- if (
111
- typeof globalThis !== 'undefined' &&
112
- 'sessionStorage' in globalThis &&
113
- globalThis.sessionStorage
114
- )
115
- _default = session()
116
- else _default = memory()
110
+ try {
111
+ if (globalThis.sessionStorage) _default = session()
112
+ } catch {}
113
+ _default ??= memory()
117
114
  return _default
118
115
  }