viem 2.56.7 → 2.56.9

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 (297) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +0 -1
  3. package/_cjs/actions/index.js +5 -3
  4. package/_cjs/actions/index.js.map +1 -1
  5. package/_cjs/actions/public/getStorageValues.js +17 -0
  6. package/_cjs/actions/public/getStorageValues.js.map +1 -0
  7. package/_cjs/actions/public/simulateBlocks.js +2 -0
  8. package/_cjs/actions/public/simulateBlocks.js.map +1 -1
  9. package/_cjs/chains/definitions/rabbitChainTestnet.js +24 -0
  10. package/_cjs/chains/definitions/rabbitChainTestnet.js.map +1 -0
  11. package/_cjs/chains/index.js +7 -5
  12. package/_cjs/chains/index.js.map +1 -1
  13. package/_cjs/clients/decorators/public.js +2 -0
  14. package/_cjs/clients/decorators/public.js.map +1 -1
  15. package/_cjs/errors/version.js +1 -1
  16. package/_cjs/index.js.map +1 -1
  17. package/_cjs/tempo/Abis.js +1211 -32
  18. package/_cjs/tempo/Abis.js.map +1 -1
  19. package/_cjs/tempo/Addresses.js +2 -1
  20. package/_cjs/tempo/Addresses.js.map +1 -1
  21. package/_cjs/tempo/Decorator.js +12 -0
  22. package/_cjs/tempo/Decorator.js.map +1 -1
  23. package/_cjs/tempo/Selectors.js +7 -4
  24. package/_cjs/tempo/Selectors.js.map +1 -1
  25. package/_cjs/tempo/actions/index.js +2 -1
  26. package/_cjs/tempo/actions/index.js.map +1 -1
  27. package/_cjs/tempo/actions/propAmm.js +349 -0
  28. package/_cjs/tempo/actions/propAmm.js.map +1 -0
  29. package/_cjs/tokens/definitions/eurc.js +1 -0
  30. package/_cjs/tokens/definitions/eurc.js.map +1 -1
  31. package/_cjs/tokens/definitions/usdc.js +1 -0
  32. package/_cjs/tokens/definitions/usdc.js.map +1 -1
  33. package/_cjs/utils/formatters/formatter.js.map +1 -1
  34. package/_esm/actions/index.js +1 -0
  35. package/_esm/actions/index.js.map +1 -1
  36. package/_esm/actions/public/getStorageValues.js +39 -0
  37. package/_esm/actions/public/getStorageValues.js.map +1 -0
  38. package/_esm/actions/public/simulateBlocks.js +4 -0
  39. package/_esm/actions/public/simulateBlocks.js.map +1 -1
  40. package/_esm/chains/definitions/rabbitChainTestnet.js +21 -0
  41. package/_esm/chains/definitions/rabbitChainTestnet.js.map +1 -0
  42. package/_esm/chains/index.js +1 -0
  43. package/_esm/chains/index.js.map +1 -1
  44. package/_esm/clients/decorators/public.js +2 -0
  45. package/_esm/clients/decorators/public.js.map +1 -1
  46. package/_esm/errors/version.js +1 -1
  47. package/_esm/index.js.map +1 -1
  48. package/_esm/tempo/Abis.js +1214 -34
  49. package/_esm/tempo/Abis.js.map +1 -1
  50. package/_esm/tempo/Addresses.js +2 -0
  51. package/_esm/tempo/Addresses.js.map +1 -1
  52. package/_esm/tempo/Decorator.js +12 -0
  53. package/_esm/tempo/Decorator.js.map +1 -1
  54. package/_esm/tempo/Selectors.js +6 -3
  55. package/_esm/tempo/Selectors.js.map +1 -1
  56. package/_esm/tempo/actions/index.js +1 -0
  57. package/_esm/tempo/actions/index.js.map +1 -1
  58. package/_esm/tempo/actions/propAmm.js +539 -0
  59. package/_esm/tempo/actions/propAmm.js.map +1 -0
  60. package/_esm/tokens/definitions/eurc.js +1 -0
  61. package/_esm/tokens/definitions/eurc.js.map +1 -1
  62. package/_esm/tokens/definitions/usdc.js +1 -0
  63. package/_esm/tokens/definitions/usdc.js.map +1 -1
  64. package/_esm/utils/formatters/formatter.js +1 -0
  65. package/_esm/utils/formatters/formatter.js.map +1 -1
  66. package/_types/actions/index.d.ts +1 -0
  67. package/_types/actions/index.d.ts.map +1 -1
  68. package/_types/actions/public/getStorageValues.d.ts +59 -0
  69. package/_types/actions/public/getStorageValues.d.ts.map +1 -0
  70. package/_types/actions/public/simulateBlocks.d.ts +8 -0
  71. package/_types/actions/public/simulateBlocks.d.ts.map +1 -1
  72. package/_types/celo/chainConfig.d.ts +6 -840
  73. package/_types/celo/chainConfig.d.ts.map +1 -1
  74. package/_types/celo/formatters.d.ts +4 -421
  75. package/_types/celo/formatters.d.ts.map +1 -1
  76. package/_types/chains/definitions/abstract.d.ts +4 -371
  77. package/_types/chains/definitions/abstract.d.ts.map +1 -1
  78. package/_types/chains/definitions/abstractTestnet.d.ts +4 -371
  79. package/_types/chains/definitions/abstractTestnet.d.ts.map +1 -1
  80. package/_types/chains/definitions/ancient8.d.ts +3 -226
  81. package/_types/chains/definitions/ancient8.d.ts.map +1 -1
  82. package/_types/chains/definitions/ancient8Sepolia.d.ts +3 -226
  83. package/_types/chains/definitions/ancient8Sepolia.d.ts.map +1 -1
  84. package/_types/chains/definitions/base.d.ts +6 -452
  85. package/_types/chains/definitions/base.d.ts.map +1 -1
  86. package/_types/chains/definitions/baseGoerli.d.ts +3 -226
  87. package/_types/chains/definitions/baseGoerli.d.ts.map +1 -1
  88. package/_types/chains/definitions/baseSepolia.d.ts +6 -452
  89. package/_types/chains/definitions/baseSepolia.d.ts.map +1 -1
  90. package/_types/chains/definitions/battlechain.d.ts +4 -371
  91. package/_types/chains/definitions/battlechain.d.ts.map +1 -1
  92. package/_types/chains/definitions/battlechainTestnet.d.ts +4 -371
  93. package/_types/chains/definitions/battlechainTestnet.d.ts.map +1 -1
  94. package/_types/chains/definitions/blast.d.ts +3 -226
  95. package/_types/chains/definitions/blast.d.ts.map +1 -1
  96. package/_types/chains/definitions/bob.d.ts +3 -226
  97. package/_types/chains/definitions/bob.d.ts.map +1 -1
  98. package/_types/chains/definitions/bobSepolia.d.ts +3 -226
  99. package/_types/chains/definitions/bobSepolia.d.ts.map +1 -1
  100. package/_types/chains/definitions/celo.d.ts +6 -840
  101. package/_types/chains/definitions/celo.d.ts.map +1 -1
  102. package/_types/chains/definitions/celoAlfajores.d.ts +6 -840
  103. package/_types/chains/definitions/celoAlfajores.d.ts.map +1 -1
  104. package/_types/chains/definitions/celoSepolia.d.ts +6 -840
  105. package/_types/chains/definitions/celoSepolia.d.ts.map +1 -1
  106. package/_types/chains/definitions/codex.d.ts +3 -226
  107. package/_types/chains/definitions/codex.d.ts.map +1 -1
  108. package/_types/chains/definitions/codexTestnet.d.ts +3 -226
  109. package/_types/chains/definitions/codexTestnet.d.ts.map +1 -1
  110. package/_types/chains/definitions/dchain.d.ts +3 -226
  111. package/_types/chains/definitions/dchain.d.ts.map +1 -1
  112. package/_types/chains/definitions/dchainTestnet.d.ts +3 -226
  113. package/_types/chains/definitions/dchainTestnet.d.ts.map +1 -1
  114. package/_types/chains/definitions/elysiumTestnet.d.ts +3 -226
  115. package/_types/chains/definitions/elysiumTestnet.d.ts.map +1 -1
  116. package/_types/chains/definitions/fraxtal.d.ts +3 -226
  117. package/_types/chains/definitions/fraxtal.d.ts.map +1 -1
  118. package/_types/chains/definitions/fraxtalTestnet.d.ts +3 -226
  119. package/_types/chains/definitions/fraxtalTestnet.d.ts.map +1 -1
  120. package/_types/chains/definitions/funkiMainnet.d.ts +3 -226
  121. package/_types/chains/definitions/funkiMainnet.d.ts.map +1 -1
  122. package/_types/chains/definitions/funkiSepolia.d.ts +3 -226
  123. package/_types/chains/definitions/funkiSepolia.d.ts.map +1 -1
  124. package/_types/chains/definitions/garnet.d.ts +3 -226
  125. package/_types/chains/definitions/garnet.d.ts.map +1 -1
  126. package/_types/chains/definitions/giwaSepolia.d.ts +6 -452
  127. package/_types/chains/definitions/giwaSepolia.d.ts.map +1 -1
  128. package/_types/chains/definitions/ink.d.ts +3 -226
  129. package/_types/chains/definitions/ink.d.ts.map +1 -1
  130. package/_types/chains/definitions/inkSepolia.d.ts +3 -226
  131. package/_types/chains/definitions/inkSepolia.d.ts.map +1 -1
  132. package/_types/chains/definitions/lisk.d.ts +3 -226
  133. package/_types/chains/definitions/lisk.d.ts.map +1 -1
  134. package/_types/chains/definitions/liskSepolia.d.ts +3 -226
  135. package/_types/chains/definitions/liskSepolia.d.ts.map +1 -1
  136. package/_types/chains/definitions/megaeth.d.ts +3 -226
  137. package/_types/chains/definitions/megaeth.d.ts.map +1 -1
  138. package/_types/chains/definitions/metalL2.d.ts +3 -226
  139. package/_types/chains/definitions/metalL2.d.ts.map +1 -1
  140. package/_types/chains/definitions/mode.d.ts +3 -226
  141. package/_types/chains/definitions/mode.d.ts.map +1 -1
  142. package/_types/chains/definitions/modeTestnet.d.ts +3 -226
  143. package/_types/chains/definitions/modeTestnet.d.ts.map +1 -1
  144. package/_types/chains/definitions/optimism.d.ts +3 -226
  145. package/_types/chains/definitions/optimism.d.ts.map +1 -1
  146. package/_types/chains/definitions/optimismGoerli.d.ts +3 -226
  147. package/_types/chains/definitions/optimismGoerli.d.ts.map +1 -1
  148. package/_types/chains/definitions/optimismSepolia.d.ts +3 -226
  149. package/_types/chains/definitions/optimismSepolia.d.ts.map +1 -1
  150. package/_types/chains/definitions/pgn.d.ts +3 -226
  151. package/_types/chains/definitions/pgn.d.ts.map +1 -1
  152. package/_types/chains/definitions/pgnTestnet.d.ts +3 -226
  153. package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
  154. package/_types/chains/definitions/playfiAlbireo.d.ts +4 -371
  155. package/_types/chains/definitions/playfiAlbireo.d.ts.map +1 -1
  156. package/_types/chains/definitions/pyrope.d.ts +3 -226
  157. package/_types/chains/definitions/pyrope.d.ts.map +1 -1
  158. package/_types/chains/definitions/rabbitChainTestnet.d.ts +51 -0
  159. package/_types/chains/definitions/rabbitChainTestnet.d.ts.map +1 -0
  160. package/_types/chains/definitions/redstone.d.ts +3 -226
  161. package/_types/chains/definitions/redstone.d.ts.map +1 -1
  162. package/_types/chains/definitions/rss3.d.ts +3 -226
  163. package/_types/chains/definitions/rss3.d.ts.map +1 -1
  164. package/_types/chains/definitions/rss3Sepolia.d.ts +3 -226
  165. package/_types/chains/definitions/rss3Sepolia.d.ts.map +1 -1
  166. package/_types/chains/definitions/shape.d.ts +3 -226
  167. package/_types/chains/definitions/shape.d.ts.map +1 -1
  168. package/_types/chains/definitions/shapeSepolia.d.ts +3 -226
  169. package/_types/chains/definitions/shapeSepolia.d.ts.map +1 -1
  170. package/_types/chains/definitions/snax.d.ts +3 -226
  171. package/_types/chains/definitions/snax.d.ts.map +1 -1
  172. package/_types/chains/definitions/snaxTestnet.d.ts +3 -226
  173. package/_types/chains/definitions/snaxTestnet.d.ts.map +1 -1
  174. package/_types/chains/definitions/soneium.d.ts +3 -226
  175. package/_types/chains/definitions/soneium.d.ts.map +1 -1
  176. package/_types/chains/definitions/soneiumMinato.d.ts +3 -226
  177. package/_types/chains/definitions/soneiumMinato.d.ts.map +1 -1
  178. package/_types/chains/definitions/sophon.d.ts +4 -371
  179. package/_types/chains/definitions/sophon.d.ts.map +1 -1
  180. package/_types/chains/definitions/sophonTestnet.d.ts +4 -371
  181. package/_types/chains/definitions/sophonTestnet.d.ts.map +1 -1
  182. package/_types/chains/definitions/superseed.d.ts +3 -226
  183. package/_types/chains/definitions/superseed.d.ts.map +1 -1
  184. package/_types/chains/definitions/superseedSepolia.d.ts +3 -226
  185. package/_types/chains/definitions/superseedSepolia.d.ts.map +1 -1
  186. package/_types/chains/definitions/swellchain.d.ts +3 -226
  187. package/_types/chains/definitions/swellchain.d.ts.map +1 -1
  188. package/_types/chains/definitions/swellchainTestnet.d.ts +3 -226
  189. package/_types/chains/definitions/swellchainTestnet.d.ts.map +1 -1
  190. package/_types/chains/definitions/tempo.d.ts +6 -910
  191. package/_types/chains/definitions/tempo.d.ts.map +1 -1
  192. package/_types/chains/definitions/tempoDevnet.d.ts +6 -910
  193. package/_types/chains/definitions/tempoDevnet.d.ts.map +1 -1
  194. package/_types/chains/definitions/tempoLocalnet.d.ts +6 -910
  195. package/_types/chains/definitions/tempoLocalnet.d.ts.map +1 -1
  196. package/_types/chains/definitions/tempoModerato.d.ts +6 -910
  197. package/_types/chains/definitions/tempoModerato.d.ts.map +1 -1
  198. package/_types/chains/definitions/treasure.d.ts +4 -371
  199. package/_types/chains/definitions/treasure.d.ts.map +1 -1
  200. package/_types/chains/definitions/treasureTopaz.d.ts +4 -371
  201. package/_types/chains/definitions/treasureTopaz.d.ts.map +1 -1
  202. package/_types/chains/definitions/unichain.d.ts +3 -226
  203. package/_types/chains/definitions/unichain.d.ts.map +1 -1
  204. package/_types/chains/definitions/unichainSepolia.d.ts +3 -226
  205. package/_types/chains/definitions/unichainSepolia.d.ts.map +1 -1
  206. package/_types/chains/definitions/whitechainSepolia.d.ts +3 -226
  207. package/_types/chains/definitions/whitechainSepolia.d.ts.map +1 -1
  208. package/_types/chains/definitions/worldchain.d.ts +3 -226
  209. package/_types/chains/definitions/worldchain.d.ts.map +1 -1
  210. package/_types/chains/definitions/worldchainSepolia.d.ts +3 -226
  211. package/_types/chains/definitions/worldchainSepolia.d.ts.map +1 -1
  212. package/_types/chains/definitions/zircuit.d.ts +3 -226
  213. package/_types/chains/definitions/zircuit.d.ts.map +1 -1
  214. package/_types/chains/definitions/zircuitGarfieldTestnet.d.ts +3 -226
  215. package/_types/chains/definitions/zircuitGarfieldTestnet.d.ts.map +1 -1
  216. package/_types/chains/definitions/zksync.d.ts +4 -371
  217. package/_types/chains/definitions/zksync.d.ts.map +1 -1
  218. package/_types/chains/definitions/zksyncInMemoryNode.d.ts +4 -371
  219. package/_types/chains/definitions/zksyncInMemoryNode.d.ts.map +1 -1
  220. package/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts +4 -371
  221. package/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts.map +1 -1
  222. package/_types/chains/definitions/zksyncLocalHyperchain.d.ts +4 -371
  223. package/_types/chains/definitions/zksyncLocalHyperchain.d.ts.map +1 -1
  224. package/_types/chains/definitions/zksyncLocalNode.d.ts +4 -371
  225. package/_types/chains/definitions/zksyncLocalNode.d.ts.map +1 -1
  226. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts +4 -371
  227. package/_types/chains/definitions/zksyncSepoliaTestnet.d.ts.map +1 -1
  228. package/_types/chains/definitions/zora.d.ts +3 -226
  229. package/_types/chains/definitions/zora.d.ts.map +1 -1
  230. package/_types/chains/definitions/zoraSepolia.d.ts +3 -226
  231. package/_types/chains/definitions/zoraSepolia.d.ts.map +1 -1
  232. package/_types/chains/definitions/zoraTestnet.d.ts +3 -226
  233. package/_types/chains/definitions/zoraTestnet.d.ts.map +1 -1
  234. package/_types/chains/index.d.ts +1 -0
  235. package/_types/chains/index.d.ts.map +1 -1
  236. package/_types/clients/decorators/public.d.ts +11 -0
  237. package/_types/clients/decorators/public.d.ts.map +1 -1
  238. package/_types/errors/version.d.ts +1 -1
  239. package/_types/index.d.ts +1 -0
  240. package/_types/index.d.ts.map +1 -1
  241. package/_types/op-stack/chainConfig.d.ts +3 -226
  242. package/_types/op-stack/chainConfig.d.ts.map +1 -1
  243. package/_types/op-stack/formatters.d.ts +5 -228
  244. package/_types/op-stack/formatters.d.ts.map +1 -1
  245. package/_types/tempo/Abis.d.ts +14686 -9568
  246. package/_types/tempo/Abis.d.ts.map +1 -1
  247. package/_types/tempo/Addresses.d.ts +2 -0
  248. package/_types/tempo/Addresses.d.ts.map +1 -1
  249. package/_types/tempo/Decorator.d.ts +205 -1
  250. package/_types/tempo/Decorator.d.ts.map +1 -1
  251. package/_types/tempo/Selectors.d.ts +6 -3
  252. package/_types/tempo/Selectors.d.ts.map +1 -1
  253. package/_types/tempo/actions/earn.d.ts +621 -1
  254. package/_types/tempo/actions/earn.d.ts.map +1 -1
  255. package/_types/tempo/actions/index.d.ts +1 -0
  256. package/_types/tempo/actions/index.d.ts.map +1 -1
  257. package/_types/tempo/actions/propAmm.d.ts +2228 -0
  258. package/_types/tempo/actions/propAmm.d.ts.map +1 -0
  259. package/_types/tempo/chainConfig.d.ts +4 -457
  260. package/_types/tempo/chainConfig.d.ts.map +1 -1
  261. package/_types/tokens/definitions/eurc.d.ts +1 -0
  262. package/_types/tokens/definitions/eurc.d.ts.map +1 -1
  263. package/_types/tokens/definitions/usdc.d.ts +1 -0
  264. package/_types/tokens/definitions/usdc.d.ts.map +1 -1
  265. package/_types/tokens/sets.d.ts +3 -0
  266. package/_types/tokens/sets.d.ts.map +1 -1
  267. package/_types/types/eip1193.d.ts +20 -0
  268. package/_types/types/eip1193.d.ts.map +1 -1
  269. package/_types/utils/formatters/block.d.ts +1 -1
  270. package/_types/utils/formatters/formatter.d.ts +1 -2
  271. package/_types/utils/formatters/formatter.d.ts.map +1 -1
  272. package/_types/utils/formatters/transaction.d.ts +1 -1
  273. package/_types/utils/formatters/transactionReceipt.d.ts +1 -1
  274. package/_types/utils/formatters/transactionRequest.d.ts +1 -1
  275. package/_types/zksync/chainConfig.d.ts +4 -371
  276. package/_types/zksync/chainConfig.d.ts.map +1 -1
  277. package/_types/zksync/formatters.d.ts +6 -374
  278. package/_types/zksync/formatters.d.ts.map +1 -1
  279. package/actions/index.ts +6 -0
  280. package/actions/public/getStorageValues.ts +93 -0
  281. package/actions/public/simulateBlocks.ts +13 -0
  282. package/chains/definitions/rabbitChainTestnet.ts +21 -0
  283. package/chains/index.ts +1 -0
  284. package/clients/decorators/public.ts +18 -0
  285. package/errors/version.ts +1 -1
  286. package/index.ts +5 -0
  287. package/package.json +1 -1
  288. package/tempo/Abis.ts +1218 -34
  289. package/tempo/Addresses.ts +2 -0
  290. package/tempo/Decorator.ts +239 -3
  291. package/tempo/Selectors.ts +10 -4
  292. package/tempo/actions/index.ts +1 -0
  293. package/tempo/actions/propAmm.ts +998 -0
  294. package/tokens/definitions/eurc.ts +1 -0
  295. package/tokens/definitions/usdc.ts +1 -0
  296. package/types/eip1193.ts +20 -0
  297. package/utils/formatters/formatter.ts +4 -4
