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
@@ -1,3 +1,4 @@
1
+ import type { Bytes } from 'ox'
1
2
  import {
2
3
  Address,
3
4
  Authorization,
@@ -13,7 +14,6 @@ import {
13
14
  WebAuthnP256,
14
15
  WebCryptoP256,
15
16
  } from 'ox'
16
- import type { Bytes } from 'ox'
17
17
  import {
18
18
  Channel,
19
19
  KeyAuthorization,
@@ -22,8 +22,16 @@ import {
22
22
  TxEnvelopeTempo,
23
23
  } from 'ox/tempo'
24
24
 
25
- import type * as viem_Account from '../core/Account.js'
25
+ import { nativeMultisigFactory } from './Addresses.js'
26
+ import { parseApproval } from './multisig/Signature.js'
27
+
28
+ import * as viem_Account from '../core/Account.js'
26
29
  import type { OneOf, RequiredBy } from '../core/internal/types.js'
30
+ import {
31
+ chainConfig,
32
+ type Envelope,
33
+ type SerializeOptions,
34
+ } from './chainConfig.js'
27
35
  import type * as KeyAuthorizationManager from './KeyAuthorizationManager.js'
28
36
 
29
37
  /** Base shape shared by Tempo accounts. */
@@ -74,14 +82,6 @@ export type AccessKeyAccount = Base<'accessKey'> & {
74
82
  /** A Tempo account. */
75
83
  export type Account = OneOf<RootAccount | AccessKeyAccount | MultisigAccount>
76
84
 
77
- /** A synthetic account for a native multisig (TIP-1061) config. */
78
- export type MultisigAccount = viem_Account.Local<'multisig'> & {
79
- /** Multisig config (from `MultisigConfig.from`). */
80
- config: MultisigConfig.Config
81
- /** Account source. */
82
- source: 'multisig'
83
- }
84
-
85
85
  /**
86
86
  * Instantiates an Account from a sign function and public key.
87
87
  *
@@ -274,81 +274,342 @@ export declare namespace fromSecp256k1 {
274
274
  }
275
275
 
276
276
  /**
277
- * Instantiates a synthetic Account for a native multisig (TIP-1061) config.
277
+ * Instantiates an Account for a native multisig (TIP-1061) config.
278
278
  *
279
- * The returned account does not hold a key. It is used purely to drive the
280
- * standard transaction flow: it derives the multisig address from the config
281
- * and passes the prepared envelope (carrying the collected owner
282
- * `signatures`) through to the chain serializer, which combines the approvals
283
- * into the multisig signature envelope.
279
+ * The returned account does not hold a key itself. Omit `address` or set it to
280
+ * `infer` to derive an account address from its initial config. For a current
281
+ * config, set `address` to the stable account address. Pass the address directly
282
+ * for an address-only account.
284
283
  *
285
- * Owner approvals are produced separately by signing with `multisig` request
286
- * metadata (see `signTransaction`), and provided via `signatures`.
284
+ * Owners can be accounts or addresses directly, or weighted `{ owner, weight }`
285
+ * entries. Direct owners default to weight `1`, and `threshold` defaults to `1`.
286
+ * Local owner accounts are retained for signing, using primitive signatures.
287
+ * Configs containing only owner addresses require external approvals through
288
+ * `signatures`.
287
289
  *
288
- * Accepts a raw config and normalizes it internally (via
289
- * `MultisigConfig.from`), so callers don't need to call `MultisigConfig.from`
290
- * themselves.
290
+ * Normalizes supplied config fields with `MultisigConfig.from`, so callers do
291
+ * not need to normalize owner ordering themselves.
291
292
  *
292
293
  * @example
293
294
  * ```ts
294
295
  * import { Account } from 'viem/tempo'
295
296
  *
296
297
  * const account = Account.fromMultisig({
298
+ * address: 'infer',
299
+ * owners: [owner_1, owner_2],
297
300
  * threshold: 2,
298
- * owners: [
299
- * { owner: owner_1.address, weight: 1 },
300
- * { owner: owner_2.address, weight: 1 },
301
- * ],
302
301
  * })
302
+ *
303
+ * // The multisig config is inferred from the account.
304
+ * const { request } = await client.transaction.prepare({ account, ...rest })
305
+ *
306
+ * const transaction = await client.transaction.sign(request)
303
307
  * ```
304
308
  *
305
- * @param config Multisig config (raw or from `MultisigConfig.from`).
309
+ * @param value Initial config, current config, or multisig address.
306
310
  * @returns Multisig account.
307
311
  */
308
- export function fromMultisig(config: MultisigConfig.Config): MultisigAccount {
309
- const normalized = MultisigConfig.from(config)
310
- const address = Address.checksum(MultisigConfig.getAddress(normalized))
311
- return {
312
+ export function fromMultisig(
313
+ value: fromMultisig.InitialConfig,
314
+ ): MultisigAccount<MultisigConfig.Config>
315
+ export function fromMultisig(
316
+ value: fromMultisig.CurrentConfig,
317
+ ): MultisigAccount<MultisigConfig.Config>
318
+ export function fromMultisig(
319
+ address: Address.Address,
320
+ ): MultisigAccount<undefined>
321
+ export function fromMultisig(value: fromMultisig.Parameters): MultisigAccount
322
+ export function fromMultisig(value: fromMultisig.Parameters): MultisigAccount {
323
+ const configInput = (() => {
324
+ if (typeof value === 'string') return undefined
325
+ const { address: _, ...config } = value
326
+ return config
327
+ })()
328
+ const config = (() => {
329
+ if (!configInput) return undefined
330
+ const ownerEntries = configInput.owners.map((value) =>
331
+ typeof value === 'string' || 'address' in value
332
+ ? { owner: value, weight: 1 }
333
+ : value,
334
+ )
335
+ return MultisigConfig.from({
336
+ ...configInput,
337
+ owners: ownerEntries.map(({ owner, weight }) => ({
338
+ owner: typeof owner === 'string' ? owner : owner.address,
339
+ weight,
340
+ })),
341
+ threshold: configInput.threshold ?? 1,
342
+ })
343
+ })()
344
+ if (typeof value !== 'string') {
345
+ if (
346
+ (value.address === undefined || value.address === 'infer') &&
347
+ config!.version !== 0n
348
+ )
349
+ throw new Error('An initial multisig config must have version zero.')
350
+ if (
351
+ value.address !== undefined &&
352
+ value.address !== 'infer' &&
353
+ config!.version === 0n
354
+ )
355
+ throw new Error('A current multisig config must have a version.')
356
+ }
357
+ const address = Address.checksum(
358
+ (() => {
359
+ if (typeof value === 'string') return value
360
+ if (value.address === undefined || value.address === 'infer')
361
+ return MultisigConfig.getAddress(config!, {
362
+ factory: nativeMultisigFactory,
363
+ })
364
+ return value.address
365
+ })(),
366
+ )
367
+ const ownerAccounts: viem_Account.Local[] = (() => {
368
+ if (!configInput) return []
369
+ return configInput.owners.flatMap((value) => {
370
+ const owner =
371
+ typeof value === 'string' || 'address' in value ? value : value.owner
372
+ return typeof owner === 'string' ? [] : [viem_Account.from(owner)]
373
+ })
374
+ })()
375
+ if (
376
+ ownerAccounts.some(
377
+ (owner) => isMultisigAccount(owner) || isAccessKeyAccount(owner),
378
+ )
379
+ )
380
+ throw new Error('Multisig owners must use primitive signatures.')
381
+ const owners =
382
+ config?.owners.flatMap(({ owner }) => {
383
+ const account = ownerAccounts.find((account) =>
384
+ Address.isEqual(account.address, owner),
385
+ )
386
+ return account ? [account] : []
387
+ }) ?? []
388
+
389
+ const account: MultisigAccount = {
312
390
  address,
313
- config: normalized,
314
- keyType: 'multisig',
391
+ config,
392
+ owners,
315
393
  publicKey: '0x',
316
394
  source: 'multisig',
395
+ keyType: 'multisig',
317
396
  type: 'local',
318
- async sign() {
319
- throw new Error('`sign` is not supported for multisig accounts.')
397
+ async sign({ hash }) {
398
+ return SignatureEnvelope.serialize(
399
+ await signMultisig(account, { payload: hash }),
400
+ )
320
401
  },
321
402
  async signMessage() {
322
403
  throw new Error('`signMessage` is not supported for multisig accounts.')
323
404
  },
324
405
  async signTransaction(envelope_, options) {
325
- const envelope =
326
- envelope_ as unknown as TxEnvelopeTempo.TxEnvelopeTempo & {
327
- feePayer?: viem_Account.Account | boolean | undefined
328
- }
406
+ const request = envelope_ as unknown as Envelope
329
407
  const serialize = options?.chain?.transaction?.serialize as
330
- | ((envelope: unknown) => Hex.Hex | undefined)
408
+ | ((
409
+ envelope: Envelope,
410
+ options?: SerializeOptions,
411
+ ) => Hex.Hex | undefined)
331
412
  | undefined
332
- const serialized =
333
- serialize?.(envelope) ??
334
- TxEnvelopeTempo.serialize(
335
- envelope as unknown as TxEnvelopeTempo.TxEnvelopeTempo,
413
+ const serializeTransaction = async (
414
+ envelope: Envelope,
415
+ options?: SerializeOptions,
416
+ ) => {
417
+ const serialized =
418
+ serialize?.(envelope, options) ??
419
+ chainConfig.transaction.serialize(envelope, options)!
420
+ if (
421
+ typeof envelope.feePayer === 'object' &&
422
+ serialized.startsWith(TxEnvelopeTempo.feePayerMagic)
336
423
  )
337
- if (
338
- typeof envelope.feePayer === 'object' &&
339
- serialized.startsWith(TxEnvelopeTempo.feePayerMagic)
340
- )
341
- return await signFeePayer(
342
- serialized,
343
- envelope.feePayer,
344
- envelope.from ?? address,
424
+ return signFeePayer(
425
+ serialized,
426
+ envelope.feePayer,
427
+ envelope.from ?? address,
428
+ )
429
+ return serialized
430
+ }
431
+ if (request.owner) {
432
+ const owner = request.owner
433
+ if (owner.type !== 'local')
434
+ throw new Error(
435
+ 'A local owner account is required to approve a multisig transaction.',
436
+ )
437
+ if (owner.source !== 'root')
438
+ throw new Error(
439
+ 'A Tempo owner account is required to approve a multisig transaction.',
440
+ )
441
+ const { owner: _, ...ownerRequest } = request
442
+ const approval = await owner.signTransaction(
443
+ ownerRequest as unknown as TxEnvelope.TxEnvelope<false>,
444
+ options,
345
445
  )
346
- return serialized
446
+ return serializeTransaction({
447
+ ...request,
448
+ signatures: [
449
+ ...(request.signatures ?? []),
450
+ approval as SignatureEnvelope.Serialized,
451
+ ],
452
+ })
453
+ }
454
+ if (owners.length === 0) return serializeTransaction(request)
455
+ const payload = TxEnvelopeTempo.getSignPayload(request)
456
+ const simulation = request.multisigSimulation
457
+ if (request.from && !Address.isEqual(request.from, address))
458
+ throw new Error(
459
+ 'Multisig account does not match the transaction sender.',
460
+ )
461
+
462
+ const signature = await signMultisig(account, {
463
+ config: simulation?.config,
464
+ payload,
465
+ signatures: request.signatures?.map((signature) =>
466
+ parseApproval(signature),
467
+ ),
468
+ })
469
+ return serializeTransaction(request, { signature })
347
470
  },
348
471
  async signTypedData() {
349
472
  throw new Error('`signTypedData` is not supported for multisig accounts.')
350
473
  },
351
474
  }
475
+ return account
476
+ }
477
+
478
+ export declare namespace fromMultisig {
479
+ /** Initial version-zero multisig config. */
480
+ export type Config = InitialConfig
481
+
482
+ /** Stable multisig account address and its current config. */
483
+ export type CurrentConfig = {
484
+ /** Stable multisig account address. */
485
+ address: Address.Address
486
+ /** Weighted owners. */
487
+ owners: readonly Owner[]
488
+ /** Caller-chosen 32-byte salt. */
489
+ salt: MultisigConfig.Config['salt']
490
+ /** Minimum total owner weight required for authorization. */
491
+ threshold: MultisigConfig.Config['threshold']
492
+ /** Current configuration version. */
493
+ version: MultisigConfig.Config<bigint | number>['version']
494
+ }
495
+
496
+ /** Initial version-zero multisig config. */
497
+ export type InitialConfig = {
498
+ /** Derives the stable account address from this initial config. */
499
+ address?: 'infer' | undefined
500
+ /** Weighted owners. */
501
+ owners: readonly Owner[]
502
+ /** Caller-chosen 32-byte salt. */
503
+ salt?: MultisigConfig.Input['salt'] | undefined
504
+ /** Minimum owner weight required for authorization. */
505
+ threshold?: number | undefined
506
+ /** Initial configuration version. */
507
+ version?: 0 | 0n | undefined
508
+ }
509
+
510
+ /** Multisig owner account or address, optionally with an explicit weight. */
511
+ export type Owner =
512
+ | Address.Address
513
+ | (viem_Account.Local & { accessKeyAddress?: never; owners?: never })
514
+ | (Omit<MultisigConfig.Owner, 'owner'> & {
515
+ owner:
516
+ | Address.Address
517
+ | (viem_Account.Local & { accessKeyAddress?: never; owners?: never })
518
+ })
519
+
520
+ /** Parameters for {@link fromMultisig}. */
521
+ export type Parameters = Address.Address | CurrentConfig | InitialConfig
522
+ }
523
+
524
+ export type MultisigAccount<
525
+ config extends MultisigConfig.Config | undefined =
526
+ | MultisigConfig.Config
527
+ | undefined,
528
+ > = viem_Account.Local<'multisig'> & {
529
+ /** Account source. */
530
+ source: 'multisig'
531
+ /** Normalized config, or `undefined` for an address-only account. */
532
+ config: config
533
+ /** @internal Local owner accounts available for signing. */
534
+ owners: readonly (viem_Account.Local & { source?: string | undefined })[]
535
+ }
536
+
537
+ function isMultisigAccount(
538
+ account: viem_Account.Local,
539
+ ): account is MultisigAccount {
540
+ return 'source' in account && account.source === 'multisig'
541
+ }
542
+
543
+ async function signMultisig(
544
+ account: MultisigAccount,
545
+ parameters: {
546
+ config?: MultisigConfig.Config | undefined
547
+ payload: Hex.Hex
548
+ signatures?: readonly SignatureEnvelope.Primitive[] | undefined
549
+ },
550
+ ): Promise<SignatureEnvelope.Multisig> {
551
+ const { config, payload, signatures: providedSignatures = [] } = parameters
552
+ const currentConfig = config ?? account.config
553
+ if (!currentConfig)
554
+ throw new Error('A current multisig config is required for local signing.')
555
+ const digest = MultisigConfig.getSignPayload({
556
+ account: account.address,
557
+ config: currentConfig,
558
+ payload,
559
+ })
560
+ const signatures = [...providedSignatures]
561
+ const signedOwners = new Set<Address.Address>()
562
+ let weight = 0
563
+
564
+ for (const signature of providedSignatures) {
565
+ const address = SignatureEnvelope.extractAddress({
566
+ payload: digest,
567
+ signature,
568
+ }).toLowerCase() as Address.Address
569
+ const owner = currentConfig.owners.find((owner) =>
570
+ Address.isEqual(owner.owner, address),
571
+ )
572
+ if (!owner || signedOwners.has(address)) continue
573
+ signedOwners.add(address)
574
+ weight += Number(owner.weight)
575
+ }
576
+
577
+ const owners = [...currentConfig.owners].sort(
578
+ (a, b) =>
579
+ Number(b.weight) - Number(a.weight) ||
580
+ a.owner.toLowerCase().localeCompare(b.owner.toLowerCase()),
581
+ )
582
+ for (const owner of owners) {
583
+ if (weight >= Number(currentConfig.threshold)) break
584
+ const address = owner.owner.toLowerCase() as Address.Address
585
+ if (signedOwners.has(address)) continue
586
+ const ownerAccount = account.owners.find((account) =>
587
+ Address.isEqual(account.address, owner.owner),
588
+ )
589
+ if (!ownerAccount) continue
590
+
591
+ if (!ownerAccount.sign)
592
+ throw new Error('Multisig owner account cannot sign.')
593
+ signatures.push(parseApproval(await ownerAccount.sign({ hash: digest })))
594
+
595
+ signedOwners.add(address)
596
+ weight += Number(owner.weight)
597
+ if (weight >= Number(currentConfig.threshold)) break
598
+ }
599
+
600
+ if (weight < Number(currentConfig.threshold))
601
+ throw new Error('Local multisig owners do not meet the threshold.')
602
+
603
+ return SignatureEnvelope.from({
604
+ account: account.address,
605
+ config: currentConfig,
606
+ signatures: SignatureEnvelope.sortMultisigApprovals({
607
+ account: account.address,
608
+ config: currentConfig,
609
+ payload,
610
+ signatures,
611
+ }),
612
+ }) as SignatureEnvelope.Multisig
352
613
  }
353
614
 
354
615
  /**
@@ -551,11 +812,43 @@ type KeyAuthorizationInput = {
551
812
  * })
552
813
  * ```
553
814
  */
815
+ export function getKeyAuthorizationSignPayload(
816
+ account: viem_Account.Local,
817
+ parameters: signKeyAuthorization.Parameters,
818
+ ): Hex.Hex {
819
+ const { admin, chainId, expiry, key, limits, scopes, witness } = parameters
820
+ const { accessKeyAddress, keyType: type } = resolveAccessKey(key)
821
+ const boundFields =
822
+ isAccessKeyAccount(account) || isMultisigAccount(account)
823
+ ? { account: account.address }
824
+ : {}
825
+ const restrictions = admin ? {} : { expiry, limits, scopes }
826
+ return KeyAuthorization.getSignPayload({
827
+ address: accessKeyAddress,
828
+ chainId,
829
+ type,
830
+ witness,
831
+ ...(admin ? { isAdmin: true } : {}),
832
+ ...boundFields,
833
+ ...restrictions,
834
+ } as KeyAuthorization.KeyAuthorization)
835
+ }
836
+
554
837
  export async function signKeyAuthorization(
555
838
  account: viem_Account.Local,
556
839
  parameters: signKeyAuthorization.Parameters,
557
840
  ): Promise<signKeyAuthorization.ReturnValue> {
558
- const { chainId, key, expiry, limits, scopes, witness, admin } = parameters
841
+ const {
842
+ admin,
843
+ chainId,
844
+ expiry,
845
+ key,
846
+ limits,
847
+ multisig: multisigState,
848
+ scopes,
849
+ signatures,
850
+ witness,
851
+ } = parameters
559
852
  const { accessKeyAddress, keyType: type } = resolveAccessKey(key)
560
853
 
561
854
  // When the signer is an admin access key, the authorization must be
@@ -563,29 +856,33 @@ export async function signKeyAuthorization(
563
856
  // on behalf of, so the signed payload cannot be replayed against another
564
857
  // account. [TIP-1049]
565
858
  const isAccessKey = isAccessKeyAccount(account)
566
- const boundFields = isAccessKey ? { account: account.address } : {}
859
+ const isMultisig = isMultisigAccount(account)
860
+ const boundFields =
861
+ isAccessKey || isMultisig ? { account: account.address } : {}
567
862
 
568
863
  // Admin key authorizations are unrestricted and must not carry expiry,
569
864
  // limits, or call scopes (the protocol rejects them). [TIP-1049]
570
865
  const restrictions = admin ? {} : { expiry, limits, scopes }
571
866
 
572
- const authorization: KeyAuthorizationInput = {
573
- address: accessKeyAddress,
574
- chainId,
575
- type,
576
- witness,
577
- ...(admin ? { isAdmin: true } : {}),
578
- ...boundFields,
579
- ...restrictions,
580
- }
581
- const hash = KeyAuthorization.getSignPayload(
582
- // The wire accepts `account`/`isAdmin` alone (see KeyAuthorizationInput).
583
- authorization as KeyAuthorization.KeyAuthorization,
584
- )
585
- const signature = isAccessKey
586
- ? await account.sign({ hash, raw: true })
587
- : await account.sign({ hash })
588
- const signed: KeyAuthorizationInput = {
867
+ const hash = getKeyAuthorizationSignPayload(account, parameters)
868
+ const signature = await (async () => {
869
+ if (isAccessKey) return account.sign({ hash, raw: true })
870
+ if (isMultisig) {
871
+ if (!multisigState)
872
+ throw new Error(
873
+ 'Multisig state is required to sign a key authorization.',
874
+ )
875
+ return SignatureEnvelope.serialize(
876
+ await signMultisig(account, {
877
+ config: multisigState.config,
878
+ payload: hash,
879
+ signatures: signatures?.map((signature) => parseApproval(signature)),
880
+ }),
881
+ )
882
+ }
883
+ return account.sign!({ hash })
884
+ })()
885
+ return KeyAuthorization.from({
589
886
  address: accessKeyAddress,
590
887
  chainId,
591
888
  signature: SignatureEnvelope.from(signature),
@@ -594,8 +891,7 @@ export async function signKeyAuthorization(
594
891
  ...(admin ? { isAdmin: true } : {}),
595
892
  ...boundFields,
596
893
  ...restrictions,
597
- }
598
- return KeyAuthorization.from(signed as KeyAuthorization.Signed)
894
+ } as KeyAuthorization.Signed)
599
895
  }
600
896
 
601
897
  export declare namespace signKeyAuthorization {
@@ -603,10 +899,6 @@ export declare namespace signKeyAuthorization {
603
899
  KeyAuthorization.KeyAuthorization,
604
900
  'expiry' | 'limits' | 'scopes' | 'witness'
605
901
  > & {
606
- /** Chain ID for replay protection. */
607
- chainId: number | bigint
608
- /** Access key to authorize. */
609
- key: resolveAccessKey.Parameters
610
902
  /**
611
903
  * Whether to authorize the key as an admin key. Admin keys are
612
904
  * unrestricted and can manage the account's other access keys; `expiry`,
@@ -614,7 +906,17 @@ export declare namespace signKeyAuthorization {
614
906
  *
615
907
  * [TIP-1049](https://tips.sh/1049)
616
908
  */
909
+ chainId: number | bigint
617
910
  admin?: boolean | undefined
911
+ key: resolveAccessKey.Parameters
912
+ /** @internal Current state used when a multisig account signs the authorization. */
913
+ multisig?:
914
+ | {
915
+ config: MultisigConfig.Config
916
+ }
917
+ | undefined
918
+ /** Serialized approvals from external multisig owners. */
919
+ signatures?: readonly SignatureEnvelope.Serialized[] | undefined
618
920
  }
619
921
 
620
922
  type ReturnValue = KeyAuthorization.Signed
@@ -723,12 +1025,12 @@ function fromBase(parameters: fromBase.Parameters): Base {
723
1025
  async signTransaction(envelope_, options) {
724
1026
  const chain = options?.chain
725
1027
  // The envelope originates from the tempo chain's `toEnvelope` (or is a
726
- // Tempo envelope directly); `feePayer` and `multisig` ride it as
1028
+ // Tempo envelope directly); `feePayer` and `multisigSimulation` ride it as
727
1029
  // request metadata.
728
1030
  const envelope =
729
1031
  envelope_ as unknown as TxEnvelopeTempo.TxEnvelopeTempo & {
730
- feePayer?: viem_Account.Account | boolean | undefined
731
- multisig?: MultisigConfig.Config | undefined
1032
+ feePayer?: Envelope['feePayer'] | undefined
1033
+ multisigSimulation?: Envelope['multisigSimulation'] | undefined
732
1034
  }
733
1035
 
734
1036
  // Non-tempo envelopes take the generic path (secp256k1 signatures
@@ -762,10 +1064,13 @@ function fromBase(parameters: fromBase.Parameters): Base {
762
1064
  // primitive signature over the multisig owner approval digest — instead
763
1065
  // of a full serialized transaction. Approvals are combined later via
764
1066
  // `signatures`.
765
- if (envelope.multisig) {
1067
+ if (envelope.multisigSimulation) {
1068
+ if (!envelope.from)
1069
+ throw new Error('A multisig sender is required for signing.')
766
1070
  const digest = MultisigConfig.getSignPayload({
767
1071
  payload,
768
- genesisConfig: envelope.multisig,
1072
+ account: envelope.from,
1073
+ config: MultisigConfig.from(envelope.multisigSimulation.config),
769
1074
  })
770
1075
  return await sign({ hash: digest, raw: true })
771
1076
  }