viem 2.56.9 → 2.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/_cjs/actions/public/waitForTransactionReceipt.js +12 -1
  3. package/_cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  4. package/_cjs/chains/definitions/blockdag.js +23 -0
  5. package/_cjs/chains/definitions/blockdag.js.map +1 -0
  6. package/_cjs/chains/definitions/candyChain.js +29 -0
  7. package/_cjs/chains/definitions/candyChain.js.map +1 -0
  8. package/_cjs/chains/definitions/creditCoin3Devnet.js +6 -0
  9. package/_cjs/chains/definitions/creditCoin3Devnet.js.map +1 -1
  10. package/_cjs/chains/definitions/creditCoin3Mainnet.js +6 -0
  11. package/_cjs/chains/definitions/creditCoin3Mainnet.js.map +1 -1
  12. package/_cjs/chains/definitions/creditCoin3Testnet.js +6 -0
  13. package/_cjs/chains/definitions/creditCoin3Testnet.js.map +1 -1
  14. package/_cjs/chains/definitions/kortana.js +23 -0
  15. package/_cjs/chains/definitions/kortana.js.map +1 -0
  16. package/_cjs/chains/index.js +20 -14
  17. package/_cjs/chains/index.js.map +1 -1
  18. package/_cjs/clients/createClientResolver.js +45 -0
  19. package/_cjs/clients/createClientResolver.js.map +1 -0
  20. package/_cjs/errors/version.js +1 -1
  21. package/_cjs/index.js +13 -9
  22. package/_cjs/index.js.map +1 -1
  23. package/_cjs/op-stack/actions/getGame.js +1 -1
  24. package/_cjs/op-stack/actions/getGame.js.map +1 -1
  25. package/_cjs/op-stack/actions/getGames.js +1 -1
  26. package/_cjs/op-stack/actions/getGames.js.map +1 -1
  27. package/_cjs/op-stack/actions/getTimeToNextGame.js +1 -1
  28. package/_cjs/op-stack/actions/getTimeToNextGame.js.map +1 -1
  29. package/_cjs/op-stack/actions/getTimeToNextL2Output.js +1 -1
  30. package/_cjs/op-stack/actions/getTimeToNextL2Output.js.map +1 -1
  31. package/_cjs/tempo/Client.js +2 -10
  32. package/_cjs/tempo/Client.js.map +1 -1
  33. package/_cjs/tempo/ExecutionError.js +290 -0
  34. package/_cjs/tempo/ExecutionError.js.map +1 -0
  35. package/_cjs/tempo/Relay.js +88 -0
  36. package/_cjs/tempo/Relay.js.map +1 -0
  37. package/_cjs/tempo/Transaction.js.map +1 -1
  38. package/_cjs/tempo/Transport.js +21 -12
  39. package/_cjs/tempo/Transport.js.map +1 -1
  40. package/_cjs/tempo/chainConfig.js +3 -0
  41. package/_cjs/tempo/chainConfig.js.map +1 -1
  42. package/_cjs/tempo/index.js +3 -3
  43. package/_cjs/tempo/index.js.map +1 -1
  44. package/_cjs/tempo/internal/relay/cache.js +74 -0
  45. package/_cjs/tempo/internal/relay/cache.js.map +1 -0
  46. package/_cjs/tempo/internal/relay/deadline.js +35 -0
  47. package/_cjs/tempo/internal/relay/deadline.js.map +1 -0
  48. package/_cjs/tempo/internal/relay/error.js +102 -0
  49. package/_cjs/tempo/internal/relay/error.js.map +1 -0
  50. package/_cjs/tempo/internal/relay/feePayer.js +426 -0
  51. package/_cjs/tempo/internal/relay/feePayer.js.map +1 -0
  52. package/_cjs/tempo/internal/relay/feeToken.js +143 -0
  53. package/_cjs/tempo/internal/relay/feeToken.js.map +1 -0
  54. package/_cjs/tempo/{Multisig.js → internal/relay/multisig.js} +132 -122
  55. package/_cjs/tempo/internal/relay/multisig.js.map +1 -0
  56. package/_cjs/tempo/internal/relay/plugin.js +13 -0
  57. package/_cjs/tempo/internal/relay/plugin.js.map +1 -0
  58. package/_cjs/tempo/internal/relay/preflight.js +58 -0
  59. package/_cjs/tempo/internal/relay/preflight.js.map +1 -0
  60. package/_cjs/tempo/internal/relay/request.js +319 -0
  61. package/_cjs/tempo/internal/relay/request.js.map +1 -0
  62. package/_cjs/tempo/internal/relay/simulate.js +267 -0
  63. package/_cjs/tempo/internal/relay/simulate.js.map +1 -0
  64. package/_cjs/tempo/internal/relay/utils.js +174 -0
  65. package/_cjs/tempo/internal/relay/utils.js.map +1 -0
  66. package/_cjs/tempo/internal/relay/virtualAddress.js +78 -0
  67. package/_cjs/tempo/internal/relay/virtualAddress.js.map +1 -0
  68. package/_cjs/tempo/internal/relay.js +139 -0
  69. package/_cjs/tempo/internal/relay.js.map +1 -0
  70. package/_cjs/tempo/multisig/Config.js +0 -2
  71. package/_cjs/tempo/multisig/Config.js.map +1 -1
  72. package/_cjs/tempo/multisig/Operation.js +1 -2
  73. package/_cjs/tempo/multisig/Operation.js.map +1 -1
  74. package/_cjs/utils/siwe/parseSiweMessage.js +3 -3
  75. package/_cjs/utils/siwe/parseSiweMessage.js.map +1 -1
  76. package/_esm/actions/public/waitForTransactionReceipt.js +15 -1
  77. package/_esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  78. package/_esm/chains/definitions/blockdag.js +20 -0
  79. package/_esm/chains/definitions/blockdag.js.map +1 -0
  80. package/_esm/chains/definitions/candyChain.js +26 -0
  81. package/_esm/chains/definitions/candyChain.js.map +1 -0
  82. package/_esm/chains/definitions/creditCoin3Devnet.js +6 -0
  83. package/_esm/chains/definitions/creditCoin3Devnet.js.map +1 -1
  84. package/_esm/chains/definitions/creditCoin3Mainnet.js +6 -0
  85. package/_esm/chains/definitions/creditCoin3Mainnet.js.map +1 -1
  86. package/_esm/chains/definitions/creditCoin3Testnet.js +6 -0
  87. package/_esm/chains/definitions/creditCoin3Testnet.js.map +1 -1
  88. package/_esm/chains/definitions/kortana.js +20 -0
  89. package/_esm/chains/definitions/kortana.js.map +1 -0
  90. package/_esm/chains/index.js +3 -0
  91. package/_esm/chains/index.js.map +1 -1
  92. package/_esm/clients/createClientResolver.js +64 -0
  93. package/_esm/clients/createClientResolver.js.map +1 -0
  94. package/_esm/errors/version.js +1 -1
  95. package/_esm/index.js +2 -0
  96. package/_esm/index.js.map +1 -1
  97. package/_esm/op-stack/actions/getGame.js +1 -1
  98. package/_esm/op-stack/actions/getGame.js.map +1 -1
  99. package/_esm/op-stack/actions/getGames.js +1 -1
  100. package/_esm/op-stack/actions/getGames.js.map +1 -1
  101. package/_esm/op-stack/actions/getTimeToNextGame.js +2 -2
  102. package/_esm/op-stack/actions/getTimeToNextGame.js.map +1 -1
  103. package/_esm/op-stack/actions/getTimeToNextL2Output.js +2 -2
  104. package/_esm/op-stack/actions/getTimeToNextL2Output.js.map +1 -1
  105. package/_esm/tempo/Client.js +8 -14
  106. package/_esm/tempo/Client.js.map +1 -1
  107. package/_esm/tempo/ExecutionError.js +306 -0
  108. package/_esm/tempo/ExecutionError.js.map +1 -0
  109. package/_esm/tempo/Relay.js +170 -0
  110. package/_esm/tempo/Relay.js.map +1 -0
  111. package/_esm/tempo/Transaction.js.map +1 -1
  112. package/_esm/tempo/Transport.js +21 -46
  113. package/_esm/tempo/Transport.js.map +1 -1
  114. package/_esm/tempo/chainConfig.js +4 -0
  115. package/_esm/tempo/chainConfig.js.map +1 -1
  116. package/_esm/tempo/index.js +8 -3
  117. package/_esm/tempo/index.js.map +1 -1
  118. package/_esm/tempo/internal/relay/cache.js +72 -0
  119. package/_esm/tempo/internal/relay/cache.js.map +1 -0
  120. package/_esm/tempo/internal/relay/deadline.js +34 -0
  121. package/_esm/tempo/internal/relay/deadline.js.map +1 -0
  122. package/_esm/tempo/internal/relay/error.js +101 -0
  123. package/_esm/tempo/internal/relay/error.js.map +1 -0
  124. package/_esm/tempo/internal/relay/feePayer.js +442 -0
  125. package/_esm/tempo/internal/relay/feePayer.js.map +1 -0
  126. package/_esm/tempo/internal/relay/feeToken.js +143 -0
  127. package/_esm/tempo/internal/relay/feeToken.js.map +1 -0
  128. package/_esm/tempo/{Multisig.js → internal/relay/multisig.js} +133 -129
  129. package/_esm/tempo/internal/relay/multisig.js.map +1 -0
  130. package/_esm/tempo/internal/relay/plugin.js +10 -0
  131. package/_esm/tempo/internal/relay/plugin.js.map +1 -0
  132. package/_esm/tempo/internal/relay/preflight.js +57 -0
  133. package/_esm/tempo/internal/relay/preflight.js.map +1 -0
  134. package/_esm/tempo/internal/relay/request.js +321 -0
  135. package/_esm/tempo/internal/relay/request.js.map +1 -0
  136. package/_esm/tempo/internal/relay/simulate.js +277 -0
  137. package/_esm/tempo/internal/relay/simulate.js.map +1 -0
  138. package/_esm/tempo/internal/relay/utils.js +174 -0
  139. package/_esm/tempo/internal/relay/utils.js.map +1 -0
  140. package/_esm/tempo/internal/relay/virtualAddress.js +73 -0
  141. package/_esm/tempo/internal/relay/virtualAddress.js.map +1 -0
  142. package/_esm/tempo/internal/relay.js +138 -0
  143. package/_esm/tempo/internal/relay.js.map +1 -0
  144. package/_esm/tempo/multisig/Config.js +2 -1
  145. package/_esm/tempo/multisig/Config.js.map +1 -1
  146. package/_esm/tempo/multisig/Operation.js +1 -1
  147. package/_esm/tempo/multisig/Operation.js.map +1 -1
  148. package/_esm/utils/siwe/parseSiweMessage.js +3 -3
  149. package/_esm/utils/siwe/parseSiweMessage.js.map +1 -1
  150. package/_types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  151. package/_types/chains/definitions/blockdag.d.ts +51 -0
  152. package/_types/chains/definitions/blockdag.d.ts.map +1 -0
  153. package/_types/chains/definitions/candyChain.d.ts +48 -0
  154. package/_types/chains/definitions/candyChain.d.ts.map +1 -0
  155. package/_types/chains/definitions/creditCoin3Devnet.d.ts +6 -9
  156. package/_types/chains/definitions/creditCoin3Devnet.d.ts.map +1 -1
  157. package/_types/chains/definitions/creditCoin3Mainnet.d.ts +6 -9
  158. package/_types/chains/definitions/creditCoin3Mainnet.d.ts.map +1 -1
  159. package/_types/chains/definitions/creditCoin3Testnet.d.ts +6 -9
  160. package/_types/chains/definitions/creditCoin3Testnet.d.ts.map +1 -1
  161. package/_types/chains/definitions/kortana.d.ts +51 -0
  162. package/_types/chains/definitions/kortana.d.ts.map +1 -0
  163. package/_types/chains/index.d.ts +3 -0
  164. package/_types/chains/index.d.ts.map +1 -1
  165. package/_types/clients/createClientResolver.d.ts +76 -0
  166. package/_types/clients/createClientResolver.d.ts.map +1 -0
  167. package/_types/errors/version.d.ts +1 -1
  168. package/_types/index.d.ts +2 -0
  169. package/_types/index.d.ts.map +1 -1
  170. package/_types/op-stack/actions/getGame.d.ts.map +1 -1
  171. package/_types/tempo/Capabilities.d.ts +7 -28
  172. package/_types/tempo/Capabilities.d.ts.map +1 -1
  173. package/_types/tempo/Client.d.ts +6 -15
  174. package/_types/tempo/Client.d.ts.map +1 -1
  175. package/_types/tempo/ExecutionError.d.ts +79 -0
  176. package/_types/tempo/ExecutionError.d.ts.map +1 -0
  177. package/_types/tempo/Relay.d.ts +302 -0
  178. package/_types/tempo/Relay.d.ts.map +1 -0
  179. package/_types/tempo/Transaction.d.ts +2 -1
  180. package/_types/tempo/Transaction.d.ts.map +1 -1
  181. package/_types/tempo/Transport.d.ts +15 -29
  182. package/_types/tempo/Transport.d.ts.map +1 -1
  183. package/_types/tempo/chainConfig.d.ts.map +1 -1
  184. package/_types/tempo/index.d.ts +8 -3
  185. package/_types/tempo/index.d.ts.map +1 -1
  186. package/_types/tempo/internal/relay/cache.d.ts +9 -0
  187. package/_types/tempo/internal/relay/cache.d.ts.map +1 -0
  188. package/_types/tempo/internal/relay/deadline.d.ts +4 -0
  189. package/_types/tempo/internal/relay/deadline.d.ts.map +1 -0
  190. package/_types/tempo/internal/relay/error.d.ts +47 -0
  191. package/_types/tempo/internal/relay/error.d.ts.map +1 -0
  192. package/_types/tempo/internal/relay/feePayer.d.ts +70 -0
  193. package/_types/tempo/internal/relay/feePayer.d.ts.map +1 -0
  194. package/_types/tempo/internal/relay/feeToken.d.ts +38 -0
  195. package/_types/tempo/internal/relay/feeToken.d.ts.map +1 -0
  196. package/_types/tempo/internal/relay/multisig.d.ts +4 -0
  197. package/_types/tempo/internal/relay/multisig.d.ts.map +1 -0
  198. package/_types/tempo/internal/relay/plugin.d.ts +5 -0
  199. package/_types/tempo/internal/relay/plugin.d.ts.map +1 -0
  200. package/_types/tempo/internal/relay/preflight.d.ts +17 -0
  201. package/_types/tempo/internal/relay/preflight.d.ts.map +1 -0
  202. package/_types/tempo/internal/relay/request.d.ts +16 -0
  203. package/_types/tempo/internal/relay/request.d.ts.map +1 -0
  204. package/_types/tempo/internal/relay/simulate.d.ts +59 -0
  205. package/_types/tempo/internal/relay/simulate.d.ts.map +1 -0
  206. package/_types/tempo/internal/relay/utils.d.ts +294 -0
  207. package/_types/tempo/internal/relay/utils.d.ts.map +1 -0
  208. package/_types/tempo/internal/relay/virtualAddress.d.ts +9 -0
  209. package/_types/tempo/internal/relay/virtualAddress.d.ts.map +1 -0
  210. package/_types/tempo/internal/relay.d.ts +4 -0
  211. package/_types/tempo/internal/relay.d.ts.map +1 -0
  212. package/_types/tempo/multisig/Config.d.ts +0 -13
  213. package/_types/tempo/multisig/Config.d.ts.map +1 -1
  214. package/_types/tempo/multisig/Operation.d.ts +0 -5
  215. package/_types/tempo/multisig/Operation.d.ts.map +1 -1
  216. package/_types/utils/siwe/parseSiweMessage.d.ts.map +1 -1
  217. package/actions/public/waitForTransactionReceipt.ts +16 -2
  218. package/chains/definitions/blockdag.ts +20 -0
  219. package/chains/definitions/candyChain.ts +26 -0
  220. package/chains/definitions/creditCoin3Devnet.ts +6 -0
  221. package/chains/definitions/creditCoin3Mainnet.ts +6 -0
  222. package/chains/definitions/creditCoin3Testnet.ts +6 -0
  223. package/chains/definitions/kortana.ts +20 -0
  224. package/chains/index.ts +3 -0
  225. package/clients/createClientResolver.ts +191 -0
  226. package/errors/version.ts +1 -1
  227. package/index.ts +6 -0
  228. package/op-stack/actions/getGame.ts +3 -1
  229. package/op-stack/actions/getGames.ts +1 -1
  230. package/op-stack/actions/getTimeToNextGame.ts +2 -2
  231. package/op-stack/actions/getTimeToNextL2Output.ts +2 -2
  232. package/package.json +1 -1
  233. package/tempo/Capabilities.ts +7 -29
  234. package/tempo/Client.ts +8 -38
  235. package/tempo/ExecutionError.ts +418 -0
  236. package/tempo/Relay.ts +428 -0
  237. package/tempo/Transaction.ts +2 -1
  238. package/tempo/Transport.ts +69 -60
  239. package/tempo/chainConfig.ts +4 -0
  240. package/tempo/index.ts +7 -3
  241. package/tempo/internal/relay/cache.ts +82 -0
  242. package/tempo/internal/relay/deadline.ts +45 -0
  243. package/tempo/internal/relay/error.ts +128 -0
  244. package/tempo/internal/relay/feePayer.ts +692 -0
  245. package/tempo/internal/relay/feeToken.ts +190 -0
  246. package/tempo/{Multisig.ts → internal/relay/multisig.ts} +162 -193
  247. package/tempo/internal/relay/plugin.ts +13 -0
  248. package/tempo/internal/relay/preflight.ts +81 -0
  249. package/tempo/internal/relay/request.ts +391 -0
  250. package/tempo/internal/relay/simulate.ts +367 -0
  251. package/tempo/internal/relay/utils.ts +202 -0
  252. package/tempo/internal/relay/virtualAddress.ts +95 -0
  253. package/tempo/internal/relay.ts +158 -0
  254. package/tempo/multisig/Config.ts +3 -2
  255. package/tempo/multisig/Operation.ts +1 -1
  256. package/utils/siwe/parseSiweMessage.ts +21 -13
  257. package/_cjs/tempo/Multisig.js.map +0 -1
  258. package/_esm/tempo/Multisig.js.map +0 -1
  259. package/_types/tempo/Multisig.d.ts +0 -37
  260. package/_types/tempo/Multisig.d.ts.map +0 -1
