viem 3.0.0-next.10 → 3.0.0-next.13

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 (716) hide show
  1. package/dist/chains/definitions/arc.d.ts +15 -1
  2. package/dist/chains/definitions/arc.d.ts.map +1 -1
  3. package/dist/chains/definitions/arc.js +19 -1
  4. package/dist/chains/definitions/arc.js.map +1 -1
  5. package/dist/chains/definitions/berachainBepolia.d.ts +1 -1
  6. package/dist/chains/definitions/berachainBepolia.js +1 -1
  7. package/dist/chains/definitions/blockdag.d.ts +18 -0
  8. package/dist/chains/definitions/blockdag.d.ts.map +1 -0
  9. package/dist/chains/definitions/blockdag.js +18 -0
  10. package/dist/chains/definitions/blockdag.js.map +1 -0
  11. package/dist/chains/definitions/candyChain.d.ts +27 -0
  12. package/dist/chains/definitions/candyChain.d.ts.map +1 -0
  13. package/dist/chains/definitions/candyChain.js +26 -0
  14. package/dist/chains/definitions/candyChain.js.map +1 -0
  15. package/dist/chains/definitions/creditCoin3Devnet.d.ts +6 -0
  16. package/dist/chains/definitions/creditCoin3Devnet.d.ts.map +1 -1
  17. package/dist/chains/definitions/creditCoin3Devnet.js +6 -0
  18. package/dist/chains/definitions/creditCoin3Devnet.js.map +1 -1
  19. package/dist/chains/definitions/creditCoin3Mainnet.d.ts +5 -1
  20. package/dist/chains/definitions/creditCoin3Mainnet.d.ts.map +1 -1
  21. package/dist/chains/definitions/creditCoin3Mainnet.js +4 -0
  22. package/dist/chains/definitions/creditCoin3Mainnet.js.map +1 -1
  23. package/dist/chains/definitions/creditCoin3Testnet.d.ts +5 -1
  24. package/dist/chains/definitions/creditCoin3Testnet.d.ts.map +1 -1
  25. package/dist/chains/definitions/creditCoin3Testnet.js +4 -0
  26. package/dist/chains/definitions/creditCoin3Testnet.js.map +1 -1
  27. package/dist/chains/definitions/crymad.d.ts +25 -0
  28. package/dist/chains/definitions/crymad.d.ts.map +1 -0
  29. package/dist/chains/definitions/crymad.js +23 -0
  30. package/dist/chains/definitions/crymad.js.map +1 -0
  31. package/dist/chains/definitions/crymadL2.d.ts +26 -0
  32. package/dist/chains/definitions/crymadL2.d.ts.map +1 -0
  33. package/dist/chains/definitions/crymadL2.js +24 -0
  34. package/dist/chains/definitions/crymadL2.js.map +1 -0
  35. package/dist/chains/definitions/eCanna.d.ts +18 -0
  36. package/dist/chains/definitions/eCanna.d.ts.map +1 -0
  37. package/dist/chains/definitions/eCanna.js +18 -0
  38. package/dist/chains/definitions/eCanna.js.map +1 -0
  39. package/dist/chains/definitions/eCannaTestnet.d.ts +19 -0
  40. package/dist/chains/definitions/eCannaTestnet.d.ts.map +1 -0
  41. package/dist/chains/definitions/eCannaTestnet.js +19 -0
  42. package/dist/chains/definitions/eCannaTestnet.js.map +1 -0
  43. package/dist/chains/definitions/hausTestnet.d.ts +20 -0
  44. package/dist/chains/definitions/hausTestnet.d.ts.map +1 -0
  45. package/dist/chains/definitions/hausTestnet.js +18 -0
  46. package/dist/chains/definitions/hausTestnet.js.map +1 -0
  47. package/dist/chains/definitions/hyveChain.d.ts +26 -0
  48. package/dist/chains/definitions/hyveChain.d.ts.map +1 -0
  49. package/dist/chains/definitions/hyveChain.js +22 -0
  50. package/dist/chains/definitions/hyveChain.js.map +1 -0
  51. package/dist/chains/definitions/kortana.d.ts +18 -0
  52. package/dist/chains/definitions/kortana.d.ts.map +1 -0
  53. package/dist/chains/definitions/kortana.js +16 -0
  54. package/dist/chains/definitions/kortana.js.map +1 -0
  55. package/dist/chains/definitions/morphTachyon.d.ts +18 -0
  56. package/dist/chains/definitions/morphTachyon.d.ts.map +1 -0
  57. package/dist/chains/definitions/morphTachyon.js +16 -0
  58. package/dist/chains/definitions/morphTachyon.js.map +1 -0
  59. package/dist/chains/definitions/morphTachyonTestnet.d.ts +19 -0
  60. package/dist/chains/definitions/morphTachyonTestnet.d.ts.map +1 -0
  61. package/dist/chains/definitions/morphTachyonTestnet.js +17 -0
  62. package/dist/chains/definitions/morphTachyonTestnet.js.map +1 -0
  63. package/dist/chains/definitions/rabbitChainTestnet.d.ts +19 -0
  64. package/dist/chains/definitions/rabbitChainTestnet.d.ts.map +1 -0
  65. package/dist/chains/definitions/rabbitChainTestnet.js +19 -0
  66. package/dist/chains/definitions/rabbitChainTestnet.js.map +1 -0
  67. package/dist/chains/definitions/robinhood.d.ts +2 -1
  68. package/dist/chains/definitions/robinhood.d.ts.map +1 -1
  69. package/dist/chains/definitions/robinhood.js +6 -2
  70. package/dist/chains/definitions/robinhood.js.map +1 -1
  71. package/dist/chains/definitions/tempo.d.ts +11 -3
  72. package/dist/chains/definitions/tempo.d.ts.map +1 -1
  73. package/dist/chains/definitions/tempo.js +10 -0
  74. package/dist/chains/definitions/tempo.js.map +1 -1
  75. package/dist/chains/definitions/tempoModerato.d.ts +11 -3
  76. package/dist/chains/definitions/tempoModerato.d.ts.map +1 -1
  77. package/dist/chains/definitions/tempoModerato.js +10 -0
  78. package/dist/chains/definitions/tempoModerato.js.map +1 -1
  79. package/dist/chains/definitions/whitechainSepolia.d.ts +54 -2
  80. package/dist/chains/definitions/whitechainSepolia.d.ts.map +1 -1
  81. package/dist/chains/definitions/whitechainSepolia.js +27 -3
  82. package/dist/chains/definitions/whitechainSepolia.js.map +1 -1
  83. package/dist/chains/definitions/xgrTestnet.d.ts +19 -0
  84. package/dist/chains/definitions/xgrTestnet.d.ts.map +1 -0
  85. package/dist/chains/definitions/xgrTestnet.js +19 -0
  86. package/dist/chains/definitions/xgrTestnet.js.map +1 -0
  87. package/dist/chains/definitions/ynxTestnet.d.ts +19 -0
  88. package/dist/chains/definitions/ynxTestnet.d.ts.map +1 -0
  89. package/dist/chains/definitions/ynxTestnet.js +17 -0
  90. package/dist/chains/definitions/ynxTestnet.js.map +1 -0
  91. package/dist/chains/definitions/zagros.d.ts +26 -0
  92. package/dist/chains/definitions/zagros.d.ts.map +1 -0
  93. package/dist/chains/definitions/zagros.js +26 -0
  94. package/dist/chains/definitions/zagros.js.map +1 -0
  95. package/dist/chains/index.d.ts +16 -0
  96. package/dist/chains/index.d.ts.map +1 -1
  97. package/dist/chains/index.js +15 -0
  98. package/dist/chains/index.js.map +1 -1
  99. package/dist/core/actions/address/getStorageValues.d.ts +30 -0
  100. package/dist/core/actions/address/getStorageValues.d.ts.map +1 -0
  101. package/dist/core/actions/address/getStorageValues.js +29 -0
  102. package/dist/core/actions/address/getStorageValues.js.map +1 -0
  103. package/dist/core/actions/address/index.d.ts +1 -0
  104. package/dist/core/actions/address/index.d.ts.map +1 -1
  105. package/dist/core/actions/address/index.js +1 -0
  106. package/dist/core/actions/address/index.js.map +1 -1
  107. package/dist/core/actions/block/simulate.d.ts +2 -0
  108. package/dist/core/actions/block/simulate.d.ts.map +1 -1
  109. package/dist/core/actions/block/simulate.js +3 -0
  110. package/dist/core/actions/block/simulate.js.map +1 -1
  111. package/dist/core/actions/multicall.d.ts.map +1 -1
  112. package/dist/core/actions/multicall.js +7 -1
  113. package/dist/core/actions/multicall.js.map +1 -1
  114. package/dist/core/actions/siwe/verify.d.ts.map +1 -1
  115. package/dist/core/actions/siwe/verify.js +2 -1
  116. package/dist/core/actions/siwe/verify.js.map +1 -1
  117. package/dist/core/actions/transaction/Errors.d.ts +1 -0
  118. package/dist/core/actions/transaction/Errors.d.ts.map +1 -1
  119. package/dist/core/actions/transaction/Errors.js +1 -0
  120. package/dist/core/actions/transaction/Errors.js.map +1 -1
  121. package/dist/core/actions/transaction/fill.d.ts +10 -1
  122. package/dist/core/actions/transaction/fill.d.ts.map +1 -1
  123. package/dist/core/actions/transaction/fill.js +71 -38
  124. package/dist/core/actions/transaction/fill.js.map +1 -1
  125. package/dist/core/actions/transaction/prepare.d.ts.map +1 -1
  126. package/dist/core/actions/transaction/prepare.js +4 -1
  127. package/dist/core/actions/transaction/prepare.js.map +1 -1
  128. package/dist/core/actions/transaction/sign.d.ts.map +1 -1
  129. package/dist/core/actions/transaction/sign.js +3 -1
  130. package/dist/core/actions/transaction/sign.js.map +1 -1
  131. package/dist/core/actions/wallet/sendCalls.d.ts.map +1 -1
  132. package/dist/core/actions/wallet/sendCalls.js +1 -0
  133. package/dist/core/actions/wallet/sendCalls.js.map +1 -1
  134. package/dist/core/internal/transport.js +1 -1
  135. package/dist/core/internal/transport.js.map +1 -1
  136. package/dist/erc4337/actions/userOperation/get.d.ts.map +1 -1
  137. package/dist/erc4337/actions/userOperation/get.js +3 -1
  138. package/dist/erc4337/actions/userOperation/get.js.map +1 -1
  139. package/dist/erc4337/actions/userOperation/waitForReceipt.js +1 -1
  140. package/dist/erc4337/actions/userOperation/waitForReceipt.js.map +1 -1
  141. package/dist/internal/inference.d.ts +24 -0
  142. package/dist/internal/inference.d.ts.map +1 -1
  143. package/dist/node/transports/ipc.d.ts.map +1 -1
  144. package/dist/node/transports/ipc.js +20 -2
  145. package/dist/node/transports/ipc.js.map +1 -1
  146. package/dist/op-stack/actions/l1/getGame.js +1 -1
  147. package/dist/op-stack/actions/l1/getGame.js.map +1 -1
  148. package/dist/op-stack/actions/l1/getGames.js +1 -1
  149. package/dist/op-stack/actions/l1/getGames.js.map +1 -1
  150. package/dist/op-stack/actions/l1/getTimeToNextGame.js +1 -1
  151. package/dist/op-stack/actions/l1/getTimeToNextGame.js.map +1 -1
  152. package/dist/op-stack/actions/l1/getTimeToNextL2Output.js +1 -1
  153. package/dist/op-stack/actions/l1/getTimeToNextL2Output.js.map +1 -1
  154. package/dist/tempo/Abis.d.ts +36662 -5677
  155. package/dist/tempo/Abis.d.ts.map +1 -1
  156. package/dist/tempo/Abis.js +5626 -1536
  157. package/dist/tempo/Abis.js.map +1 -1
  158. package/dist/tempo/Account.d.ts +86 -29
  159. package/dist/tempo/Account.d.ts.map +1 -1
  160. package/dist/tempo/Account.js +204 -70
  161. package/dist/tempo/Account.js.map +1 -1
  162. package/dist/tempo/Addresses.d.ts +16 -1
  163. package/dist/tempo/Addresses.d.ts.map +1 -1
  164. package/dist/tempo/Addresses.js +41 -1
  165. package/dist/tempo/Addresses.js.map +1 -1
  166. package/dist/tempo/Capabilities.d.ts +7 -13
  167. package/dist/tempo/Capabilities.d.ts.map +1 -1
  168. package/dist/tempo/Client.d.ts.map +1 -1
  169. package/dist/tempo/Client.js +1 -1
  170. package/dist/tempo/Client.js.map +1 -1
  171. package/dist/tempo/Decorator.d.ts +226 -7
  172. package/dist/tempo/Decorator.d.ts.map +1 -1
  173. package/dist/tempo/Decorator.js +27 -5
  174. package/dist/tempo/Decorator.js.map +1 -1
  175. package/dist/tempo/ExecutionError.d.ts +81 -0
  176. package/dist/tempo/ExecutionError.d.ts.map +1 -0
  177. package/dist/tempo/ExecutionError.js +309 -0
  178. package/dist/tempo/ExecutionError.js.map +1 -0
  179. package/dist/tempo/Relay.d.ts +303 -0
  180. package/dist/tempo/Relay.d.ts.map +1 -0
  181. package/dist/tempo/Relay.js +170 -0
  182. package/dist/tempo/Relay.js.map +1 -0
  183. package/dist/tempo/Selectors.d.ts +219 -66
  184. package/dist/tempo/Selectors.d.ts.map +1 -1
  185. package/dist/tempo/Selectors.js +220 -67
  186. package/dist/tempo/Selectors.js.map +1 -1
  187. package/dist/tempo/Store.d.ts +62 -0
  188. package/dist/tempo/Store.d.ts.map +1 -0
  189. package/dist/tempo/Store.js +107 -0
  190. package/dist/tempo/Store.js.map +1 -0
  191. package/dist/tempo/Transport.d.ts +48 -2
  192. package/dist/tempo/Transport.d.ts.map +1 -1
  193. package/dist/tempo/Transport.js +116 -34
  194. package/dist/tempo/Transport.js.map +1 -1
  195. package/dist/tempo/Zone.d.ts +51 -0
  196. package/dist/tempo/Zone.d.ts.map +1 -0
  197. package/dist/tempo/Zone.js +40 -0
  198. package/dist/tempo/Zone.js.map +1 -0
  199. package/dist/tempo/actions/accessKey/authorizeSync.d.ts.map +1 -1
  200. package/dist/tempo/actions/accessKey/authorizeSync.js +2 -0
  201. package/dist/tempo/actions/accessKey/authorizeSync.js.map +1 -1
  202. package/dist/tempo/actions/accessKey/burnWitnessSync.d.ts.map +1 -1
  203. package/dist/tempo/actions/accessKey/burnWitnessSync.js +2 -0
  204. package/dist/tempo/actions/accessKey/burnWitnessSync.js.map +1 -1
  205. package/dist/tempo/actions/accessKey/index.d.ts +1 -0
  206. package/dist/tempo/actions/accessKey/index.d.ts.map +1 -1
  207. package/dist/tempo/actions/accessKey/index.js +1 -0
  208. package/dist/tempo/actions/accessKey/index.js.map +1 -1
  209. package/dist/tempo/actions/accessKey/prepareAuthorization.d.ts +76 -0
  210. package/dist/tempo/actions/accessKey/prepareAuthorization.d.ts.map +1 -0
  211. package/dist/tempo/actions/accessKey/prepareAuthorization.js +62 -0
  212. package/dist/tempo/actions/accessKey/prepareAuthorization.js.map +1 -0
  213. package/dist/tempo/actions/accessKey/revokeSync.d.ts.map +1 -1
  214. package/dist/tempo/actions/accessKey/revokeSync.js +2 -0
  215. package/dist/tempo/actions/accessKey/revokeSync.js.map +1 -1
  216. package/dist/tempo/actions/accessKey/signAuthorization.d.ts +43 -38
  217. package/dist/tempo/actions/accessKey/signAuthorization.d.ts.map +1 -1
  218. package/dist/tempo/actions/accessKey/signAuthorization.js +102 -44
  219. package/dist/tempo/actions/accessKey/signAuthorization.js.map +1 -1
  220. package/dist/tempo/actions/accessKey/updateLimitSync.d.ts.map +1 -1
  221. package/dist/tempo/actions/accessKey/updateLimitSync.js +2 -0
  222. package/dist/tempo/actions/accessKey/updateLimitSync.js.map +1 -1
  223. package/dist/tempo/actions/amm/burnSync.d.ts.map +1 -1
  224. package/dist/tempo/actions/amm/burnSync.js +2 -0
  225. package/dist/tempo/actions/amm/burnSync.js.map +1 -1
  226. package/dist/tempo/actions/amm/mintSync.d.ts.map +1 -1
  227. package/dist/tempo/actions/amm/mintSync.js +2 -0
  228. package/dist/tempo/actions/amm/mintSync.js.map +1 -1
  229. package/dist/tempo/actions/amm/rebalanceSwapSync.d.ts.map +1 -1
  230. package/dist/tempo/actions/amm/rebalanceSwapSync.js +2 -0
  231. package/dist/tempo/actions/amm/rebalanceSwapSync.js.map +1 -1
  232. package/dist/tempo/actions/channel/closeSync.d.ts.map +1 -1
  233. package/dist/tempo/actions/channel/closeSync.js +2 -0
  234. package/dist/tempo/actions/channel/closeSync.js.map +1 -1
  235. package/dist/tempo/actions/channel/openSync.d.ts.map +1 -1
  236. package/dist/tempo/actions/channel/openSync.js +2 -0
  237. package/dist/tempo/actions/channel/openSync.js.map +1 -1
  238. package/dist/tempo/actions/channel/requestCloseSync.d.ts.map +1 -1
  239. package/dist/tempo/actions/channel/requestCloseSync.js +2 -0
  240. package/dist/tempo/actions/channel/requestCloseSync.js.map +1 -1
  241. package/dist/tempo/actions/channel/settleSync.d.ts.map +1 -1
  242. package/dist/tempo/actions/channel/settleSync.js +2 -0
  243. package/dist/tempo/actions/channel/settleSync.js.map +1 -1
  244. package/dist/tempo/actions/channel/topUpSync.d.ts.map +1 -1
  245. package/dist/tempo/actions/channel/topUpSync.js +2 -0
  246. package/dist/tempo/actions/channel/topUpSync.js.map +1 -1
  247. package/dist/tempo/actions/channel/withdrawSync.d.ts.map +1 -1
  248. package/dist/tempo/actions/channel/withdrawSync.js +2 -0
  249. package/dist/tempo/actions/channel/withdrawSync.js.map +1 -1
  250. package/dist/tempo/actions/dex/cancelStaleSync.d.ts.map +1 -1
  251. package/dist/tempo/actions/dex/cancelStaleSync.js +2 -0
  252. package/dist/tempo/actions/dex/cancelStaleSync.js.map +1 -1
  253. package/dist/tempo/actions/dex/cancelSync.d.ts.map +1 -1
  254. package/dist/tempo/actions/dex/cancelSync.js +2 -0
  255. package/dist/tempo/actions/dex/cancelSync.js.map +1 -1
  256. package/dist/tempo/actions/dex/createPairSync.d.ts.map +1 -1
  257. package/dist/tempo/actions/dex/createPairSync.js +2 -0
  258. package/dist/tempo/actions/dex/createPairSync.js.map +1 -1
  259. package/dist/tempo/actions/dex/placeFlipSync.d.ts.map +1 -1
  260. package/dist/tempo/actions/dex/placeFlipSync.js +2 -0
  261. package/dist/tempo/actions/dex/placeFlipSync.js.map +1 -1
  262. package/dist/tempo/actions/dex/placeSync.d.ts.map +1 -1
  263. package/dist/tempo/actions/dex/placeSync.js +2 -0
  264. package/dist/tempo/actions/dex/placeSync.js.map +1 -1
  265. package/dist/tempo/actions/dex/withdrawSync.d.ts.map +1 -1
  266. package/dist/tempo/actions/dex/withdrawSync.js +2 -0
  267. package/dist/tempo/actions/dex/withdrawSync.js.map +1 -1
  268. package/dist/tempo/actions/earn/deployment.d.ts +36 -21
  269. package/dist/tempo/actions/earn/deployment.d.ts.map +1 -1
  270. package/dist/tempo/actions/earn/deployment.js +96 -32
  271. package/dist/tempo/actions/earn/deployment.js.map +1 -1
  272. package/dist/tempo/actions/earn.d.ts +21 -21
  273. package/dist/tempo/actions/earn.d.ts.map +1 -1
  274. package/dist/tempo/actions/earn.js +24 -9
  275. package/dist/tempo/actions/earn.js.map +1 -1
  276. package/dist/tempo/actions/fee/setUserTokenSync.d.ts.map +1 -1
  277. package/dist/tempo/actions/fee/setUserTokenSync.js +2 -0
  278. package/dist/tempo/actions/fee/setUserTokenSync.js.map +1 -1
  279. package/dist/tempo/actions/fee/setValidatorTokenSync.d.ts.map +1 -1
  280. package/dist/tempo/actions/fee/setValidatorTokenSync.js +2 -0
  281. package/dist/tempo/actions/fee/setValidatorTokenSync.js.map +1 -1
  282. package/dist/tempo/actions/index.d.ts +3 -0
  283. package/dist/tempo/actions/index.d.ts.map +1 -1
  284. package/dist/tempo/actions/index.js +3 -0
  285. package/dist/tempo/actions/index.js.map +1 -1
  286. package/dist/tempo/actions/multisig/getConfig.d.ts +34 -0
  287. package/dist/tempo/actions/multisig/getConfig.d.ts.map +1 -0
  288. package/dist/tempo/actions/multisig/getConfig.js +27 -0
  289. package/dist/tempo/actions/multisig/getConfig.js.map +1 -0
  290. package/dist/tempo/actions/multisig/getConfigCommitment.d.ts +72 -0
  291. package/dist/tempo/actions/multisig/getConfigCommitment.d.ts.map +1 -0
  292. package/dist/tempo/actions/multisig/getConfigCommitment.js +55 -0
  293. package/dist/tempo/actions/multisig/getConfigCommitment.js.map +1 -0
  294. package/dist/tempo/actions/multisig/getOperation.d.ts +23 -0
  295. package/dist/tempo/actions/multisig/getOperation.d.ts.map +1 -0
  296. package/dist/tempo/actions/multisig/getOperation.js +18 -0
  297. package/dist/tempo/actions/multisig/getOperation.js.map +1 -0
  298. package/dist/tempo/actions/multisig/index.d.ts +6 -0
  299. package/dist/tempo/actions/multisig/index.d.ts.map +1 -0
  300. package/dist/tempo/actions/multisig/index.js +6 -0
  301. package/dist/tempo/actions/multisig/index.js.map +1 -0
  302. package/dist/tempo/actions/multisig/updateConfig.d.ts +193 -0
  303. package/dist/tempo/actions/multisig/updateConfig.d.ts.map +1 -0
  304. package/dist/tempo/actions/multisig/updateConfig.js +170 -0
  305. package/dist/tempo/actions/multisig/updateConfig.js.map +1 -0
  306. package/dist/tempo/actions/multisig/updateConfigSync.d.ts +50 -0
  307. package/dist/tempo/actions/multisig/updateConfigSync.d.ts.map +1 -0
  308. package/dist/tempo/actions/multisig/updateConfigSync.js +55 -0
  309. package/dist/tempo/actions/multisig/updateConfigSync.js.map +1 -0
  310. package/dist/tempo/actions/policy/createSync.d.ts.map +1 -1
  311. package/dist/tempo/actions/policy/createSync.js +2 -0
  312. package/dist/tempo/actions/policy/createSync.js.map +1 -1
  313. package/dist/tempo/actions/policy/modifyBlacklistSync.d.ts.map +1 -1
  314. package/dist/tempo/actions/policy/modifyBlacklistSync.js +2 -0
  315. package/dist/tempo/actions/policy/modifyBlacklistSync.js.map +1 -1
  316. package/dist/tempo/actions/policy/modifyWhitelistSync.d.ts.map +1 -1
  317. package/dist/tempo/actions/policy/modifyWhitelistSync.js +2 -0
  318. package/dist/tempo/actions/policy/modifyWhitelistSync.js.map +1 -1
  319. package/dist/tempo/actions/policy/setAdminSync.d.ts.map +1 -1
  320. package/dist/tempo/actions/policy/setAdminSync.js +2 -0
  321. package/dist/tempo/actions/policy/setAdminSync.js.map +1 -1
  322. package/dist/tempo/actions/propAmm.d.ts +1025 -0
  323. package/dist/tempo/actions/propAmm.d.ts.map +1 -0
  324. package/dist/tempo/actions/propAmm.js +541 -0
  325. package/dist/tempo/actions/propAmm.js.map +1 -0
  326. package/dist/tempo/actions/receivePolicy/burnSync.d.ts.map +1 -1
  327. package/dist/tempo/actions/receivePolicy/burnSync.js +2 -0
  328. package/dist/tempo/actions/receivePolicy/burnSync.js.map +1 -1
  329. package/dist/tempo/actions/receivePolicy/claimSync.d.ts.map +1 -1
  330. package/dist/tempo/actions/receivePolicy/claimSync.js +2 -0
  331. package/dist/tempo/actions/receivePolicy/claimSync.js.map +1 -1
  332. package/dist/tempo/actions/receivePolicy/setSync.d.ts.map +1 -1
  333. package/dist/tempo/actions/receivePolicy/setSync.js +2 -0
  334. package/dist/tempo/actions/receivePolicy/setSync.js.map +1 -1
  335. package/dist/tempo/actions/token/approveSync.d.ts.map +1 -1
  336. package/dist/tempo/actions/token/approveSync.js +2 -0
  337. package/dist/tempo/actions/token/approveSync.js.map +1 -1
  338. package/dist/tempo/actions/token/burn.d.ts +38 -9
  339. package/dist/tempo/actions/token/burn.d.ts.map +1 -1
  340. package/dist/tempo/actions/token/burn.js +12 -5
  341. package/dist/tempo/actions/token/burn.js.map +1 -1
  342. package/dist/tempo/actions/token/burnBlockedSync.d.ts.map +1 -1
  343. package/dist/tempo/actions/token/burnBlockedSync.js +2 -0
  344. package/dist/tempo/actions/token/burnBlockedSync.js.map +1 -1
  345. package/dist/tempo/actions/token/burnSync.d.ts +2 -0
  346. package/dist/tempo/actions/token/burnSync.d.ts.map +1 -1
  347. package/dist/tempo/actions/token/burnSync.js +2 -0
  348. package/dist/tempo/actions/token/burnSync.js.map +1 -1
  349. package/dist/tempo/actions/token/changeTransferPolicySync.d.ts.map +1 -1
  350. package/dist/tempo/actions/token/changeTransferPolicySync.js +2 -0
  351. package/dist/tempo/actions/token/changeTransferPolicySync.js.map +1 -1
  352. package/dist/tempo/actions/token/createSync.d.ts.map +1 -1
  353. package/dist/tempo/actions/token/createSync.js +2 -0
  354. package/dist/tempo/actions/token/createSync.js.map +1 -1
  355. package/dist/tempo/actions/token/grantRolesSync.d.ts.map +1 -1
  356. package/dist/tempo/actions/token/grantRolesSync.js +2 -0
  357. package/dist/tempo/actions/token/grantRolesSync.js.map +1 -1
  358. package/dist/tempo/actions/token/mintSync.d.ts.map +1 -1
  359. package/dist/tempo/actions/token/mintSync.js +2 -0
  360. package/dist/tempo/actions/token/mintSync.js.map +1 -1
  361. package/dist/tempo/actions/token/pauseSync.d.ts.map +1 -1
  362. package/dist/tempo/actions/token/pauseSync.js +2 -0
  363. package/dist/tempo/actions/token/pauseSync.js.map +1 -1
  364. package/dist/tempo/actions/token/prepareUpdateQuoteTokenSync.d.ts.map +1 -1
  365. package/dist/tempo/actions/token/prepareUpdateQuoteTokenSync.js +2 -0
  366. package/dist/tempo/actions/token/prepareUpdateQuoteTokenSync.js.map +1 -1
  367. package/dist/tempo/actions/token/renounceRolesSync.d.ts.map +1 -1
  368. package/dist/tempo/actions/token/renounceRolesSync.js +2 -0
  369. package/dist/tempo/actions/token/renounceRolesSync.js.map +1 -1
  370. package/dist/tempo/actions/token/revokeRolesSync.d.ts.map +1 -1
  371. package/dist/tempo/actions/token/revokeRolesSync.js +2 -0
  372. package/dist/tempo/actions/token/revokeRolesSync.js.map +1 -1
  373. package/dist/tempo/actions/token/setRoleAdminSync.d.ts.map +1 -1
  374. package/dist/tempo/actions/token/setRoleAdminSync.js +2 -0
  375. package/dist/tempo/actions/token/setRoleAdminSync.js.map +1 -1
  376. package/dist/tempo/actions/token/setSupplyCapSync.d.ts.map +1 -1
  377. package/dist/tempo/actions/token/setSupplyCapSync.js +2 -0
  378. package/dist/tempo/actions/token/setSupplyCapSync.js.map +1 -1
  379. package/dist/tempo/actions/token/transferSync.d.ts.map +1 -1
  380. package/dist/tempo/actions/token/transferSync.js +2 -0
  381. package/dist/tempo/actions/token/transferSync.js.map +1 -1
  382. package/dist/tempo/actions/token/unpauseSync.d.ts.map +1 -1
  383. package/dist/tempo/actions/token/unpauseSync.js +2 -0
  384. package/dist/tempo/actions/token/unpauseSync.js.map +1 -1
  385. package/dist/tempo/actions/token/updateQuoteTokenSync.d.ts.map +1 -1
  386. package/dist/tempo/actions/token/updateQuoteTokenSync.js +2 -0
  387. package/dist/tempo/actions/token/updateQuoteTokenSync.js.map +1 -1
  388. package/dist/tempo/actions/virtualAddress/registerMasterSync.d.ts.map +1 -1
  389. package/dist/tempo/actions/virtualAddress/registerMasterSync.js +2 -0
  390. package/dist/tempo/actions/virtualAddress/registerMasterSync.js.map +1 -1
  391. package/dist/tempo/actions/zone/deposit.d.ts +56 -13
  392. package/dist/tempo/actions/zone/deposit.d.ts.map +1 -1
  393. package/dist/tempo/actions/zone/deposit.js +8 -10
  394. package/dist/tempo/actions/zone/deposit.js.map +1 -1
  395. package/dist/tempo/actions/zone/depositSync.d.ts.map +1 -1
  396. package/dist/tempo/actions/zone/depositSync.js +2 -0
  397. package/dist/tempo/actions/zone/depositSync.js.map +1 -1
  398. package/dist/tempo/actions/zone/encryptedDeposit.d.ts +15 -15
  399. package/dist/tempo/actions/zone/encryptedDeposit.d.ts.map +1 -1
  400. package/dist/tempo/actions/zone/encryptedDeposit.js +12 -12
  401. package/dist/tempo/actions/zone/encryptedDeposit.js.map +1 -1
  402. package/dist/tempo/actions/zone/getEncryptionKey.d.ts +3 -4
  403. package/dist/tempo/actions/zone/getEncryptionKey.d.ts.map +1 -1
  404. package/dist/tempo/actions/zone/getEncryptionKey.js +18 -7
  405. package/dist/tempo/actions/zone/getEncryptionKey.js.map +1 -1
  406. package/dist/tempo/actions/zone/getPortalInfo.d.ts +61 -0
  407. package/dist/tempo/actions/zone/getPortalInfo.d.ts.map +1 -0
  408. package/dist/tempo/actions/zone/getPortalInfo.js +63 -0
  409. package/dist/tempo/actions/zone/getPortalInfo.js.map +1 -0
  410. package/dist/tempo/actions/zone/getWithdrawalFee.d.ts.map +1 -1
  411. package/dist/tempo/actions/zone/getWithdrawalFee.js +1 -1
  412. package/dist/tempo/actions/zone/getWithdrawalFee.js.map +1 -1
  413. package/dist/tempo/actions/zone/index.d.ts +1 -0
  414. package/dist/tempo/actions/zone/index.d.ts.map +1 -1
  415. package/dist/tempo/actions/zone/index.js +1 -0
  416. package/dist/tempo/actions/zone/index.js.map +1 -1
  417. package/dist/tempo/actions/zone/requestVerifiableWithdrawal.d.ts +8 -8
  418. package/dist/tempo/actions/zone/requestVerifiableWithdrawal.d.ts.map +1 -1
  419. package/dist/tempo/actions/zone/requestVerifiableWithdrawal.js +1 -1
  420. package/dist/tempo/actions/zone/requestVerifiableWithdrawal.js.map +1 -1
  421. package/dist/tempo/actions/zone/requestWithdrawal.d.ts +8 -8
  422. package/dist/tempo/actions/zone/requestWithdrawal.d.ts.map +1 -1
  423. package/dist/tempo/actions/zone/requestWithdrawal.js +1 -1
  424. package/dist/tempo/actions/zone/requestWithdrawal.js.map +1 -1
  425. package/dist/tempo/actions/zone/requestWithdrawalSync.d.ts.map +1 -1
  426. package/dist/tempo/actions/zone/requestWithdrawalSync.js +2 -0
  427. package/dist/tempo/actions/zone/requestWithdrawalSync.js.map +1 -1
  428. package/dist/tempo/actions/zone/signAuthorizationToken.d.ts +3 -3
  429. package/dist/tempo/actions/zone/signAuthorizationToken.d.ts.map +1 -1
  430. package/dist/tempo/actions/zone/signAuthorizationToken.js +5 -5
  431. package/dist/tempo/actions/zone/signAuthorizationToken.js.map +1 -1
  432. package/dist/tempo/actions/zone/types.d.ts +1 -1
  433. package/dist/tempo/actions/zone/types.d.ts.map +1 -1
  434. package/dist/tempo/chainConfig.d.ts +33 -17
  435. package/dist/tempo/chainConfig.d.ts.map +1 -1
  436. package/dist/tempo/chainConfig.js +188 -72
  437. package/dist/tempo/chainConfig.js.map +1 -1
  438. package/dist/tempo/index.d.ts +11 -5
  439. package/dist/tempo/index.d.ts.map +1 -1
  440. package/dist/tempo/index.js +9 -3
  441. package/dist/tempo/index.js.map +1 -1
  442. package/dist/tempo/internal/relay/cache.d.ts +9 -0
  443. package/dist/tempo/internal/relay/cache.d.ts.map +1 -0
  444. package/dist/tempo/internal/relay/cache.js +72 -0
  445. package/dist/tempo/internal/relay/cache.js.map +1 -0
  446. package/dist/tempo/internal/relay/deadline.d.ts +4 -0
  447. package/dist/tempo/internal/relay/deadline.d.ts.map +1 -0
  448. package/dist/tempo/internal/relay/deadline.js +34 -0
  449. package/dist/tempo/internal/relay/deadline.js.map +1 -0
  450. package/dist/tempo/internal/relay/error.d.ts +47 -0
  451. package/dist/tempo/internal/relay/error.d.ts.map +1 -0
  452. package/dist/tempo/internal/relay/error.js +101 -0
  453. package/dist/tempo/internal/relay/error.js.map +1 -0
  454. package/dist/tempo/internal/relay/feePayer.d.ts +70 -0
  455. package/dist/tempo/internal/relay/feePayer.d.ts.map +1 -0
  456. package/dist/tempo/internal/relay/feePayer.js +442 -0
  457. package/dist/tempo/internal/relay/feePayer.js.map +1 -0
  458. package/dist/tempo/internal/relay/feeToken.d.ts +38 -0
  459. package/dist/tempo/internal/relay/feeToken.d.ts.map +1 -0
  460. package/dist/tempo/internal/relay/feeToken.js +143 -0
  461. package/dist/tempo/internal/relay/feeToken.js.map +1 -0
  462. package/dist/tempo/internal/relay/multisig.d.ts +4 -0
  463. package/dist/tempo/internal/relay/multisig.d.ts.map +1 -0
  464. package/dist/tempo/internal/relay/multisig.js +1039 -0
  465. package/dist/tempo/internal/relay/multisig.js.map +1 -0
  466. package/dist/tempo/internal/relay/plugin.d.ts +5 -0
  467. package/dist/tempo/internal/relay/plugin.d.ts.map +1 -0
  468. package/dist/tempo/internal/relay/plugin.js +10 -0
  469. package/dist/tempo/internal/relay/plugin.js.map +1 -0
  470. package/dist/tempo/internal/relay/preflight.d.ts +17 -0
  471. package/dist/tempo/internal/relay/preflight.d.ts.map +1 -0
  472. package/dist/tempo/internal/relay/preflight.js +53 -0
  473. package/dist/tempo/internal/relay/preflight.js.map +1 -0
  474. package/dist/tempo/internal/relay/request.d.ts +16 -0
  475. package/dist/tempo/internal/relay/request.d.ts.map +1 -0
  476. package/dist/tempo/internal/relay/request.js +327 -0
  477. package/dist/tempo/internal/relay/request.js.map +1 -0
  478. package/dist/tempo/internal/relay/simulate.d.ts +62 -0
  479. package/dist/tempo/internal/relay/simulate.d.ts.map +1 -0
  480. package/dist/tempo/internal/relay/simulate.js +284 -0
  481. package/dist/tempo/internal/relay/simulate.js.map +1 -0
  482. package/dist/tempo/internal/relay/utils.d.ts +346 -0
  483. package/dist/tempo/internal/relay/utils.d.ts.map +1 -0
  484. package/dist/tempo/internal/relay/utils.js +185 -0
  485. package/dist/tempo/internal/relay/utils.js.map +1 -0
  486. package/dist/tempo/internal/relay/virtualAddress.d.ts +9 -0
  487. package/dist/tempo/internal/relay/virtualAddress.d.ts.map +1 -0
  488. package/dist/tempo/internal/relay/virtualAddress.js +73 -0
  489. package/dist/tempo/internal/relay/virtualAddress.js.map +1 -0
  490. package/dist/tempo/internal/relay.d.ts +4 -0
  491. package/dist/tempo/internal/relay.d.ts.map +1 -0
  492. package/dist/tempo/internal/relay.js +132 -0
  493. package/dist/tempo/internal/relay.js.map +1 -0
  494. package/dist/tempo/internal/types.d.ts +2 -2
  495. package/dist/tempo/internal/types.d.ts.map +1 -1
  496. package/dist/tempo/internal/utils.d.ts +1 -0
  497. package/dist/tempo/internal/utils.d.ts.map +1 -1
  498. package/dist/tempo/internal/utils.js +2 -1
  499. package/dist/tempo/internal/utils.js.map +1 -1
  500. package/dist/tempo/multisig/Config.d.ts +43 -0
  501. package/dist/tempo/multisig/Config.d.ts.map +1 -0
  502. package/dist/tempo/multisig/Config.js +92 -0
  503. package/dist/tempo/multisig/Config.js.map +1 -0
  504. package/dist/tempo/multisig/Operation.d.ts +34 -0
  505. package/dist/tempo/multisig/Operation.d.ts.map +1 -0
  506. package/dist/tempo/multisig/Operation.js +179 -0
  507. package/dist/tempo/multisig/Operation.js.map +1 -0
  508. package/dist/tempo/multisig/Signature.d.ts +4 -0
  509. package/dist/tempo/multisig/Signature.d.ts.map +1 -0
  510. package/dist/tempo/multisig/Signature.js +9 -0
  511. package/dist/tempo/multisig/Signature.js.map +1 -0
  512. package/dist/tempo/zones/Abis.d.ts +2 -2
  513. package/dist/tempo/zones/Abis.d.ts.map +1 -1
  514. package/dist/tempo/zones/Abis.js +2 -2
  515. package/dist/tempo/zones/Abis.js.map +1 -1
  516. package/dist/tempo/zones/transport.d.ts +1 -33
  517. package/dist/tempo/zones/transport.d.ts.map +1 -1
  518. package/dist/tempo/zones/transport.js +1 -49
  519. package/dist/tempo/zones/transport.js.map +1 -1
  520. package/dist/tokens/definitions/cirbtc.d.ts +1 -0
  521. package/dist/tokens/definitions/cirbtc.d.ts.map +1 -1
  522. package/dist/tokens/definitions/cirbtc.js +1 -0
  523. package/dist/tokens/definitions/cirbtc.js.map +1 -1
  524. package/dist/tokens/definitions/eurc.d.ts +2 -0
  525. package/dist/tokens/definitions/eurc.d.ts.map +1 -1
  526. package/dist/tokens/definitions/eurc.js +2 -0
  527. package/dist/tokens/definitions/eurc.js.map +1 -1
  528. package/dist/tokens/definitions/ousd.d.ts +26 -0
  529. package/dist/tokens/definitions/ousd.d.ts.map +1 -0
  530. package/dist/tokens/definitions/ousd.js +26 -0
  531. package/dist/tokens/definitions/ousd.js.map +1 -0
  532. package/dist/tokens/definitions/usdc.d.ts +2 -0
  533. package/dist/tokens/definitions/usdc.d.ts.map +1 -1
  534. package/dist/tokens/definitions/usdc.js +2 -0
  535. package/dist/tokens/definitions/usdc.js.map +1 -1
  536. package/dist/tokens/index.d.ts +2 -0
  537. package/dist/tokens/index.d.ts.map +1 -1
  538. package/dist/tokens/index.js +2 -0
  539. package/dist/tokens/index.js.map +1 -1
  540. package/dist/tokens/sets.d.ts +40 -0
  541. package/dist/tokens/sets.d.ts.map +1 -1
  542. package/dist/tokens/sets.js +4 -1
  543. package/dist/tokens/sets.js.map +1 -1
  544. package/dist/utils/Siwe.d.ts +7 -0
  545. package/dist/utils/Siwe.d.ts.map +1 -1
  546. package/dist/utils/Siwe.js +28 -0
  547. package/dist/utils/Siwe.js.map +1 -1
  548. package/dist/utils/TxEnvelope.d.ts.map +1 -1
  549. package/dist/utils/TxEnvelope.js +2 -1
  550. package/dist/utils/TxEnvelope.js.map +1 -1
  551. package/dist/version.d.ts +1 -1
  552. package/dist/version.js +1 -1
  553. package/package.json +2 -2
  554. package/src/chains/definitions/arc.ts +19 -1
  555. package/src/chains/definitions/berachainBepolia.ts +1 -1
  556. package/src/chains/definitions/blockdag.ts +18 -0
  557. package/src/chains/definitions/candyChain.ts +26 -0
  558. package/src/chains/definitions/creditCoin3Devnet.ts +6 -0
  559. package/src/chains/definitions/creditCoin3Mainnet.ts +4 -0
  560. package/src/chains/definitions/creditCoin3Testnet.ts +4 -0
  561. package/src/chains/definitions/crymad.ts +23 -0
  562. package/src/chains/definitions/crymadL2.ts +24 -0
  563. package/src/chains/definitions/eCanna.ts +18 -0
  564. package/src/chains/definitions/eCannaTestnet.ts +19 -0
  565. package/src/chains/definitions/hausTestnet.ts +18 -0
  566. package/src/chains/definitions/hyveChain.ts +22 -0
  567. package/src/chains/definitions/kortana.ts +16 -0
  568. package/src/chains/definitions/morphTachyon.ts +16 -0
  569. package/src/chains/definitions/morphTachyonTestnet.ts +17 -0
  570. package/src/chains/definitions/rabbitChainTestnet.ts +19 -0
  571. package/src/chains/definitions/robinhood.ts +6 -2
  572. package/src/chains/definitions/tempo.ts +10 -0
  573. package/src/chains/definitions/tempoModerato.ts +10 -0
  574. package/src/chains/definitions/whitechainSepolia.ts +28 -3
  575. package/src/chains/definitions/xgrTestnet.ts +19 -0
  576. package/src/chains/definitions/ynxTestnet.ts +17 -0
  577. package/src/chains/definitions/zagros.ts +26 -0
  578. package/src/chains/index.ts +17 -0
  579. package/src/core/actions/address/getStorageValues.ts +55 -0
  580. package/src/core/actions/address/index.ts +1 -0
  581. package/src/core/actions/block/simulate.ts +6 -0
  582. package/src/core/actions/multicall.ts +8 -1
  583. package/src/core/actions/siwe/verify.ts +3 -1
  584. package/src/core/actions/transaction/Errors.ts +1 -0
  585. package/src/core/actions/transaction/fill.ts +83 -41
  586. package/src/core/actions/transaction/prepare.ts +6 -1
  587. package/src/core/actions/transaction/sign.ts +4 -1
  588. package/src/core/actions/wallet/sendCalls.ts +1 -0
  589. package/src/core/internal/transport.ts +1 -1
  590. package/src/erc4337/actions/userOperation/get.ts +3 -1
  591. package/src/erc4337/actions/userOperation/waitForReceipt.ts +1 -1
  592. package/src/internal/inference.ts +24 -0
  593. package/src/node/transports/ipc.ts +17 -2
  594. package/src/op-stack/actions/l1/getGame.ts +1 -1
  595. package/src/op-stack/actions/l1/getGames.ts +1 -1
  596. package/src/op-stack/actions/l1/getTimeToNextGame.ts +1 -1
  597. package/src/op-stack/actions/l1/getTimeToNextL2Output.ts +1 -1
  598. package/src/tempo/Abis.ts +5619 -1513
  599. package/src/tempo/Account.ts +387 -82
  600. package/src/tempo/Addresses.ts +46 -17
  601. package/src/tempo/Capabilities.ts +7 -15
  602. package/src/tempo/Client.ts +1 -1
  603. package/src/tempo/Decorator.ts +304 -22
  604. package/src/tempo/ExecutionError.ts +428 -0
  605. package/src/tempo/Relay.ts +430 -0
  606. package/src/tempo/Selectors.ts +248 -78
  607. package/src/tempo/Store.ts +170 -0
  608. package/src/tempo/Transport.ts +202 -5
  609. package/src/tempo/Zone.ts +72 -0
  610. package/src/tempo/actions/accessKey/authorizeSync.ts +4 -0
  611. package/src/tempo/actions/accessKey/burnWitnessSync.ts +4 -0
  612. package/src/tempo/actions/accessKey/index.ts +2 -0
  613. package/src/tempo/actions/accessKey/prepareAuthorization.ts +132 -0
  614. package/src/tempo/actions/accessKey/revokeSync.ts +4 -0
  615. package/src/tempo/actions/accessKey/signAuthorization.ts +222 -53
  616. package/src/tempo/actions/accessKey/updateLimitSync.ts +4 -0
  617. package/src/tempo/actions/amm/burnSync.ts +4 -0
  618. package/src/tempo/actions/amm/mintSync.ts +4 -0
  619. package/src/tempo/actions/amm/rebalanceSwapSync.ts +4 -0
  620. package/src/tempo/actions/channel/closeSync.ts +4 -0
  621. package/src/tempo/actions/channel/openSync.ts +4 -0
  622. package/src/tempo/actions/channel/requestCloseSync.ts +4 -0
  623. package/src/tempo/actions/channel/settleSync.ts +4 -0
  624. package/src/tempo/actions/channel/topUpSync.ts +4 -0
  625. package/src/tempo/actions/channel/withdrawSync.ts +4 -0
  626. package/src/tempo/actions/dex/cancelStaleSync.ts +4 -0
  627. package/src/tempo/actions/dex/cancelSync.ts +4 -0
  628. package/src/tempo/actions/dex/createPairSync.ts +4 -0
  629. package/src/tempo/actions/dex/placeFlipSync.ts +4 -0
  630. package/src/tempo/actions/dex/placeSync.ts +4 -0
  631. package/src/tempo/actions/dex/withdrawSync.ts +4 -0
  632. package/src/tempo/actions/earn/deployment.ts +108 -42
  633. package/src/tempo/actions/earn.ts +35 -15
  634. package/src/tempo/actions/fee/setUserTokenSync.ts +4 -0
  635. package/src/tempo/actions/fee/setValidatorTokenSync.ts +4 -0
  636. package/src/tempo/actions/index.ts +4 -0
  637. package/src/tempo/actions/multisig/getConfig.ts +46 -0
  638. package/src/tempo/actions/multisig/getConfigCommitment.ts +79 -0
  639. package/src/tempo/actions/multisig/getOperation.ts +37 -0
  640. package/src/tempo/actions/multisig/index.ts +5 -0
  641. package/src/tempo/actions/multisig/updateConfig.ts +210 -0
  642. package/src/tempo/actions/multisig/updateConfigSync.ts +80 -0
  643. package/src/tempo/actions/policy/createSync.ts +4 -0
  644. package/src/tempo/actions/policy/modifyBlacklistSync.ts +4 -0
  645. package/src/tempo/actions/policy/modifyWhitelistSync.ts +4 -0
  646. package/src/tempo/actions/policy/setAdminSync.ts +4 -0
  647. package/src/tempo/actions/propAmm.ts +985 -0
  648. package/src/tempo/actions/receivePolicy/burnSync.ts +4 -0
  649. package/src/tempo/actions/receivePolicy/claimSync.ts +4 -0
  650. package/src/tempo/actions/receivePolicy/setSync.ts +5 -1
  651. package/src/tempo/actions/token/approveSync.ts +5 -1
  652. package/src/tempo/actions/token/burn.ts +21 -9
  653. package/src/tempo/actions/token/burnBlockedSync.ts +5 -1
  654. package/src/tempo/actions/token/burnSync.ts +7 -1
  655. package/src/tempo/actions/token/changeTransferPolicySync.ts +4 -0
  656. package/src/tempo/actions/token/createSync.ts +4 -0
  657. package/src/tempo/actions/token/grantRolesSync.ts +4 -0
  658. package/src/tempo/actions/token/mintSync.ts +5 -1
  659. package/src/tempo/actions/token/pauseSync.ts +4 -0
  660. package/src/tempo/actions/token/prepareUpdateQuoteTokenSync.ts +4 -0
  661. package/src/tempo/actions/token/renounceRolesSync.ts +4 -0
  662. package/src/tempo/actions/token/revokeRolesSync.ts +4 -0
  663. package/src/tempo/actions/token/setRoleAdminSync.ts +4 -0
  664. package/src/tempo/actions/token/setSupplyCapSync.ts +4 -0
  665. package/src/tempo/actions/token/transferSync.ts +5 -1
  666. package/src/tempo/actions/token/unpauseSync.ts +4 -0
  667. package/src/tempo/actions/token/updateQuoteTokenSync.ts +4 -0
  668. package/src/tempo/actions/virtualAddress/registerMasterSync.ts +4 -0
  669. package/src/tempo/actions/zone/deposit.ts +13 -24
  670. package/src/tempo/actions/zone/depositSync.ts +4 -0
  671. package/src/tempo/actions/zone/encryptedDeposit.ts +18 -26
  672. package/src/tempo/actions/zone/getEncryptionKey.ts +20 -8
  673. package/src/tempo/actions/zone/getPortalInfo.ts +126 -0
  674. package/src/tempo/actions/zone/getWithdrawalFee.ts +1 -1
  675. package/src/tempo/actions/zone/index.ts +2 -0
  676. package/src/tempo/actions/zone/requestVerifiableWithdrawal.ts +1 -1
  677. package/src/tempo/actions/zone/requestWithdrawal.ts +1 -1
  678. package/src/tempo/actions/zone/requestWithdrawalSync.ts +4 -0
  679. package/src/tempo/actions/zone/signAuthorizationToken.ts +7 -7
  680. package/src/tempo/actions/zone/types.ts +1 -1
  681. package/src/tempo/chainConfig.ts +287 -86
  682. package/src/tempo/index.ts +15 -4
  683. package/src/tempo/internal/relay/cache.ts +82 -0
  684. package/src/tempo/internal/relay/deadline.ts +45 -0
  685. package/src/tempo/internal/relay/error.ts +129 -0
  686. package/src/tempo/internal/relay/feePayer.ts +693 -0
  687. package/src/tempo/internal/relay/feeToken.ts +190 -0
  688. package/src/tempo/internal/relay/multisig.ts +1357 -0
  689. package/src/tempo/internal/relay/plugin.ts +13 -0
  690. package/src/tempo/internal/relay/preflight.ts +83 -0
  691. package/src/tempo/internal/relay/request.ts +401 -0
  692. package/src/tempo/internal/relay/simulate.ts +394 -0
  693. package/src/tempo/internal/relay/utils.ts +213 -0
  694. package/src/tempo/internal/relay/virtualAddress.ts +95 -0
  695. package/src/tempo/internal/relay.ts +149 -0
  696. package/src/tempo/internal/types.ts +2 -1
  697. package/src/tempo/internal/utils.ts +2 -0
  698. package/src/tempo/multisig/Config.ts +139 -0
  699. package/src/tempo/multisig/Operation.ts +213 -0
  700. package/src/tempo/multisig/Signature.ts +11 -0
  701. package/src/tempo/zones/Abis.ts +2 -2
  702. package/src/tempo/zones/transport.ts +1 -66
  703. package/src/tokens/definitions/cirbtc.ts +1 -0
  704. package/src/tokens/definitions/eurc.ts +2 -0
  705. package/src/tokens/definitions/ousd.ts +26 -0
  706. package/src/tokens/definitions/usdc.ts +2 -0
  707. package/src/tokens/index.ts +2 -0
  708. package/src/tokens/sets.ts +4 -1
  709. package/src/utils/Siwe.ts +36 -0
  710. package/src/utils/TxEnvelope.ts +3 -1
  711. package/src/version.ts +1 -1
  712. package/dist/tempo/Storage.d.ts +0 -43
  713. package/dist/tempo/Storage.d.ts.map +0 -1
  714. package/dist/tempo/Storage.js +0 -96
  715. package/dist/tempo/Storage.js.map +0 -1
  716. package/src/tempo/Storage.ts +0 -119