@@ -12,6 +12,8 @@ export const accountImplementation =
12
12
  export const accountKeychain = '0xaAAAaaAA00000000000000000000000000000000'
13
13
  export const accountRegistrar = '0x7702ac0000000000000000000000000000000000'
14
14
  export const addressRegistry = '0xfdc0000000000000000000000000000000000000'
15
+ /** Current consensus committee precompile address, used with `Abis.currentCommittee` to read committee members. */
16
+ export const currentCommittee = '0xC077e00000000000000000000000000000000000'
15
17
  export const feeManager = '0xfeec000000000000000000000000000000000000'
16
18
  export const nativeMultisig = '0xAACC000000000000000000000000000000000000'
17
19
  /** Temporary recovery factory until the production address is finalized. */
@@ -13,6 +13,7 @@ import * as feeActions from './actions/fee.js'
13
13
  import * as multisigActions from './actions/multisig.js'
14
14
  import * as nonceActions from './actions/nonce.js'
15
15
  import * as policyActions from './actions/policy.js'
16
+ import * as propAmmActions from './actions/propAmm.js'
16
17
  import * as receivePolicyActions from './actions/receivePolicy.js'
17
18
  import * as rewardActions from './actions/reward.js'
18
19
  import * as simulateActions from './actions/simulate.js'