@@ -0,0 +1,306 @@
1
+ import { decodeErrorResult, } from '../utils/abi/decodeErrorResult.js';
2
+ import { formatAbiItem } from '../utils/abi/formatAbiItem.js';
3
+ import { toFunctionSelector } from '../utils/hash/toFunctionSelector.js';
4
+ import * as Abis from './Abis.js';
5
+ /** Human-readable templates keyed by error signature in `Abis.core`, with positional `{0}` placeholders. */
6
+ export const messages = {
7
+ 'AbdicationAlreadyScheduled(uint8)': 'Abdication is already scheduled for capability {0}.',
8
+ 'AccountNotAllowed(address)': 'Account {0} is not allowed.',
9
+ 'ActiveLeaderRemoved()': 'The active leader cannot be removed.',
10
+ 'AddressAlreadyHasValidator()': 'This address already has a validator.',
11
+ 'AddressNotReserved()': 'Address is not reserved.',
12
+ 'AddressReserved()': 'Address is reserved.',
13
+ 'AlreadyInitialized()': 'Already initialized.',
14
+ 'AmountExceedsDeposit()': 'Amount exceeds deposit.',
15
+ 'AmountNotIncreasing()': 'Amount is not increasing.',
16
+ 'BelowMinimumOrderSize(uint128)': 'Order size is below the minimum allowed ({0}).',
17
+ 'CallNotAllowed()': 'This call is not allowed.',
18
+ 'CallbackDidNotReturnToZone()': 'The callback did not return to the zone.',
19
+ 'CallbackRejected()': 'The callback was rejected.',
20
+ 'CannotChangeWithinBlock()': 'Cannot change within the same block.',
21
+ 'CapabilityAbdicated(uint8)': 'Capability {0} has been abdicated.',
22
+ 'CaptureAmountInvalid()': 'Capture amount is invalid.',
23
+ 'ChannelAlreadyExists()': 'Channel already exists.',
24
+ 'ChannelNotFound()': 'Channel not found.',
25
+ 'CloseNotReady()': 'Channel is not ready to close.',
26
+ 'ContractPaused()': 'Contract is paused.',
27
+ 'DepositBlockCapacityExceeded(uint64)': 'The deposit capacity per block exceeds the maximum ({0}).',
28
+ 'DepositOverflow()': 'Deposit overflow.',
29
+ 'DepositTooSmall()': 'The deposit is too small.',
30
+ 'DepositsNotActive()': 'Deposits are not active.',
31
+ 'DivisionByZero()': 'Division by zero.',
32
+ 'DuplicateAllowedAccount()': 'The allowed account is duplicated.',
33
+ 'DuplicateOwner()': 'The owner is duplicated.',
34
+ 'DuplicateZoneGateway()': 'The zone gateway is duplicated.',
35
+ 'EmptyV1ValidatorSet()': 'Validator set is empty.',
36
+ 'EncryptionKeyExpired(uint256,uint64,uint64)': 'Encryption key {0} has expired.',
37
+ 'ExpiringNonceHashNotSet()': 'Expiring nonce hash is not set.',
38
+ 'ExpiringNonceReplay()': 'Expiring nonce has already been used.',
39
+ 'ExpiringNonceSetFull()': 'Expiring nonce set is full.',
40
+ 'ExpiryInPast()': 'Expiry is in the past.',
41
+ 'GasFeeRateTooHigh()': 'The gas fee rate is too high.',
42
+ 'IdenticalAddresses()': 'Addresses must be different.',
43
+ 'IdenticalTokens()': 'Cannot swap a token for itself — input and output tokens must be different.',
44
+ 'IncompatiblePolicyType()': 'Incompatible policy type.',
45
+ 'IndexAlreadySet()': 'The index is already set.',
46
+ 'IngressAlreadyExists(string)': 'Ingress "{0}" already exists.',
47
+ 'InsufficientAllowance()': 'Insufficient allowance.',
48
+ 'InsufficientBalance()': 'Insufficient balance.',
49
+ 'InsufficientBalance(uint256,uint256,address)': 'Insufficient balance. Required: {1}, available: {0}.',
50
+ 'InsufficientFeeTokenBalance()': 'Insufficient fee token balance.',
51
+ 'InsufficientLiquidity()': 'Not enough liquidity in the order book to fill this trade.',
52
+ 'InsufficientOutput()': 'The output amount is below the slippage minimum — try increasing slippage tolerance.',
53
+ 'InsufficientReserves()': 'Insufficient reserves.',
54
+ 'InvalidAccount()': 'Invalid account.',
55
+ 'InvalidAdmin()': 'Invalid administrator.',
56
+ 'InvalidAmount()': 'Invalid amount.',
57
+ 'InvalidBaseToken()': 'This token is not a valid base token for the requested pair.',
58
+ 'InvalidBouncebackRecipient()': 'Invalid bounceback recipient.',
59
+ 'InvalidCallScope()': 'Invalid call scope.',
60
+ 'InvalidCallbackTarget()': 'Invalid callback target.',
61
+ 'InvalidCiphertextLength(uint256,uint256)': 'Invalid ciphertext length. Expected {1}, got {0}.',
62
+ 'InvalidClaimAddress()': 'Invalid claim address.',
63
+ 'InvalidClosedLoopConfig()': 'Invalid closed-loop configuration.',
64
+ 'InvalidConfig()': 'Invalid configuration.',
65
+ 'InvalidCurrency()': 'Invalid currency.',
66
+ 'InvalidDepositTransition()': 'Invalid deposit transition.',
67
+ 'InvalidEncryptionKeyIndex(uint256)': 'Invalid encryption key index ({0}).',
68
+ 'InvalidEphemeralPubkey()': 'Invalid ephemeral public key.',
69
+ 'InvalidExpiringNonceExpiry()': 'Invalid expiring nonce expiry.',
70
+ 'InvalidFlipTick()': 'The flip-order price tick is invalid.',
71
+ 'InvalidFormat()': 'Invalid format.',
72
+ 'InvalidKeyAuthorizationWitness()': 'Invalid key authorization witness.',
73
+ 'InvalidKeyId()': 'Invalid key ID.',
74
+ 'InvalidLeader()': 'Invalid leader.',
75
+ 'InvalidLogoURI()': 'Invalid logo URI.',
76
+ 'InvalidMasterAddress()': 'Invalid master address.',
77
+ 'InvalidMigrationIndex()': 'Invalid migration index.',
78
+ 'InvalidMode()': 'Invalid mode.',
79
+ 'InvalidMultisigOwner()': 'Invalid multisig owner.',
80
+ 'InvalidNonceKey()': 'Invalid nonce key.',
81
+ 'InvalidOwner()': 'Invalid owner.',
82
+ 'InvalidOwnerOrder()': 'Invalid owner order.',
83
+ 'InvalidPayee()': 'Invalid payee.',
84
+ 'InvalidPayload()': 'Invalid payload.',
85
+ 'InvalidPolicyType()': 'Invalid policy type.',
86
+ 'InvalidProof()': 'Invalid proof.',
87
+ 'InvalidProofOfPossession()': 'Invalid proof of possession.',
88
+ 'InvalidPublicKey()': 'Invalid public key.',
89
+ 'InvalidQuorumCertificate()': 'Invalid quorum certificate.',
90
+ 'InvalidQuoteToken()': 'Invalid quote token.',
91
+ 'InvalidReceipt()': 'Invalid receipt.',
92
+ 'InvalidReceivePolicyType()': 'Invalid receive policy type.',
93
+ 'InvalidRecipient()': 'Invalid recipient.',
94
+ 'InvalidRecoveryAuthority()': 'Invalid recovery authority.',
95
+ 'InvalidSequencerSet()': 'Invalid sequencer set.',
96
+ 'InvalidSignature()': 'Invalid signature.',
97
+ 'InvalidSignatureFormat()': 'Invalid signature format.',
98
+ 'InvalidSignatureType()': 'Invalid signature type.',
99
+ 'InvalidSpendingLimit()': 'Invalid spending limit.',
100
+ 'InvalidSupplyCap()': 'Invalid supply cap.',
101
+ 'InvalidSwapCalculation()': 'Invalid swap calculation.',
102
+ 'InvalidTempoBlockNumber()': 'Invalid Tempo block number.',
103
+ 'InvalidThreshold()': 'Invalid threshold.',
104
+ 'InvalidTick()': 'The price tick is invalid.',
105
+ 'InvalidToken()': 'This token is not supported on the exchange.',
106
+ 'InvalidTransferPolicyId()': 'Invalid transfer policy.',
107
+ 'InvalidValidatorAddress()': 'Invalid validator address.',
108
+ 'InvalidWeight()': 'Invalid weight.',
109
+ 'KeyAlreadyExists()': 'Key already exists.',
110
+ 'KeyAlreadyRevoked()': 'Key has already been revoked.',
111
+ 'KeyAuthorizationWitnessAlreadyBurned()': 'Key authorization witness has already been burned.',
112
+ 'KeyExpired()': 'Key has expired.',
113
+ 'KeyNotFound()': 'Key not found.',
114
+ 'LeaderAlreadyUpdatedThisBlock()': 'The leader has already been updated in this block.',
115
+ 'LegacyAuthorizeKeySelectorChanged(bytes4)': 'Legacy authorize key selector changed to {0}.',
116
+ 'LogoURITooLong()': 'Logo URI is too long.',
117
+ 'MasterIdCollision(address)': 'Master ID collision with {0}.',
118
+ 'MaxInputExceeded()': 'The required input exceeds the slippage maximum — try increasing slippage tolerance.',
119
+ 'MigrationNotComplete()': 'Migration is not complete.',
120
+ 'MustDelegateCall()': 'A delegate call is required.',
121
+ 'NoEncryptionKeyAtBlock(uint64)': 'No encryption key exists at block {0}.',
122
+ 'NoEncryptionKeySet()': 'No encryption key is set.',
123
+ 'NoOptedInSupply()': 'No opted-in supply.',
124
+ 'NonceOverflow()': 'Nonce overflow.',
125
+ 'NotAdmin()': 'The caller is not the administrator.',
126
+ 'NotFactory()': 'The caller is not the factory.',
127
+ 'NotHostPort(string,string,string)': '"{1}" is not a valid host:port for {0}.',
128
+ 'NotInitialized()': 'Not initialized.',
129
+ 'NotIp(string,string)': '"{0}" is not a valid IP address.',
130
+ 'NotIpPort(string,string)': '"{0}" is not a valid IP:port.',
131
+ 'NotIpPort(string,string,string)': '"{1}" is not a valid IP:port for {0}.',
132
+ 'NotOwner()': 'The caller is not an owner.',
133
+ 'NotPauseAuthority()': 'The caller is not the pause authority.',
134
+ 'NotPayeeOrOperator()': 'Not payee or operator.',
135
+ 'NotPayer()': 'Not payer.',
136
+ 'NotPendingAdmin()': 'The caller is not the pending administrator.',
137
+ 'NotSelf()': 'The caller must be the contract itself.',
138
+ 'NotSequencer()': 'The caller is not a sequencer.',
139
+ 'OnlyDirectCall()': 'A direct call is required.',
140
+ 'OrderDoesNotExist()': 'No order exists with the given ID.',
141
+ 'OrderNotStale()': 'This order is not yet eligible for stale-cleanup.',
142
+ 'PairAlreadyExists()': 'A trading pair for these tokens has already been created.',
143
+ 'PairDoesNotExist()': 'No trading pair exists for these tokens.',
144
+ 'PermitExpired()': 'Permit has expired.',
145
+ 'PolicyForbids()': 'Forbidden by policy.',
146
+ 'PolicyNotFound()': 'Policy not found.',
147
+ 'PolicyNotSimple()': 'Policy is not a simple policy.',
148
+ 'PortalIsPaused()': 'The portal is paused.',
149
+ 'ProofOfWorkFailed()': 'Proof of work failed.',
150
+ 'ProtectedAddress()': 'Address is protected.',
151
+ 'ProtocolNonceNotSupported()': 'Protocol nonce is not supported.',
152
+ 'PublicKeyAlreadyExists()': 'Public key already exists.',
153
+ 'ReentrantWithdrawal()': 'Reentrant withdrawals are not allowed.',
154
+ 'SequencerConfigurationUnchanged()': 'The sequencer configuration is unchanged.',
155
+ 'SignatureTypeMismatch(uint8,uint8)': 'Signature type mismatch. Expected {0}, got {1}.',
156
+ 'SpendingLimitExceeded()': 'Spending limit exceeded.',
157
+ 'StaleLeadershipEpoch(uint64,uint64)': 'Stale leadership epoch. Expected {0}, got {1}.',
158
+ 'SupplyCapExceeded()': 'Supply cap exceeded.',
159
+ 'TickOutOfBounds(int16)': 'Price tick {0} is outside the allowed range.',
160
+ 'TokenAlreadyEnabled()': 'The token is already enabled.',
161
+ 'TokenAlreadyExists(address)': 'Token {0} already exists.',
162
+ 'TokenEnablementBlockCapacityExceeded(uint64)': 'The token enablement capacity per block exceeds the maximum ({0}).',
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 = decodeErrorResult({ abi: Abis.core, data });
265
+ const template = messages[formatAbiItem(decoded.abiItem)];
266
+ return {
267
+ ...decoded,
268
+ data,
269
+ message: template
270
+ ? interpolate(template, decoded.args)
271
+ : raw.replace(/^execution reverted:\s*/i, ''),
272
+ };
273
+ }
274
+ catch {
275
+ if (data.length === 10) {
276
+ const abiItem = Abis.core.find((item) => item.type === 'error' &&
277
+ toFunctionSelector(formatAbiItem(item)) === data.toLowerCase());
278
+ if (abiItem?.type === 'error')
279
+ return {
280
+ abiItem,
281
+ args: undefined,
282
+ data,
283
+ errorName: abiItem.name,
284
+ message: messages[formatAbiItem(abiItem)],
285
+ };
286
+ }
287
+ }
288
+ }
289
+ // Human-readable names cannot distinguish overloads with different templates.
290
+ const nameMatch = /:\s*(\w+)\(([^)]*)\)/.exec(raw);
291
+ if (nameMatch) {
292
+ const templates = Object.entries(messages).filter(([signature]) => signature.startsWith(`${nameMatch[1]}(`));
293
+ const template = nameMatch[2] === ''
294
+ ? messages[`${nameMatch[1]}()`]
295
+ : templates.length === 1
296
+ ? templates[0]?.[1]
297
+ : undefined;
298
+ if (template)
299
+ return { errorName: 'unknown', message: template };
300
+ }
301
+ return {
302
+ errorName: 'unknown',
303
+ message: raw.replace(/^execution reverted:\s*/i, ''),
304
+ };
305
+ }
306
+ //# sourceMappingURL=ExecutionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionError.js","sourceRoot":"","sources":["../../tempo/ExecutionError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ import * as RpcResponse from 'ox/RpcResponse';
2
+ import { ChainNotConfiguredError } from '../clients/createClientResolver.js';
3
+ import * as Sponsorship from './internal/relay/feePayer.js';
4
+ import * as FeeToken from './internal/relay/feeToken.js';
5
+ import * as Multisig from './internal/relay/multisig.js';
6
+ import * as Request_ from './internal/relay/request.js';
7
+ import * as Simulate from './internal/relay/simulate.js';
8
+ import * as internal from './internal/relay.js';
9
+ export function create(options) {
10
+ if (Boolean(options.client) === Boolean(options.getClient))
11
+ throw new RpcResponse.InvalidParamsError({
12
+ message: 'Expected exactly one of client or getClient.',
13
+ });
14
+ const clientChainId = options.client?.chain?.id;
15
+ if (options.client &&
16
+ (!Number.isSafeInteger(clientChainId) ||
17
+ !clientChainId ||
18
+ clientChainId <= 0))
19
+ throw new RpcResponse.InvalidParamsError({
20
+ message: 'Expected a client with a configured chain.',
21
+ });
22
+ const getClient = (chainId) => {
23
+ try {
24
+ const client = options.client ?? options.getClient({ chainId });
25
+ if (client.chain.id !== chainId)
26
+ throw new RpcResponse.InvalidParamsError({
27
+ message: 'Conflicting chain ids.',
28
+ });
29
+ return client;
30
+ }
31
+ catch (error) {
32
+ if (error instanceof ChainNotConfiguredError)
33
+ throw new RpcResponse.InvalidParamsError({
34
+ message: error.shortMessage,
35
+ });
36
+ throw error;
37
+ }
38
+ };
39
+ const handle = Request_.compose(async (request, requestOptions) => {
40
+ const { chainId, response: _, ...rest } = requestOptions ?? {};
41
+ if (chainId === undefined)
42
+ throw new RpcResponse.InvalidParamsError({
43
+ message: 'A chain ID is required to resolve the downstream client.',
44
+ });
45
+ return getClient(chainId).request(request, rest);
46
+ }, options, getClient);
47
+ const request = (request, requestOptions) => {
48
+ const chainId = requestOptions?.chainId ?? clientChainId;
49
+ if (chainId !== undefined &&
50
+ (!Number.isSafeInteger(chainId) || chainId <= 0))
51
+ return Promise.reject(new RpcResponse.InvalidParamsError({
52
+ message: 'Expected a valid chain ID.',
53
+ }));
54
+ if (clientChainId !== undefined && chainId !== clientChainId)
55
+ return Promise.reject(new RpcResponse.InvalidParamsError({
56
+ message: 'Conflicting chain ids.',
57
+ }));
58
+ return handle(request, { ...requestOptions, chainId });
59
+ };
60
+ return {
61
+ request,
62
+ fetch: (request_, options = {}) => internal.fetch(request_, request, options),
63
+ };
64
+ }
65
+ /**
66
+ * Creates an RPC request handler by composing relay plugins around a downstream handler.
67
+ *
68
+ * Requests enter plugins in array order, and responses return in reverse order.
69
+ * Post-fill hooks run concurrently after middleware finishes. Middleware sees
70
+ * the downstream result before post-fill enrichment and signing.
71
+ * Without plugins, the downstream handler is returned unchanged. Plugins decide
72
+ * whether to forward, transform, or handle a request. Errors propagate unchanged
73
+ * unless a plugin handles them.
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * import { http } from 'viem'
78
+ * import { Relay } from 'viem/tempo'
79
+ *
80
+ * const rpc = http('https://rpc.tempo.xyz')({})
81
+ * const handle = Relay.handleRequest(rpc.request, {
82
+ * plugins: [
83
+ * {
84
+ * async handleRequest(context, next) {
85
+ * context.options.retryCount = 0
86
+ * await next()
87
+ * },
88
+ * },
89
+ * ],
90
+ * })
91
+ * const chainId = await handle({ method: 'eth_chainId' })
92
+ * // @log: '0x1079'
93
+ * ```
94
+ *
95
+ * @param next - Downstream RPC request handler, typically forwarding to the Tempo (Execution) RPC.
96
+ * @param options - Relay options.
97
+ * @returns The composed RPC request handler.
98
+ */
99
+ export function handleRequest(next, options = {}) {
100
+ return Request_.compose(next, options);
101
+ }
102
+ /**
103
+ * Coordinates native multisig approvals using shared atomic storage.
104
+ *
105
+ * Memory storage is process-local. Independent clients and multiple server
106
+ * instances must use the same persistent store to share pending approvals.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * import { http } from 'viem'
111
+ * import { Relay, Store, withRelay } from 'viem/tempo'
112
+ *
113
+ * const transport = withRelay(http(), {
114
+ * plugins: [Relay.multisig({ store: Store.memory() })],
115
+ * })
116
+ * ```
117
+ *
118
+ * @param options - Shared atomic storage.
119
+ * @returns A plugin that coordinates multisig requests and forwards other calls.
120
+ */
121
+ export function multisig(options) {
122
+ return Multisig.create(options);
123
+ }
124
+ /**
125
+ * Sponsors transactions with a local account or an external fee-payer relay.
126
+ *
127
+ * Place multisig before this plugin and fee-token selection after it.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * import { privateKeyToAccount } from 'viem/accounts'
132
+ * import { Relay } from 'viem/tempo'
133
+ * const plugin = Relay.feePayer({ account: privateKeyToAccount('0x...') })
134
+ * ```
135
+ * @param options - Sponsor account, policy, and display metadata.
136
+ * @returns A fee-payer relay plugin.
137
+ */
138
+ export function feePayer(options = {}) {
139
+ return Sponsorship.create(options);
140
+ }
141
+ /**
142
+ * Resolves fee tokens from user preferences and token balances.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * import { Relay } from 'viem/tempo'
147
+ * const plugin = Relay.feeToken()
148
+ * ```
149
+ * @returns A fee-token relay plugin.
150
+ */
151
+ export function feeToken() {
152
+ return FeeToken.create();
153
+ }
154
+ /**
155
+ * Adds balance changes, estimated fees, and execution errors to fill capabilities.
156
+ *
157
+ * Runs after transaction middleware to simulate the final filled result.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * import { Relay } from 'viem/tempo'
162
+ * const plugin = Relay.simulate()
163
+ * ```
164
+ * @param options - Optional metadata store.
165
+ * @returns A simulation relay plugin.
166
+ */
167
+ export function simulate(options = {}) {
168
+ return Simulate.create(options);
169
+ }
170
+ //# sourceMappingURL=Relay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Relay.js","sourceRoot":"","sources":["../../tempo/Relay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../tempo/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../tempo/Transaction.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ import { createClient } from '../clients/createClient.js';
10
10
  import { createTransport, } from '../clients/transports/createTransport.js';