@@ -0,0 +1,309 @@
1
+ import { AbiError, AbiItem } from 'ox';
2
+ import * as Abis from './Abis.js';
3
+ /** Human-readable templates keyed by error signature in `Abis.core`, with positional `{0}` placeholders. */
4
+ export const messages = {
5
+ 'AbdicationAlreadyScheduled(uint8)': 'Abdication is already scheduled for capability {0}.',
6
+ 'AccountNotAllowed(address)': 'Account {0} is not allowed.',
7
+ 'ActiveLeaderRemoved()': 'The active leader cannot be removed.',
8
+ 'AddressAlreadyHasValidator()': 'This address already has a validator.',
9
+ 'AddressNotReserved()': 'Address is not reserved.',
10
+ 'AddressReserved()': 'Address is reserved.',
11
+ 'AlreadyInitialized()': 'Already initialized.',
12
+ 'AmountExceedsDeposit()': 'Amount exceeds deposit.',
13
+ 'AmountNotIncreasing()': 'Amount is not increasing.',
14
+ 'BelowMinimumOrderSize(uint128)': 'Order size is below the minimum allowed ({0}).',
15
+ 'CallNotAllowed()': 'This call is not allowed.',
16
+ 'CallbackDidNotReturnToZone()': 'The callback did not return to the zone.',
17
+ 'CallbackRejected()': 'The callback was rejected.',
18
+ 'CannotChangeWithinBlock()': 'Cannot change within the same block.',
19
+ 'CapabilityAbdicated(uint8)': 'Capability {0} has been abdicated.',
20
+ 'CaptureAmountInvalid()': 'Capture amount is invalid.',
21
+ 'ChannelAlreadyExists()': 'Channel already exists.',
22
+ 'ChannelNotFound()': 'Channel not found.',
23
+ 'CloseNotReady()': 'Channel is not ready to close.',
24
+ 'ContractPaused()': 'Contract is paused.',
25
+ 'DepositBlockCapacityExceeded(uint64)': 'The deposit capacity per block exceeds the maximum ({0}).',
26
+ 'DepositOverflow()': 'Deposit overflow.',
27
+ 'DepositTooSmall()': 'The deposit is too small.',
28
+ 'DepositsNotActive()': 'Deposits are not active.',
29
+ 'DivisionByZero()': 'Division by zero.',
30
+ 'DuplicateAllowedAccount()': 'The allowed account is duplicated.',
31
+ 'DuplicateOwner()': 'The owner is duplicated.',
32
+ 'DuplicateZoneGateway()': 'The zone gateway is duplicated.',
33
+ 'EmptyV1ValidatorSet()': 'Validator set is empty.',
34
+ 'EncryptionKeyExpired(uint256,uint64,uint64)': 'Encryption key {0} has expired.',
35
+ 'ExpiringNonceHashNotSet()': 'Expiring nonce hash is not set.',
36
+ 'ExpiringNonceReplay()': 'Expiring nonce has already been used.',
37
+ 'ExpiringNonceSetFull()': 'Expiring nonce set is full.',
38
+ 'ExpiryInPast()': 'Expiry is in the past.',
39
+ 'GasFeeRateTooHigh()': 'The gas fee rate is too high.',
40
+ 'IdenticalAddresses()': 'Addresses must be different.',
41
+ 'IdenticalTokens()': 'Cannot swap a token for itself — input and output tokens must be different.',
42
+ 'IncompatiblePolicyType()': 'Incompatible policy type.',
43
+ 'IndexAlreadySet()': 'The index is already set.',
44
+ 'IngressAlreadyExists(string)': 'Ingress "{0}" already exists.',
45
+ 'InsufficientAllowance()': 'Insufficient allowance.',
46
+ 'InsufficientBalance()': 'Insufficient balance.',
47
+ 'InsufficientBalance(uint256,uint256,address)': 'Insufficient balance. Required: {1}, available: {0}.',
48
+ 'InsufficientFeeTokenBalance()': 'Insufficient fee token balance.',
49
+ 'InsufficientLiquidity()': 'Not enough liquidity in the order book to fill this trade.',
50
+ 'InsufficientOutput()': 'The output amount is below the slippage minimum — try increasing slippage tolerance.',
51
+ 'InsufficientReserves()': 'Insufficient reserves.',
52
+ 'InvalidAccount()': 'Invalid account.',
53
+ 'InvalidAdmin()': 'Invalid administrator.',
54
+ 'InvalidAmount()': 'Invalid amount.',
55
+ 'InvalidBaseToken()': 'This token is not a valid base token for the requested pair.',
56
+ 'InvalidBouncebackRecipient()': 'Invalid bounceback recipient.',
57
+ 'InvalidCallScope()': 'Invalid call scope.',
58
+ 'InvalidCallbackTarget()': 'Invalid callback target.',
59
+ 'InvalidCiphertextLength(uint256,uint256)': 'Invalid ciphertext length. Expected {1}, got {0}.',
60
+ 'InvalidClaimAddress()': 'Invalid claim address.',
61
+ 'InvalidClosedLoopConfig()': 'Invalid closed-loop configuration.',
62
+ 'InvalidConfig()': 'Invalid configuration.',
63
+ 'InvalidCurrency()': 'Invalid currency.',
64
+ 'InvalidDepositTransition()': 'Invalid deposit transition.',
65
+ 'InvalidEncryptionKeyIndex(uint256)': 'Invalid encryption key index ({0}).',
66
+ 'InvalidEphemeralPubkey()': 'Invalid ephemeral public key.',
67
+ 'InvalidExpiringNonceExpiry()': 'Invalid expiring nonce expiry.',
68
+ 'InvalidFlipTick()': 'The flip-order price tick is invalid.',
69
+ 'InvalidFormat()': 'Invalid format.',
70
+ 'InvalidKeyAuthorizationWitness()': 'Invalid key authorization witness.',
71
+ 'InvalidKeyId()': 'Invalid key ID.',
72
+ 'InvalidLeader()': 'Invalid leader.',
73
+ 'InvalidLogoURI()': 'Invalid logo URI.',
74
+ 'InvalidMasterAddress()': 'Invalid master address.',
75
+ 'InvalidMigrationIndex()': 'Invalid migration index.',
76
+ 'InvalidMode()': 'Invalid mode.',
77
+ 'InvalidMultisigOwner()': 'Invalid multisig owner.',
78
+ 'InvalidNonceKey()': 'Invalid nonce key.',
79
+ 'InvalidOwner()': 'Invalid owner.',
80
+ 'InvalidOwnerOrder()': 'Invalid owner order.',
81
+ 'InvalidPayee()': 'Invalid payee.',
82
+ 'InvalidPayload()': 'Invalid payload.',
83
+ 'InvalidPolicyType()': 'Invalid policy type.',
84
+ 'InvalidProof()': 'Invalid proof.',
85
+ 'InvalidProofOfPossession()': 'Invalid proof of possession.',
86
+ 'InvalidPublicKey()': 'Invalid public key.',
87
+ 'InvalidQuorumCertificate()': 'Invalid quorum certificate.',
88
+ 'InvalidQuoteToken()': 'Invalid quote token.',
89
+ 'InvalidReceipt()': 'Invalid receipt.',
90
+ 'InvalidReceivePolicyType()': 'Invalid receive policy type.',
91
+ 'InvalidRecipient()': 'Invalid recipient.',
92
+ 'InvalidRecoveryAuthority()': 'Invalid recovery authority.',
93
+ 'InvalidSequencerSet()': 'Invalid sequencer set.',
94
+ 'InvalidSignature()': 'Invalid signature.',
95
+ 'InvalidSignatureFormat()': 'Invalid signature format.',
96
+ 'InvalidSignatureType()': 'Invalid signature type.',
97
+ 'InvalidSpendingLimit()': 'Invalid spending limit.',
98
+ 'InvalidSupplyCap()': 'Invalid supply cap.',
99
+ 'InvalidSwapCalculation()': 'Invalid swap calculation.',
100
+ 'InvalidTempoBlockNumber()': 'Invalid Tempo block number.',
101
+ 'InvalidThreshold()': 'Invalid threshold.',
102
+ 'InvalidTick()': 'The price tick is invalid.',
103
+ 'InvalidToken()': 'This token is not supported on the exchange.',
104
+ 'InvalidTokenEnablementTransition()': 'Invalid token enablement transition.',
105
+ 'InvalidTransferPolicyId()': 'Invalid transfer policy.',
106
+ 'InvalidValidatorAddress()': 'Invalid validator address.',
107
+ 'InvalidWeight()': 'Invalid weight.',
108
+ 'KeyAlreadyExists()': 'Key already exists.',
109
+ 'KeyAlreadyRevoked()': 'Key has already been revoked.',
110
+ 'KeyAuthorizationWitnessAlreadyBurned()': 'Key authorization witness has already been burned.',
111
+ 'KeyExpired()': 'Key has expired.',
112
+ 'KeyNotFound()': 'Key not found.',
113
+ 'LeaderAlreadyUpdatedThisBlock()': 'The leader has already been updated in this block.',
114
+ 'LegacyAuthorizeKeySelectorChanged(bytes4)': 'Legacy authorize key selector changed to {0}.',
115
+ 'LogoURITooLong()': 'Logo URI is too long.',
116
+ 'MasterIdCollision(address)': 'Master ID collision with {0}.',
117
+ 'MaxInputExceeded()': 'The required input exceeds the slippage maximum — try increasing slippage tolerance.',
118
+ 'MigrationNotComplete()': 'Migration is not complete.',
119
+ 'MustDelegateCall()': 'A delegate call is required.',
120
+ 'NoEncryptionKeyAtBlock(uint64)': 'No encryption key exists at block {0}.',
121
+ 'NoEncryptionKeySet()': 'No encryption key is set.',
122
+ 'NoOptedInSupply()': 'No opted-in supply.',
123
+ 'NonceOverflow()': 'Nonce overflow.',
124
+ 'NotAdmin()': 'The caller is not the administrator.',
125
+ 'NotFactory()': 'The caller is not the factory.',
126
+ 'NotHostPort(string,string,string)': '"{1}" is not a valid host:port for {0}.',
127
+ 'NotInitialized()': 'Not initialized.',
128
+ 'NotIp(string,string)': '"{0}" is not a valid IP address.',
129
+ 'NotIpPort(string,string)': '"{0}" is not a valid IP:port.',
130
+ 'NotIpPort(string,string,string)': '"{1}" is not a valid IP:port for {0}.',
131
+ 'NotOwner()': 'The caller is not an owner.',
132
+ 'NotPauseAuthority()': 'The caller is not the pause authority.',
133
+ 'NotPayeeOrOperator()': 'Not payee or operator.',
134
+ 'NotPayer()': 'Not payer.',
135
+ 'NotPendingAdmin()': 'The caller is not the pending administrator.',
136
+ 'NotSelf()': 'The caller must be the contract itself.',
137
+ 'NotSequencer()': 'The caller is not a sequencer.',
138
+ 'OnlyDirectCall()': 'A direct call is required.',
139
+ 'OrderDoesNotExist()': 'No order exists with the given ID.',
140
+ 'OrderNotStale()': 'This order is not yet eligible for stale-cleanup.',
141
+ 'PairAlreadyExists()': 'A trading pair for these tokens has already been created.',
142
+ 'PairDoesNotExist()': 'No trading pair exists for these tokens.',
143
+ 'PermitExpired()': 'Permit has expired.',
144
+ 'PolicyForbids()': 'Forbidden by policy.',
145
+ 'PolicyNotFound()': 'Policy not found.',
146
+ 'PolicyNotSimple()': 'Policy is not a simple policy.',
147
+ 'PortalIsPaused()': 'The portal is paused.',
148
+ 'ProofOfWorkFailed()': 'Proof of work failed.',
149
+ 'ProtectedAddress()': 'Address is protected.',
150
+ 'ProtocolNonceNotSupported()': 'Protocol nonce is not supported.',
151
+ 'PublicKeyAlreadyExists()': 'Public key already exists.',
152
+ 'ReentrantWithdrawal()': 'Reentrant withdrawals are not allowed.',
153
+ 'SequencerConfigurationUnchanged()': 'The sequencer configuration is unchanged.',
154
+ 'SignatureTypeMismatch(uint8,uint8)': 'Signature type mismatch. Expected {0}, got {1}.',
155
+ 'SpendingLimitExceeded()': 'Spending limit exceeded.',
156
+ 'StaleLeadershipEpoch(uint64,uint64)': 'Stale leadership epoch. Expected {0}, got {1}.',
157
+ 'SupplyCapExceeded()': 'Supply cap exceeded.',
158
+ 'TickOutOfBounds(int16)': 'Price tick {0} is outside the allowed range.',
159
+ 'TokenAlreadyEnabled()': 'The token is already enabled.',
160
+ 'TokenAlreadyExists(address)': 'Token {0} already exists.',
161
+ 'TokenEnablementBlockCapacityExceeded(uint64)': 'The token enablement capacity per block exceeds the maximum ({0}).',
162
+ 'TokenEnablementCursorNotInitialized()': 'The token enablement cursor is not initialized.',
163
+ 'TokenMetadataTooLong()': 'Token metadata is too long.',
164
+ 'TokenNotEnabled()': 'The token is not enabled.',
165
+ 'TokenTransferPolicyNotSet()': 'The token transfer policy is not set.',
166
+ 'TooManyOwners()': 'There are too many owners.',
167
+ 'TransferFailed()': 'The transfer failed.',
168
+ 'Unauthorized()': 'Unauthorized.',
169
+ 'UnauthorizedCaller()': 'Unauthorized caller.',
170
+ 'UnauthorizedClaimer()': 'Unauthorized claimer.',
171
+ 'UnauthorizedMultisigCaller()': 'Unauthorized multisig caller.',
172
+ 'Uninitialized()': 'Uninitialized.',
173
+ 'ValidatorAlreadyDeactivated()': 'Validator is already deactivated.',
174
+ 'ValidatorAlreadyExists()': 'Validator already exists.',
175
+ 'ValidatorNotFound()': 'Validator not found.',
176
+ 'VirtualAddressNotAllowed()': 'Virtual address is not allowed.',
177
+ 'VirtualAddressUnregistered()': 'Virtual address is not registered.',
178
+ 'ZeroDeposit()': 'Deposit cannot be zero.',
179
+ 'ZeroPublicKey()': 'Public key cannot be zero.',
180
+ };
181
+ /** Interpolate `{0}`, `{1}`, … placeholders with args. */
182
+ function interpolate(template, args) {
183
+ if (!args)
184
+ return template;
185
+ return template.replace(/\{(\d+)\}/g, (_, i) => {
186
+ const v = args[Number(i)];
187
+ return v === undefined ? `{${i}}` : String(v);
188
+ });
189
+ }
190
+ export function from(error) {
191
+ const source = typeof error === 'string'
192
+ ? { data: error, message: 'Unknown execution error.' }
193
+ : error;
194
+ const decoded = parse(source);
195
+ const descriptors = Object.getOwnPropertyDescriptors(source);
196
+ // Native stack accessors depend on the original error's internal state.
197
+ if ('stack' in source)
198
+ descriptors.stack = {
199
+ configurable: descriptors.stack?.configurable ?? true,
200
+ enumerable: descriptors.stack?.enumerable ?? false,
201
+ value: source.stack,
202
+ writable: descriptors.stack?.writable ?? true,
203
+ };
204
+ for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(decoded)))
205
+ descriptors[key] = {
206
+ ...descriptor,
207
+ enumerable: descriptors[key]?.enumerable ?? true,
208
+ };
209
+ return Object.create(Object.getPrototypeOf(source), descriptors);
210
+ }
211
+ /**
212
+ * Selects execution metadata for JSON serialization.
213
+ *
214
+ * Omits decoded arguments and original error properties, including the stack and cause.
215
+ *
216
+ * @example
217
+ * ```ts
218
+ * import { ExecutionError } from 'viem/tempo'
219
+ *
220
+ * const error = ExecutionError.from(new Error('execution reverted: failed'))
221
+ * const rpc = ExecutionError.serialize(error)
222
+ * // { errorName: 'unknown', message: 'failed' }
223
+ * ```
224
+ *
225
+ * @param preimage - Decorated execution error.
226
+ * @returns Execution error without decoded arguments.
227
+ */
228
+ export function serialize(preimage) {
229
+ if (preimage.errorName === 'unknown')
230
+ return { errorName: 'unknown', message: preimage.message };
231
+ return {
232
+ errorName: preimage.errorName,
233
+ abiItem: preimage.abiItem,
234
+ message: preimage.message,
235
+ data: preimage.data,
236
+ };
237
+ }
238
+ function extractRevertData(error, seen = new Set()) {
239
+ if (!error || typeof error !== 'object' || seen.has(error))
240
+ return null;
241
+ seen.add(error);
242
+ const e = error;
243
+ if (typeof e.data === 'string' && /^0x(?:[\da-f]{2})*$/i.test(e.data))
244
+ return e.data;
245
+ for (const inner of [e.data, e.cause, e.error]) {
246
+ const data = extractRevertData(inner, seen);
247
+ if (data)
248
+ return data;
249
+ }
250
+ if (typeof e.walk === 'function') {
251
+ const inner = e.walk((e) => typeof e.data === 'string');
252
+ if (inner)
253
+ return extractRevertData(inner, seen);
254
+ }
255
+ return null;
256
+ }
257
+ function parse(error) {
258
+ const raw = error.details ??
259
+ error.shortMessage ??
260
+ error.message;
261
+ const data = extractRevertData(error);
262
+ if (data) {
263
+ try {
264
+ const decoded = AbiError.extract(Abis.core, data);
265
+ const { hash: _, ...abiItem } = decoded.error;
266
+ const template = messages[AbiItem.getSignature(decoded.error)];
267
+ return {
268
+ abiItem,
269
+ errorName: decoded.error.name,
270
+ args: decoded.args,
271
+ data,
272
+ message: template
273
+ ? interpolate(template, decoded.args)
274
+ : raw.replace(/^execution reverted:\s*/i, ''),
275
+ };
276
+ }
277
+ catch {
278
+ if (data.length === 10) {
279
+ const abiItem = Abis.core.find((item) => item.type === 'error' &&
280
+ AbiItem.getSelector(item) === data.toLowerCase());
281
+ if (abiItem?.type === 'error')
282
+ return {
283
+ abiItem,
284
+ args: undefined,
285
+ data,
286
+ errorName: abiItem.name,
287
+ message: messages[AbiItem.getSignature(abiItem)],
288
+ };
289
+ }
290
+ }
291
+ }
292
+ // Human-readable names cannot distinguish overloads with different templates.
293
+ const nameMatch = /:\s*(\w+)\(([^)]*)\)/.exec(raw);
294
+ if (nameMatch) {
295
+ const templates = Object.entries(messages).filter(([signature]) => signature.startsWith(`${nameMatch[1]}(`));
296
+ const template = nameMatch[2] === ''
297
+ ? messages[`${nameMatch[1]}()`]
298
+ : templates.length === 1
299
+ ? templates[0]?.[1]
300
+ : undefined;
301
+ if (template)
302
+ return { errorName: 'unknown', message: template };
303
+ }
304
+ return {
305
+ errorName: 'unknown',
306
+ message: raw.replace(/^execution reverted:\s*/i, ''),
307
+ };
308
+ }
309
+ //# sourceMappingURL=ExecutionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionError.js","sourceRoot":"","sources":["../../src/tempo/ExecutionError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,303 @@
1
+ import type { Address } from 'abitype';
2
+ import type { Local as LocalAccount } from '../core/Account.js';
3
+ import type { Client as Client_ } from '../core/Client.js';
4
+ import type * as Transport from '../core/Transport.js';
5
+ import * as Sponsorship from './internal/relay/feePayer.js';
6
+ import type * as Store from './Store.js';
7
+ type EIP1193RequestOptions = NonNullable<Parameters<Transport.RequestFn>[1]>;
8
+ /**
9
+ * Creates a relay with RPC and Fetch handlers backed by a client or chain resolver.
10
+ *
11
+ * Pass a chain-configured `client` for a single chain, or `getClient` for multiple
12
+ * chains. Plugins may resolve the chain before forwarding to the selected client.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { Client, http } from 'viem'
17
+ * import { tempo } from 'viem/chains'
18
+ * import { Relay } from 'viem/tempo'
19
+ *
20
+ * const relay = Relay.create({
21
+ * client: Client.create({ chain: tempo, transport: http() }),
22
+ * })
23
+ * export default { fetch: relay.fetch }
24
+ * ```
25
+ *
26
+ * @param options - Client selection and relay plugins.
27
+ * @returns RPC and Fetch handlers sharing the same plugins.
28
+ */
29
+ export declare function create<const chainId extends number>(options: handleRequest.Options & {
30
+ client: Client & {
31
+ chain: {
32
+ id: chainId;
33
+ };
34
+ };
35
+ getClient?: never;
36
+ }): create.ReturnType<chainId>;
37
+ export declare function create<const chainId extends number = number>(options: handleRequest.Options & {
38
+ client?: never;
39
+ getClient: (options: {
40
+ chainId: chainId;
41
+ }) => Client;
42
+ }): create.ReturnType<chainId>;
43
+ export declare function create<getClient extends (options: never) => Client>(options: handleRequest.Options & {
44
+ client?: never;
45
+ getClient: getClient;
46
+ }): create.ReturnType<Parameters<getClient>[0] extends {
47
+ chainId: infer chainId extends number;
48
+ } ? chainId : number>;
49
+ export declare namespace create {
50
+ /** Client selection and middleware for a relay. */
51
+ type Options<chainId extends number = number> = handleRequest.Options & ({
52
+ /** Chain-configured client used for every forwarded request. */
53
+ client: Client & {
54
+ chain: {
55
+ id: chainId;
56
+ };
57
+ };
58
+ getClient?: never;
59
+ } | {
60
+ client?: never;
61
+ /** Resolves the client after plugins have selected the request's chain. */
62
+ getClient: (options: {
63
+ chainId: chainId;
64
+ }) => Client & {
65
+ chain: {
66
+ id: number;
67
+ };
68
+ };
69
+ });
70
+ /** Optional chain selection and RPC request options. */
71
+ type RequestOptions<chainId extends number = number> = Omit<handleRequest.RequestOptions, 'chainId'> & {
72
+ chainId?: chainId | undefined;
73
+ };
74
+ /** Handlers sharing one composed relay pipeline. */
75
+ type ReturnType<chainId extends number = number> = {
76
+ /** Handles a POST JSON-RPC request, returning JSON or an empty 204 for notifications. */
77
+ fetch: {
78
+ (request: Request): Promise<Response>;
79
+ (request: Request, options?: RequestOptions<chainId> | undefined): Promise<Response>;
80
+ };
81
+ /** Handles a parsed RPC call and returns its result. */
82
+ request: (request: handleRequest.Request, options?: RequestOptions<chainId> | undefined) => Promise<unknown>;
83
+ };
84
+ }
85
+ /**
86
+ * Creates an RPC request handler by composing relay plugins around a downstream handler.
87
+ *
88
+ * Requests enter plugins in array order, and responses return in reverse order.
89
+ * Post-fill hooks run concurrently after middleware finishes. Middleware sees
90
+ * the downstream result before post-fill enrichment and signing.
91
+ * Without plugins, the downstream handler is returned unchanged. Plugins decide
92
+ * whether to forward, transform, or handle a request. Errors propagate unchanged
93
+ * unless a plugin handles them.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * import { http } from 'viem'
98
+ * import { Relay } from 'viem/tempo'
99
+ *
100
+ * const rpc = http('https://rpc.tempo.xyz').setup()
101
+ * const handle = Relay.handleRequest(rpc.request, {
102
+ * plugins: [
103
+ * {
104
+ * async handleRequest(context, next) {
105
+ * context.options.retryCount = 0
106
+ * await next()
107
+ * },
108
+ * },
109
+ * ],
110
+ * })
111
+ * const chainId = await handle({ method: 'eth_chainId' })
112
+ * // @log: '0x1079'
113
+ * ```
114
+ *
115
+ * @param next - Downstream RPC request handler, typically forwarding to the Tempo (Execution) RPC.
116
+ * @param options - Relay options.
117
+ * @returns The composed RPC request handler.
118
+ */
119
+ export declare function handleRequest(next: handleRequest.Handler, options?: handleRequest.Options): handleRequest.Handler;
120
+ export declare namespace handleRequest {
121
+ /** RPC request handler shared by relay plugins and the downstream execution RPC. */
122
+ type Handler = (request: Request, options?: RequestOptions | undefined) => Promise<unknown>;
123
+ /** Options for {@link handleRequest}. */
124
+ type Options = {
125
+ /** Plugins in request execution order. Defaults to an empty list. */
126
+ plugins?: readonly Plugin[] | undefined;
127
+ /** Fee-token candidates shared by all plugins, memoized per request and chain. */
128
+ resolveTokens?: ((chainId: number) => readonly Address[] | Promise<readonly Address[]>) | undefined;
129
+ /** Deadline in milliseconds for a plugin-handled fill, including callbacks. Defaults to 10,000. */
130
+ timeout?: number | undefined;
131
+ };
132
+ /** RPC request passed to a handler. */
133
+ type Request = {
134
+ /** RPC method name. */
135
+ method: string;
136
+ /** RPC method parameters. */
137
+ params?: readonly unknown[] | undefined;
138
+ };
139
+ /** Options for one handled request. */
140
+ type RequestOptions = EIP1193RequestOptions & {
141
+ /** Chain selected by the caller or resolved by a plugin. */
142
+ chainId?: number | undefined;
143
+ /** Response metadata collected by the Fetch adapter. */
144
+ response?: {
145
+ sponsorship_details?: Sponsorship.SponsorshipDetails | undefined;
146
+ } | undefined;
147
+ };
148
+ }
149
+ /** Hooks extending relay request processing and filled transaction responses. */
150
+ export type Plugin = {
151
+ /** Processes an RPC request. Await next(), then read or replace context.result. */
152
+ handleRequest?: ((context: Plugin.Context, next: () => Promise<void>) => Promise<unknown>) | undefined;
153
+ /** Runs concurrently after the final fill. Returns capability fields to merge. */
154
+ afterFill?: ((filled: Plugin.FillResult, context: Plugin.Context) => Promise<Plugin.Enrichment | undefined>) | undefined;
155
+ /** Signs the final fill concurrently with enrichment. Only one signer may be registered. */
156
+ signTransaction?: ((filled: Plugin.FillResult, context: Plugin.Context) => Promise<Plugin.Signature | undefined>) | undefined;
157
+ };
158
+ export declare namespace Plugin {
159
+ /** State and services isolated to one RPC invocation. */
160
+ type Context = {
161
+ /** Current RPC request. Changes are passed to next(). */
162
+ request: handleRequest.Request;
163
+ /** Downstream result, populated by next(). */
164
+ result: unknown;
165
+ /** Transport options and selected chain. */
166
+ options: handleRequest.RequestOptions;
167
+ /** Downstream client for the selected chain. */
168
+ readonly client: Client_;
169
+ /** Gets a downstream client for the selected or specified chain. */
170
+ getClient: (chainId?: number) => Client_;
171
+ /** Gets the shared token candidates for the selected or specified chain. */
172
+ resolveTokens: (chainId?: number) => Promise<readonly Address[]>;
173
+ /** Scopes a configured store to this invocation. */
174
+ getStore: (store: Store.Store | undefined) => Store.Store | undefined;
175
+ };
176
+ /** Immutable RPC fill supplied to post-fill hooks. */
177
+ type FillResult = {
178
+ readonly tx: Readonly<Record<string, unknown>>;
179
+ readonly capabilities?: Readonly<Record<string, unknown>> | undefined;
180
+ readonly sponsor?: unknown;
181
+ };
182
+ /** Additional response capabilities. Duplicate keys from hooks are rejected. */
183
+ type Enrichment = {
184
+ capabilities?: Record<string, unknown> | undefined;
185
+ };
186
+ /** Fee-payer signature in RPC format. */
187
+ type Signature = {
188
+ r: `0x${string}`;
189
+ s: `0x${string}`;
190
+ yParity: `0x${string}`;
191
+ };
192
+ }
193
+ declare const multisigBrand: unique symbol;
194
+ /**
195
+ * Coordinates native multisig approvals using shared atomic storage.
196
+ *
197
+ * Memory storage is process-local. Independent clients and multiple server
198
+ * instances must use the same persistent store to share pending approvals.
199
+ *
200
+ * @example
201
+ * ```ts
202
+ * import { http } from 'viem'
203
+ * import { Relay, Store, withRelay } from 'viem/tempo'
204
+ *
205
+ * const transport = withRelay(http(), {
206
+ * plugins: [Relay.multisig({ store: Store.memory() })],
207
+ * })
208
+ * ```
209
+ *
210
+ * @param options - Shared atomic storage.
211
+ * @returns A plugin that coordinates multisig requests and forwards other calls.
212
+ */
213
+ export declare function multisig(options: multisig.Options): multisig.ReturnType;
214
+ export declare namespace multisig {
215
+ /** Multisig coordination options. */
216
+ type Options = {
217
+ /** Store shared by multisig coordinators, with atomic compare-and-set support. */
218
+ store: Store.Atomic;
219
+ };
220
+ /** Middleware advertising native multisig coordination. */
221
+ type ReturnType = Plugin & {
222
+ readonly [multisigBrand]: true;
223
+ };
224
+ }
225
+ /**
226
+ * Sponsors transactions with a local account or an external fee-payer relay.
227
+ *
228
+ * Place multisig before this plugin and fee-token selection after it.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * import { Account } from 'viem'
233
+ * import { Relay } from 'viem/tempo'
234
+ * const plugin = Relay.feePayer({ account: Account.fromPrivateKey('0x...') })
235
+ * ```
236
+ * @param options - Sponsor account, policy, and display metadata.
237
+ * @returns A fee-payer relay plugin.
238
+ */
239
+ export declare function feePayer(options?: feePayer.Options): Plugin;
240
+ export declare namespace feePayer {
241
+ /** Fee sponsorship configuration. */
242
+ type Options = {
243
+ /** Local sponsor. Omit when requests use an external fee-payer URL. */
244
+ account?: LocalAccount | undefined;
245
+ /** Trusted external fee-payer URLs. Matches the normalized full URL, including path and query. Defaults to none. */
246
+ allowedFeePayers?: readonly string[] | undefined;
247
+ /** Sponsor's preferred fee token. Overrides the request token on sponsored fills. */
248
+ feeToken?: Address | undefined;
249
+ /** Allow HTTP and private external relay hosts in trusted development environments. @default false */
250
+ internal_allowUnsafeUrls?: boolean | undefined;
251
+ /** Display name returned in sponsor capabilities. */
252
+ name?: string | undefined;
253
+ /** Called after signing and before returning or broadcasting. A thrown error aborts sponsorship. */
254
+ onSponsored?: Sponsorship.sign.Options['onSponsored'] | undefined;
255
+ /** Sponsor display URL. */
256
+ url?: string | undefined;
257
+ /** Only `true` authorizes sponsorship. Rejected fills fall back to sender-paid transactions. */
258
+ validate?: Sponsorship.Validate | undefined;
259
+ };
260
+ /** Result of a sponsorship policy check. */
261
+ type Validation = Sponsorship.Validation;
262
+ /** Facts passed to the sponsorship callback. */
263
+ type SponsoredEvent = Sponsorship.SponsoredEvent;
264
+ }
265
+ /**
266
+ * Resolves fee tokens from user preferences, balances, and available fee AMM liquidity.
267
+ *
268
+ * @example
269
+ * ```ts
270
+ * import { Relay } from 'viem/tempo'
271
+ * const plugin = Relay.feeToken()
272
+ * ```
273
+ * @returns A fee-token relay plugin.
274
+ */
275
+ export declare function feeToken(): Plugin;
276
+ /**
277
+ * Adds balance changes, estimated fees, and execution errors to fill capabilities.
278
+ *
279
+ * Runs after transaction middleware to simulate the final filled result.
280
+ *
281
+ * @example
282
+ * ```ts
283
+ * import { Relay } from 'viem/tempo'
284
+ * const plugin = Relay.simulate()
285
+ * ```
286
+ * @param options - Optional metadata store.
287
+ * @returns A simulation relay plugin.
288
+ */
289
+ export declare function simulate(options?: simulate.Options): Plugin;
290
+ export declare namespace simulate {
291
+ /** Simulation configuration. */
292
+ type Options = {
293
+ /** Store for cached metadata. Omit to read metadata for each request. */
294
+ store?: Store.Store | undefined;
295
+ };
296
+ }
297
+ type Client = Pick<Client_, 'request'> & {
298
+ chain: {
299
+ id: number;
300
+ };
301
+ };
302
+ export {};
303
+ //# sourceMappingURL=Relay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Relay.d.ts","sourceRoot":"","sources":["../../src/tempo/Relay.ts"],"names":[],"mappings":"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"}