@@ -3015,6 +3016,228 @@ type DecoratorBase<
3015
3016
  parameters: policyActions.watchBlacklistUpdated.Parameters,
3016
3017
  ) => () => void
3017
3018
  }
3019
+ propAmm: {
3020
+ /**
3021
+ * Reads the base token of a propAMM pool.
3022
+ *
3023
+ * @example
3024
+ * ```ts
3025
+ * import { createClient, http } from 'viem'
3026
+ * import { tempo } from 'viem/chains'
3027
+ * import { tempoActions } from 'viem/tempo'
3028
+ *
3029
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3030
+ *
3031
+ * const base = await client.propAmm.baseToken({ pool: '0x...' })
3032
+ * ```
3033
+ *
3034
+ * @param parameters - Pool and read options.
3035
+ * @returns The base token address.
3036
+ */
3037
+ baseToken: (
3038
+ parameters: propAmmActions.baseToken.Parameters,
3039
+ ) => Promise<propAmmActions.baseToken.ReturnValue>
3040
+ /**
3041
+ * Quotes an exact input or output for a caller, recipient, and customer route.
3042
+ *
3043
+ * @example
3044
+ * ```ts
3045
+ * import { createClient, http } from 'viem'
3046
+ * import { tempo } from 'viem/chains'
3047
+ * import { tempoActions } from 'viem/tempo'
3048
+ *
3049
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3050
+ *
3051
+ * const { amountOut, price, updatedAt } = await client.propAmm.getSwapQuote({
3052
+ * amountIn: 1_000_000n,
3053
+ * mode: 'exactInput',
3054
+ * pool: '0x...',
3055
+ * recipient: '0x...',
3056
+ * taker: '0x...',
3057
+ * })
3058
+ * ```
3059
+ *
3060
+ * @param parameters - Route, swap mode, amount, and read options.
3061
+ * @returns Quoted amount, oracle observation, rounding credit, and swap request.
3062
+ */
3063
+ getSwapQuote: <
3064
+ const parameters extends propAmmActions.getSwapQuote.Parameters,
3065
+ >(
3066
+ parameters: parameters,
3067
+ ) => Promise<propAmmActions.getSwapQuote.ReturnValue<parameters>>
3068
+ /**
3069
+ * Reads whether a propAMM pool is paused.
3070
+ *
3071
+ * @example
3072
+ * ```ts
3073
+ * import { createClient, http } from 'viem'
3074
+ * import { tempo } from 'viem/chains'
3075
+ * import { tempoActions } from 'viem/tempo'
3076
+ *
3077
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3078
+ *
3079
+ * const paused = await client.propAmm.paused({ pool: '0x...' })
3080
+ * ```
3081
+ *
3082
+ * @param parameters - Pool and read options.
3083
+ * @returns Whether swaps are paused.
3084
+ */
3085
+ paused: (
3086
+ parameters: propAmmActions.paused.Parameters,
3087
+ ) => Promise<propAmmActions.paused.ReturnValue>
3088
+ /**
3089
+ * Reads whether a resolved address may receive swap output.
3090
+ *
3091
+ * @example
3092
+ * ```ts
3093
+ * import { createClient, http } from 'viem'
3094
+ * import { tempo } from 'viem/chains'
3095
+ * import { tempoActions } from 'viem/tempo'
3096
+ *
3097
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3098
+ *
3099
+ * const allowed = await client.propAmm.recipientAllowed({
3100
+ * pool: '0x...',
3101
+ * recipient: '0x...',
3102
+ * })
3103
+ * ```
3104
+ *
3105
+ * @param parameters - Pool, resolved recipient, and read options.
3106
+ * @returns Whether the recipient is allowed.
3107
+ */
3108
+ recipientAllowed: (
3109
+ parameters: propAmmActions.recipientAllowed.Parameters,
3110
+ ) => Promise<propAmmActions.recipientAllowed.ReturnValue>
3111
+ /**
3112
+ * Resolves a Tempo recipient to the address checked by the pool's allowlist.
3113
+ *
3114
+ * @example
3115
+ * ```ts
3116
+ * import { createClient, http } from 'viem'
3117
+ * import { tempo } from 'viem/chains'
3118
+ * import { tempoActions } from 'viem/tempo'
3119
+ *
3120
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3121
+ *
3122
+ * const resolved = await client.propAmm.resolveRecipient({
3123
+ * pool: '0x...',
3124
+ * recipient: '0x...',
3125
+ * })
3126
+ * ```
3127
+ *
3128
+ * @param parameters - Pool, recipient, and read options.
3129
+ * @returns The resolved recipient address.
3130
+ */
3131
+ resolveRecipient: (
3132
+ parameters: propAmmActions.resolveRecipient.Parameters,
3133
+ ) => Promise<propAmmActions.resolveRecipient.ReturnValue>
3134
+ /**
3135
+ * Reads the quote token of a propAMM pool.
3136
+ *
3137
+ * @example
3138
+ * ```ts
3139
+ * import { createClient, http } from 'viem'
3140
+ * import { tempo } from 'viem/chains'
3141
+ * import { tempoActions } from 'viem/tempo'
3142
+ *
3143
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3144
+ *
3145
+ * const quote = await client.propAmm.quoteToken({ pool: '0x...' })
3146
+ * ```
3147
+ *
3148
+ * @param parameters - Pool and read options.
3149
+ * @returns The quote token address.
3150
+ */
3151
+ quoteToken: (
3152
+ parameters: propAmmActions.quoteToken.Parameters,
3153
+ ) => Promise<propAmmActions.quoteToken.ReturnValue>
3154
+ /**
3155
+ * Approves the input token and swaps an exact input or output in one transaction.
3156
+ *
3157
+ * @example
3158
+ * ```ts
3159
+ * import { createClient, http } from 'viem'
3160
+ * import { privateKeyToAccount } from 'viem/accounts'
3161
+ * import { tempo } from 'viem/chains'
3162
+ * import { tempoActions } from 'viem/tempo'
3163
+ *
3164
+ * const client = createClient({
3165
+ * account: privateKeyToAccount('0x...'),
3166
+ * chain: tempo,
3167
+ * transport: http(),
3168
+ * }).extend(tempoActions())
3169
+ * const hash = await client.propAmm.swap({
3170
+ * amountIn: 1_000_000n,
3171
+ * expectedOraclePrice: 1_000_000_000_000_000_000n,
3172
+ * minAmountOut: 1_000_000n,
3173
+ * minimumOracleUpdatedAt: 1_799_999_000n,
3174
+ * mode: 'exactInput',
3175
+ * pool: '0x...',
3176
+ * })
3177
+ * ```
3178
+ *
3179
+ * @param parameters - Swap and transaction options.
3180
+ * @returns The transaction hash.
3181
+ */
3182
+ swap: (
3183
+ parameters: propAmmActions.swap.Parameters<chain, account>,
3184
+ ) => Promise<propAmmActions.swap.ReturnValue>
3185
+ /**
3186
+ * Approves the input token, swaps, and returns the confirmed trade and receipt.
3187
+ *
3188
+ * @example
3189
+ * ```ts
3190
+ * import { createClient, http } from 'viem'
3191
+ * import { privateKeyToAccount } from 'viem/accounts'
3192
+ * import { tempo } from 'viem/chains'
3193
+ * import { tempoActions } from 'viem/tempo'
3194
+ *
3195
+ * const client = createClient({
3196
+ * account: privateKeyToAccount('0x...'),
3197
+ * chain: tempo,
3198
+ * transport: http(),
3199
+ * }).extend(tempoActions())
3200
+ * const trade = await client.propAmm.swapSync({
3201
+ * amountOut: 1_000_000n,
3202
+ * baseToQuote: false,
3203
+ * expectedOraclePrice: 1_000_000_000_000_000_000n,
3204
+ * maxAmountIn: 1_010_000n,
3205
+ * minimumOracleUpdatedAt: 1_799_999_000n,
3206
+ * mode: 'exactOutput',
3207
+ * pool: '0x...',
3208
+ * })
3209
+ * ```
3210
+ *
3211
+ * @param parameters - Swap and transaction options.
3212
+ * @returns Confirmed trade data and receipt.
3213
+ */
3214
+ swapSync: (
3215
+ parameters: propAmmActions.swapSync.Parameters<chain, account>,
3216
+ ) => Promise<propAmmActions.swapSync.ReturnValue>
3217
+ /**
3218
+ * Reads whether an address may call swaps on a propAMM pool.
3219
+ *
3220
+ * @example
3221
+ * ```ts
3222
+ * import { createClient, http } from 'viem'
3223
+ * import { tempo } from 'viem/chains'
3224
+ * import { tempoActions } from 'viem/tempo'
3225
+ *
3226
+ * const client = createClient({ chain: tempo, transport: http() }).extend(tempoActions())
3227
+ *
3228
+ * const allowed = await client.propAmm.takerAllowed({
3229
+ * pool: '0x...',
3230
+ * taker: '0x...',
3231
+ * })
3232
+ * ```
3233
+ *
3234
+ * @param parameters - Pool, taker, and read options.
3235
+ * @returns Whether the taker is allowed.
3236
+ */
3237
+ takerAllowed: (
3238
+ parameters: propAmmActions.takerAllowed.Parameters,
3239
+ ) => Promise<propAmmActions.takerAllowed.ReturnValue>
3240
+ }
3018
3241
  receivePolicy: {
3019
3242
  /**
3020
3243
  * Burns the funds backing a blocked receipt.
@@ -5774,9 +5997,7 @@ type BoundHelper<helper> = helper extends (
5774
5997
  ? (args: args) => returnType
5775
5998
  : parameters extends [Client<any, any, any>]
5776
5999
  ? () => returnType
5777
- : parameters extends [infer args, ...unknown[]]
5778
- ? (args: args) => returnType
5779
- : () => returnType
6000
+ : helper
5780
6001
  : never
5781
6002
 
5782
6003
  type BoundActionHelpers<action> = (action extends { call: infer helper }
@@ -5879,6 +6100,10 @@ export type Decorator<
5879
6100
  DecoratorBase<chain, account>['policy'],
5880
6101
  typeof policyActions
5881
6102
  >
6103
+ propAmm: DecorateNamespace<
6104
+ DecoratorBase<chain, account>['propAmm'],
6105
+ typeof propAmmActions
6106
+ >
5882
6107
  receivePolicy: DecorateNamespace<
5883
6108
  DecoratorBase<chain, account>['receivePolicy'],
5884
6109
  typeof receivePolicyActions
@@ -6075,6 +6300,17 @@ export function decorator() {
6075
6300
  'watchWhitelistUpdated',
6076
6301
  'watchBlacklistUpdated',
6077
6302
  ]),
6303
+ propAmm: bindActions(client, propAmmActions, [
6304
+ 'baseToken',
6305
+ 'paused',
6306
+ 'getSwapQuote',
6307
+ 'quoteToken',
6308
+ 'recipientAllowed',
6309
+ 'resolveRecipient',
6310
+ 'swap',
6311
+ 'swapSync',
6312
+ 'takerAllowed',
6313
+ ]),
6078
6314
  receivePolicy: bindActions(client, receivePolicyActions, [
6079
6315
  'burn',
6080
6316
  'burnSync',
@@ -301,6 +301,16 @@ export const zoneFactory = {
301
301
  } as const satisfies FunctionSelectors<typeof Abis.zoneFactory, 'createZone'> &
302
302
  OverloadedFunctionSelectors<'createZone'>
303
303
 
304
+ export const zoneVerifier = {
305
+ verify: {
306
+ 'verify(uint32,uint64,uint64,bytes32,uint64,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),bytes32,bytes,bytes)':
307
+ '0x7106a43e',
308
+ 'verify(uint32,uint64,uint64,bytes32,uint64,uint256,(bytes32,bytes32),(bytes32,bytes32,uint64,uint64),(uint64,uint64),bytes32,bytes,bytes)':
309
+ '0xebb2ddc9',
310
+ },
311
+ } as const satisfies FunctionSelectors<typeof Abis.zoneVerifier, 'verify'> &
312
+ OverloadedFunctionSelectors<'verify'>
313
+
304
314
  export const zonePortal = {
305
315
  FIXED_DEPOSIT_GAS: '0xf706cfbf',
306
316
  MAX_DEPOSITS_PER_TEMPO_BLOCK: '0x1bf00ca8',
@@ -415,7 +425,3 @@ export const zoneOutbox = {
415
425
  export const zoneMessenger = {
416
426
  relayMessage: '0x11da5261',
417
427
  } as const satisfies FunctionSelectors<typeof Abis.zoneMessenger>
418
-
419
- export const zoneVerifier = {
420
- verify: '0x7106a43e',
421
- } as const satisfies FunctionSelectors<typeof Abis.zoneVerifier>
@@ -9,6 +9,7 @@ export * as fee from './fee.js'
9
9
  export * as multisig from './multisig.js'
10
10
  export * as nonce from './nonce.js'
11
11
  export * as policy from './policy.js'
12
+ export * as propAmm from './propAmm.js'
12
13
  export * as receivePolicy from './receivePolicy.js'
13
14
  export * as reward from './reward.js'
14
15
  export * as simulate from './simulate.js'