11
11
  import { http as http_, } from '../clients/transports/http.js';
12
12
  import { MethodNotFoundRpcError, MethodNotSupportedRpcError, } from '../errors/rpc.js';
13
- import * as Multisig from './Multisig.js';
13
+ import * as Plugin_ from './internal/relay/plugin.js';
14
+ import * as Request_ from './internal/relay/request.js';
14
15
  import * as Store_ from './Store.js';
15
16
  import * as Transaction from './Transaction.js';
16
17
  /**
@@ -48,52 +49,26 @@ export function http(url, config = {}) {
48
49
  },
49
50
  })(config);
50
51
  }
51
- /**
52
- * Wraps a transport with native multisig request handling.
53
- *
54
- * @example
55
- * ```ts
56
- * import { http, Store, withMultisig } from 'viem/tempo'
57
- *
58
- * const transport = withMultisig(http(), {
59
- * store: Store.memory(),
60
- * })
61
- * ```
62
- *
63
- * @param transport - Transport to wrap.
64
- * @param parameters - Multisig request handler parameters.
65
- * @returns The wrapped transport.
66
- * @experimental
67
- */
68
- export function withMultisig(transport, parameters) {
69
- return ((options) => {
70
- const value = transport(options);
71
- return {
72
- ...value,
73
- request: Multisig.handleRequest((request, requestOptions) => value.request(request, requestOptions), parameters),
74
- value: { ...value.value, multisig: true },
75
- };
76
- });
77
- }
78
- /**
79
- * Creates a relay transport that routes requests between
80
- * the default transport or the relay transport.
81
- *
82
- * All `eth_fillTransaction` requests are sent to the relay with the request's
83
- * `feePayer` value preserved so the relay can decide whether to sponsor the transaction.
84
- * Multisig approvals, configs, operations, and operation-aware transaction
85
- * lookups are also sent to the relay so it can coordinate approvals in its store.
86
- *
87
- * The policy parameter controls how the relay handles sponsored transactions:
88
- * - `'sign-only'`: Relay co-signs the transaction and returns it to the client transport, which then broadcasts it via the default transport
89
- * - `'sign-and-broadcast'`: Relay co-signs and broadcasts the transaction directly
90
- *
91
- * @param defaultTransport - The default transport to use.
92
- * @param relayTransport - The relay transport to use.
93
- * @param parameters - Configuration parameters.
94
- * @returns A relay transport.
95
- */
96
52
  export function withRelay(defaultTransport, relayTransport, parameters) {
53
+ if (typeof relayTransport !== 'function')
54
+ return (config) => {
55
+ const transport = defaultTransport(config);
56
+ const next = (request, options) => transport.request(request, options);
57
+ const request = Request_.compose(next, relayTransport, config.chain ? () => ({ chain: config.chain }) : undefined);
58
+ return {
59
+ ...transport,
60
+ request: ((request_, options) => request(request_, {
61
+ chainId: config.chain?.id,
62
+ ...options,
63
+ })),
64
+ value: {
65
+ ...transport.value,
66
+ ...(relayTransport.plugins?.some(Plugin_.isMultisig)
67
+ ? { multisig: true }
68
+ : {}),
69
+ },
70
+ };
71
+ };
97
72
  const { policy = 'sign-only' } = parameters ?? {};
98
73
  return (config) => {
99
74
  const transport_default = defaultTransport(config);