viem 3.0.0-next.12 → 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 (185) hide show
  1. package/dist/chains/definitions/creditCoin3Devnet.d.ts +6 -0
  2. package/dist/chains/definitions/creditCoin3Devnet.d.ts.map +1 -1
  3. package/dist/chains/definitions/creditCoin3Devnet.js +6 -0
  4. package/dist/chains/definitions/creditCoin3Devnet.js.map +1 -1
  5. package/dist/chains/definitions/creditCoin3Mainnet.d.ts +5 -1
  6. package/dist/chains/definitions/creditCoin3Mainnet.d.ts.map +1 -1
  7. package/dist/chains/definitions/creditCoin3Mainnet.js +4 -0
  8. package/dist/chains/definitions/creditCoin3Mainnet.js.map +1 -1
  9. package/dist/chains/definitions/creditCoin3Testnet.d.ts +5 -1
  10. package/dist/chains/definitions/creditCoin3Testnet.d.ts.map +1 -1
  11. package/dist/chains/definitions/creditCoin3Testnet.js +4 -0
  12. package/dist/chains/definitions/creditCoin3Testnet.js.map +1 -1
  13. package/dist/chains/definitions/crymad.d.ts +25 -0
  14. package/dist/chains/definitions/crymad.d.ts.map +1 -0
  15. package/dist/chains/definitions/crymad.js +23 -0
  16. package/dist/chains/definitions/crymad.js.map +1 -0
  17. package/dist/chains/definitions/crymadL2.d.ts +26 -0
  18. package/dist/chains/definitions/crymadL2.d.ts.map +1 -0
  19. package/dist/chains/definitions/crymadL2.js +24 -0
  20. package/dist/chains/definitions/crymadL2.js.map +1 -0
  21. package/dist/chains/definitions/kortana.d.ts +18 -0
  22. package/dist/chains/definitions/kortana.d.ts.map +1 -0
  23. package/dist/chains/definitions/kortana.js +16 -0
  24. package/dist/chains/definitions/kortana.js.map +1 -0
  25. package/dist/chains/index.d.ts +3 -0
  26. package/dist/chains/index.d.ts.map +1 -1
  27. package/dist/chains/index.js +3 -0
  28. package/dist/chains/index.js.map +1 -1
  29. package/dist/core/actions/wallet/sendCalls.d.ts.map +1 -1
  30. package/dist/core/actions/wallet/sendCalls.js +1 -0
  31. package/dist/core/actions/wallet/sendCalls.js.map +1 -1
  32. package/dist/erc4337/actions/userOperation/waitForReceipt.js +1 -1
  33. package/dist/erc4337/actions/userOperation/waitForReceipt.js.map +1 -1
  34. package/dist/node/transports/ipc.d.ts.map +1 -1
  35. package/dist/node/transports/ipc.js +20 -2
  36. package/dist/node/transports/ipc.js.map +1 -1
  37. package/dist/tempo/Abis.d.ts +778 -174
  38. package/dist/tempo/Abis.d.ts.map +1 -1
  39. package/dist/tempo/Abis.js +178 -37
  40. package/dist/tempo/Abis.js.map +1 -1
  41. package/dist/tempo/Capabilities.d.ts +7 -13
  42. package/dist/tempo/Capabilities.d.ts.map +1 -1
  43. package/dist/tempo/Client.d.ts +0 -5
  44. package/dist/tempo/Client.d.ts.map +1 -1
  45. package/dist/tempo/Client.js +3 -10
  46. package/dist/tempo/Client.js.map +1 -1
  47. package/dist/tempo/ExecutionError.d.ts +81 -0
  48. package/dist/tempo/ExecutionError.d.ts.map +1 -0
  49. package/dist/tempo/ExecutionError.js +309 -0
  50. package/dist/tempo/ExecutionError.js.map +1 -0
  51. package/dist/tempo/Relay.d.ts +303 -0
  52. package/dist/tempo/Relay.d.ts.map +1 -0
  53. package/dist/tempo/Relay.js +170 -0
  54. package/dist/tempo/Relay.js.map +1 -0
  55. package/dist/tempo/Selectors.d.ts +16 -5
  56. package/dist/tempo/Selectors.d.ts.map +1 -1
  57. package/dist/tempo/Selectors.js +16 -5
  58. package/dist/tempo/Selectors.js.map +1 -1
  59. package/dist/tempo/Transport.d.ts +11 -11
  60. package/dist/tempo/Transport.d.ts.map +1 -1
  61. package/dist/tempo/Transport.js +22 -51
  62. package/dist/tempo/Transport.js.map +1 -1
  63. package/dist/tempo/actions/token/burn.d.ts +38 -9
  64. package/dist/tempo/actions/token/burn.d.ts.map +1 -1
  65. package/dist/tempo/actions/token/burn.js +12 -5
  66. package/dist/tempo/actions/token/burn.js.map +1 -1
  67. package/dist/tempo/actions/token/burnSync.d.ts +2 -0
  68. package/dist/tempo/actions/token/burnSync.d.ts.map +1 -1
  69. package/dist/tempo/chainConfig.d.ts +4 -5
  70. package/dist/tempo/chainConfig.d.ts.map +1 -1
  71. package/dist/tempo/chainConfig.js +6 -1
  72. package/dist/tempo/chainConfig.js.map +1 -1
  73. package/dist/tempo/index.d.ts +5 -3
  74. package/dist/tempo/index.d.ts.map +1 -1
  75. package/dist/tempo/index.js +5 -3
  76. package/dist/tempo/index.js.map +1 -1
  77. package/dist/tempo/internal/relay/cache.d.ts +9 -0
  78. package/dist/tempo/internal/relay/cache.d.ts.map +1 -0
  79. package/dist/tempo/internal/relay/cache.js +72 -0
  80. package/dist/tempo/internal/relay/cache.js.map +1 -0
  81. package/dist/tempo/internal/relay/deadline.d.ts +4 -0
  82. package/dist/tempo/internal/relay/deadline.d.ts.map +1 -0
  83. package/dist/tempo/internal/relay/deadline.js +34 -0
  84. package/dist/tempo/internal/relay/deadline.js.map +1 -0
  85. package/dist/tempo/internal/relay/error.d.ts +47 -0
  86. package/dist/tempo/internal/relay/error.d.ts.map +1 -0
  87. package/dist/tempo/internal/relay/error.js +101 -0
  88. package/dist/tempo/internal/relay/error.js.map +1 -0
  89. package/dist/tempo/internal/relay/feePayer.d.ts +70 -0
  90. package/dist/tempo/internal/relay/feePayer.d.ts.map +1 -0
  91. package/dist/tempo/internal/relay/feePayer.js +442 -0
  92. package/dist/tempo/internal/relay/feePayer.js.map +1 -0
  93. package/dist/tempo/internal/relay/feeToken.d.ts +38 -0
  94. package/dist/tempo/internal/relay/feeToken.d.ts.map +1 -0
  95. package/dist/tempo/internal/relay/feeToken.js +143 -0
  96. package/dist/tempo/internal/relay/feeToken.js.map +1 -0
  97. package/dist/tempo/internal/relay/multisig.d.ts +4 -0
  98. package/dist/tempo/internal/relay/multisig.d.ts.map +1 -0
  99. package/dist/tempo/{Multisig.js → internal/relay/multisig.js} +134 -126
  100. package/dist/tempo/internal/relay/multisig.js.map +1 -0
  101. package/dist/tempo/internal/relay/plugin.d.ts +5 -0
  102. package/dist/tempo/internal/relay/plugin.d.ts.map +1 -0
  103. package/dist/tempo/internal/relay/plugin.js +10 -0
  104. package/dist/tempo/internal/relay/plugin.js.map +1 -0
  105. package/dist/tempo/internal/relay/preflight.d.ts +17 -0
  106. package/dist/tempo/internal/relay/preflight.d.ts.map +1 -0
  107. package/dist/tempo/internal/relay/preflight.js +53 -0
  108. package/dist/tempo/internal/relay/preflight.js.map +1 -0
  109. package/dist/tempo/internal/relay/request.d.ts +16 -0
  110. package/dist/tempo/internal/relay/request.d.ts.map +1 -0
  111. package/dist/tempo/internal/relay/request.js +327 -0
  112. package/dist/tempo/internal/relay/request.js.map +1 -0
  113. package/dist/tempo/internal/relay/simulate.d.ts +62 -0
  114. package/dist/tempo/internal/relay/simulate.d.ts.map +1 -0
  115. package/dist/tempo/internal/relay/simulate.js +284 -0
  116. package/dist/tempo/internal/relay/simulate.js.map +1 -0
  117. package/dist/tempo/internal/relay/utils.d.ts +346 -0
  118. package/dist/tempo/internal/relay/utils.d.ts.map +1 -0
  119. package/dist/tempo/internal/relay/utils.js +185 -0
  120. package/dist/tempo/internal/relay/utils.js.map +1 -0
  121. package/dist/tempo/internal/relay/virtualAddress.d.ts +9 -0
  122. package/dist/tempo/internal/relay/virtualAddress.d.ts.map +1 -0
  123. package/dist/tempo/internal/relay/virtualAddress.js +73 -0
  124. package/dist/tempo/internal/relay/virtualAddress.js.map +1 -0
  125. package/dist/tempo/internal/relay.d.ts +4 -0
  126. package/dist/tempo/internal/relay.d.ts.map +1 -0
  127. package/dist/tempo/internal/relay.js +132 -0
  128. package/dist/tempo/internal/relay.js.map +1 -0
  129. package/dist/tokens/definitions/ousd.d.ts +26 -0
  130. package/dist/tokens/definitions/ousd.d.ts.map +1 -0
  131. package/dist/tokens/definitions/ousd.js +26 -0
  132. package/dist/tokens/definitions/ousd.js.map +1 -0
  133. package/dist/tokens/index.d.ts +2 -0
  134. package/dist/tokens/index.d.ts.map +1 -1
  135. package/dist/tokens/index.js +2 -0
  136. package/dist/tokens/index.js.map +1 -1
  137. package/dist/tokens/sets.d.ts +33 -0
  138. package/dist/tokens/sets.d.ts.map +1 -1
  139. package/dist/tokens/sets.js +4 -1
  140. package/dist/tokens/sets.js.map +1 -1
  141. package/dist/version.d.ts +1 -1
  142. package/dist/version.js +1 -1
  143. package/package.json +1 -1
  144. package/src/chains/definitions/creditCoin3Devnet.ts +6 -0
  145. package/src/chains/definitions/creditCoin3Mainnet.ts +4 -0
  146. package/src/chains/definitions/creditCoin3Testnet.ts +4 -0
  147. package/src/chains/definitions/crymad.ts +23 -0
  148. package/src/chains/definitions/crymadL2.ts +24 -0
  149. package/src/chains/definitions/kortana.ts +16 -0
  150. package/src/chains/index.ts +3 -0
  151. package/src/core/actions/wallet/sendCalls.ts +1 -0
  152. package/src/erc4337/actions/userOperation/waitForReceipt.ts +1 -1
  153. package/src/node/transports/ipc.ts +17 -2
  154. package/src/tempo/Abis.ts +179 -37
  155. package/src/tempo/Account.ts +1 -1
  156. package/src/tempo/Capabilities.ts +7 -15
  157. package/src/tempo/Client.ts +3 -23
  158. package/src/tempo/ExecutionError.ts +428 -0
  159. package/src/tempo/Relay.ts +430 -0
  160. package/src/tempo/Selectors.ts +25 -11
  161. package/src/tempo/Transport.ts +71 -41
  162. package/src/tempo/actions/token/burn.ts +21 -9
  163. package/src/tempo/actions/token/burnSync.ts +2 -0
  164. package/src/tempo/chainConfig.ts +9 -6
  165. package/src/tempo/index.ts +7 -4
  166. package/src/tempo/internal/relay/cache.ts +82 -0
  167. package/src/tempo/internal/relay/deadline.ts +45 -0
  168. package/src/tempo/internal/relay/error.ts +129 -0
  169. package/src/tempo/internal/relay/feePayer.ts +693 -0
  170. package/src/tempo/internal/relay/feeToken.ts +190 -0
  171. package/src/tempo/{Multisig.ts → internal/relay/multisig.ts} +165 -193
  172. package/src/tempo/internal/relay/plugin.ts +13 -0
  173. package/src/tempo/internal/relay/preflight.ts +83 -0
  174. package/src/tempo/internal/relay/request.ts +401 -0
  175. package/src/tempo/internal/relay/simulate.ts +394 -0
  176. package/src/tempo/internal/relay/utils.ts +213 -0
  177. package/src/tempo/internal/relay/virtualAddress.ts +95 -0
  178. package/src/tempo/internal/relay.ts +149 -0
  179. package/src/tokens/definitions/ousd.ts +26 -0
  180. package/src/tokens/index.ts +2 -0
  181. package/src/tokens/sets.ts +4 -1
  182. package/src/version.ts +1 -1
  183. package/dist/tempo/Multisig.d.ts +0 -39
  184. package/dist/tempo/Multisig.d.ts.map +0 -1
  185. package/dist/tempo/Multisig.js.map +0 -1
@@ -1,6 +1,7 @@
1
- import type { AbiItem, Address, Hex } from 'ox';
1
+ import type * as ExecutionError from './ExecutionError.js';
2
+ import type { Address, Hex } from 'ox';
2
3
  import type { TransactionRequest } from 'ox/tempo';
3
- import type { ExactPartial, OneOf } from '../core/internal/types.js';
4
+ import type { ExactPartial } from '../core/internal/types.js';
4
5
  /** Tempo capability schema, keyed by RPC method. */
5
6
  export type Schema = {
6
7
  fillTransaction: {
@@ -15,6 +16,8 @@ export type Schema = {
15
16
  export type FillTransactionRequestCapabilities = {
16
17
  /** Whether to include `balanceDiffs` in the response. */
17
18
  balanceDiffs?: boolean | undefined;
19
+ /** Whether execution reverts return error capabilities instead of throwing. */
20
+ errors?: boolean | undefined;
18
21
  };
19
22
  /** Capabilities returned by `eth_fillTransaction`. */
20
23
  export type FillTransactionCapabilities = {
@@ -29,23 +32,14 @@ export type FillTransactionCapabilities = {
29
32
  slippage: number;
30
33
  } | undefined;
31
34
  balanceDiffs?: Readonly<Record<Address.Address, readonly BalanceDiff[]>> | undefined;
32
- error?: OneOf<{
33
- abiItem: AbiItem.AbiItem;
34
- args: readonly unknown[] | undefined;
35
- data: Hex.Hex;
36
- errorName: string;
37
- message: string;
38
- } | {
39
- errorName: 'unknown';
40
- message: string;
41
- }> | undefined;
35
+ error?: ExecutionError.Rpc | undefined;
42
36
  fee?: {
43
37
  amount: Hex.Hex;
44
38
  decimals: number;
45
39
  formatted: string;
46
40
  symbol: string;
47
41
  } | undefined;
48
- requireFunds?: {
42
+ insufficientFunds?: {
49
43
  amount: Hex.Hex;
50
44
  decimals: number;
51
45
  formatted: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../src/tempo/Capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Capabilities.d.ts","sourceRoot":"","sources":["../../src/tempo/Capabilities.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ import { walletActions } from '../core/actions/decorators/wallet.js';
9
9
  import { tokens as tokenSets } from '../tokens/sets.js';
10
10
  import { tempo } from './Chain.js';
11
11
  import { type Decorator } from './Decorator.js';
12
- import * as Store from './Store.js';
13
12
  /** A Tempo {@link viem_Client.Client}: the base Client decorated with public, wallet, and Tempo actions. */
14
13
  export type Client<chain extends Chain.Chain | undefined = Chain.Chain | undefined, account extends Account.Account | undefined = Account.Account | undefined, transport extends Transport.Transport = Transport.Transport, tokens extends Token.Tokens | undefined = Token.Tokens | undefined, schema extends RpcSchema.Generic = RpcSchema.Generic> = viem_Client.Client<chain, account, transport, tokens, schema, Omit<publicActions.Decorator<chain, account, tokens> & walletActions.Decorator<chain, account, tokens>, 'token'> & Decorator<chain, account>>;
15
14
  /**
@@ -64,10 +63,6 @@ export declare namespace create {
64
63
  * @default tempo (or `tempoModerato` when `testnet` is truthy)
65
64
  */
66
65
  chain?: chain | Chain.Chain | undefined;
67
- /** Enables native multisig approval coordination with a local or shared store. */
68
- experimental_multisig?: true | {
69
- store: Store.Atomic;
70
- } | undefined;
71
66
  /**
72
67
  * Default fee token for the Client. Extended onto the chain so it applies
73
68
  * to every transaction sent with the Client.
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/tempo/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/tempo/Client.ts"],"names":[],"mappings":"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"}
@@ -4,26 +4,19 @@ import { walletActions } from '../core/actions/decorators/wallet.js';
4
4
  import { tokens as tokenSets } from '../tokens/sets.js';
5
5
  import { tempo, tempoModerato } from './Chain.js';
6
6
  import { tempoActions } from './Decorator.js';
7
- import * as Store from './Store.js';
8
- import { http, withMultisig } from './Transport.js';
7
+ import { http } from './Transport.js';
9
8
  export function create(options = {}) {
10
- const { chain, experimental_multisig, feeToken, testnet, tokens, transport, ...rest } = options;
9
+ const { chain, feeToken, testnet, tokens, transport, ...rest } = options;
11
10
  const baseChain = (chain ?? (testnet ? tempoModerato : tempo));
12
11
  const resolvedChain = feeToken && typeof baseChain?.extend === 'function'
13
12
  ? baseChain.extend({ feeToken })
14
13
  : baseChain;
15
- const transport_ = transport ?? http();
16
- const resolvedTransport = experimental_multisig
17
- ? withMultisig(transport_, experimental_multisig === true
18
- ? { store: Store.memory() }
19
- : experimental_multisig)
20
- : transport_;
21
14
  return viem_Client
22
15
  .create({
23
16
  ...rest,
24
17
  chain: resolvedChain,
25
18
  tokens: tokens ?? tokenSets.tempo,
26
- transport: resolvedTransport,
19
+ transport: transport ?? http(),
27
20
  })
28
21
  .extend(publicActions())
29
22
  .extend(walletActions())
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/tempo/Client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAkB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAoFnD,MAAM,UAAU,MAAM,CAAC,OAAO,GAAmB,EAAE;IACjD,MAAM,EACJ,KAAK,EACL,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,GAAG,OAAO,CAAA;IACX,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAIhD,CAAA;IACb,MAAM,aAAa,GACjB,QAAQ,IAAI,OAAO,SAAS,EAAE,MAAM,KAAK,UAAU;QACjD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,EAAE,CAAA;IACtC,MAAM,iBAAiB,GAAG,qBAAqB;QAC7C,CAAC,CAAC,YAAY,CACV,UAAU,EACV,qBAAqB,KAAK,IAAI;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE;YAC3B,CAAC,CAAC,qBAAqB,CAC1B;QACH,CAAC,CAAC,UAAU,CAAA;IACd,OAAO,WAAW;SACf,MAAM,CAAC;QACN,GAAG,IAAI;QACP,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC,KAAK;QACjC,SAAS,EAAE,iBAAiB;KACC,CAAC;SAC/B,MAAM,CAAC,aAAa,EAAE,CAAC;SACvB,MAAM,CAAC,aAAa,EAAE,CAAC;SACvB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/tempo/Client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAkB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAoFrC,MAAM,UAAU,MAAM,CAAC,OAAO,GAAmB,EAAE;IACjD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACxE,MAAM,SAAS,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAIhD,CAAA;IACb,MAAM,aAAa,GACjB,QAAQ,IAAI,OAAO,SAAS,EAAE,MAAM,KAAK,UAAU;QACjD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,SAAS,CAAA;IACf,OAAO,WAAW;SACf,MAAM,CAAC;QACN,GAAG,IAAI;QACP,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC,KAAK;QACjC,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE;KACD,CAAC;SAC/B,MAAM,CAAC,aAAa,EAAE,CAAC;SACvB,MAAM,CAAC,aAAa,EAAE,CAAC;SACvB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,81 @@
1
+ import type { Hex } from 'ox/Hex';
2
+ import { AbiError } from 'ox';
3
+ import type { UnionOmit } from '../core/internal/types.js';
4
+ import * as Abis from './Abis.js';
5
+ type AllAbis = typeof Abis.core;
6
+ type AbiErrorName = Extract<AllAbis[number], {
7
+ type: 'error';
8
+ }>['name'];
9
+ type DecodedError<error = AbiError.extract.ReturnType<AbiError.extract.ExtractError<AllAbis>>> = error extends AbiError.extract.ReturnType<AbiError.extract.ExtractError<AllAbis>> ? {
10
+ abiItem: error['error'];
11
+ errorName: error['error']['name'];
12
+ args: error['args'] | undefined;
13
+ data: Hex;
14
+ message: string;
15
+ } : never;
16
+ /** Decoded execution error from a Tempo precompile revert or selector. */
17
+ export type ExecutionError = DecodedError | {
18
+ errorName: 'unknown';
19
+ message: string;
20
+ };
21
+ /** Execution error metadata suitable for JSON serialization. */
22
+ export type Rpc = UnionOmit<DecodedError, 'args'> | Extract<ExecutionError, {
23
+ errorName: 'unknown';
24
+ }>;
25
+ /** Human-readable templates keyed by error signature in `Abis.core`, with positional `{0}` placeholders. */
26
+ export declare const messages: Record<`${AbiErrorName}(${string})`, string>;
27
+ /**
28
+ * Decorates a copy of an error with decoded Tempo execution details.
29
+ *
30
+ * Preserves the input's prototype, stack, cause, and custom properties.
31
+ * Hex input can be a selector or full revert data. Without arguments,
32
+ * message placeholders remain uninterpolated.
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * import { ExecutionError } from 'viem/tempo'
37
+ *
38
+ * const error = ExecutionError.from('0x82b42900')
39
+ * error.message
40
+ * // @log: 'Unauthorized.'
41
+ * ```
42
+ *
43
+ * @param error - Error instance, plain error object, selector, or revert data.
44
+ * @returns A decorated copy, leaving the original input unchanged.
45
+ */
46
+ export declare function from<error extends from.Parameters>(error: error): from.ReturnType<error>;
47
+ export declare namespace from {
48
+ /** Error instance, plain error object, or ABI-encoded selector or revert data. */
49
+ type Parameters = Error | Hex | {
50
+ /** ABI-encoded revert data. */
51
+ data?: Hex | {
52
+ data: Hex;
53
+ } | undefined;
54
+ /** Fallback message when revert data cannot be decoded. */
55
+ message: string;
56
+ };
57
+ /** Original properties with decoded execution fields taking precedence. */
58
+ type ReturnType<error extends Parameters = Parameters, result extends ExecutionError = ExecutionError> = result extends ExecutionError ? Omit<error extends Hex ? {
59
+ data: error;
60
+ } : error, keyof result> & result : never;
61
+ }
62
+ /**
63
+ * Selects execution metadata for JSON serialization.
64
+ *
65
+ * Omits decoded arguments and original error properties, including the stack and cause.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * import { ExecutionError } from 'viem/tempo'
70
+ *
71
+ * const error = ExecutionError.from(new Error('execution reverted: failed'))
72
+ * const rpc = ExecutionError.serialize(error)
73
+ * // { errorName: 'unknown', message: 'failed' }
74
+ * ```
75
+ *
76
+ * @param preimage - Decorated execution error.
77
+ * @returns Execution error without decoded arguments.
78
+ */
79
+ export declare function serialize(preimage: ExecutionError): Rpc;
80
+ export {};
81
+ //# sourceMappingURL=ExecutionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionError.d.ts","sourceRoot":"","sources":["../../src/tempo/ExecutionError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAW,MAAM,IAAI,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,KAAK,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,CAAA;AAC/B,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvE,KAAK,YAAY,CACf,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAE3E,KAAK,SAAS,QAAQ,CAAC,OAAO,CAAC,UAAU,CACvC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CACvC,GACG;IACE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACvB,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC/B,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,EAAE,MAAM,CAAA;CAChB,GACD,KAAK,CAAA;AAEX,0EAA0E;AAC1E,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7C,gEAAgE;AAChE,MAAM,MAAM,GAAG,GACX,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,cAAc,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC,CAAA;AAErD,4GAA4G;AAC5G,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,GAAG,YAAY,IAAI,MAAM,GAAG,EAAE,MAAM,CAqMjE,CAAA;AAWD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,UAAU,EAChD,KAAK,EAAE,KAAK,GACX,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AA8BzB,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,kFAAkF;IAClF,KAAY,UAAU,GAClB,KAAK,GACL,GAAG,GACH;QACE,+BAA+B;QAC/B,IAAI,CAAC,EAAE,GAAG,GAAG;YAAE,IAAI,EAAE,GAAG,CAAA;SAAE,GAAG,SAAS,CAAA;QACtC,2DAA2D;QAC3D,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IAEL,2EAA2E;IAC3E,KAAY,UAAU,CACpB,KAAK,SAAS,UAAU,GAAG,UAAU,EACrC,MAAM,SAAS,cAAc,GAAG,cAAc,IAC5C,MAAM,SAAS,cAAc,GAC7B,IAAI,CAAC,KAAK,SAAS,GAAG,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,GAAG,KAAK,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GACxE,KAAK,CAAA;CACV;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,GAAG,CASvD"}
@@ -0,0 +1,309 @@
1
+ import { AbiError, AbiItem } from 'ox';
2
+ import * as Abis from './Abis.js';
3
+ /** Human-readable templates keyed by error signature in `Abis.core`, with positional `{0}` placeholders. */
4
+ export const messages = {
5
+ 'AbdicationAlreadyScheduled(uint8)': 'Abdication is already scheduled for capability {0}.',
6
+ 'AccountNotAllowed(address)': 'Account {0} is not allowed.',
7
+ 'ActiveLeaderRemoved()': 'The active leader cannot be removed.',
8
+ 'AddressAlreadyHasValidator()': 'This address already has a validator.',
9
+ 'AddressNotReserved()': 'Address is not reserved.',
10
+ 'AddressReserved()': 'Address is reserved.',
11
+ 'AlreadyInitialized()': 'Already initialized.',
12
+ 'AmountExceedsDeposit()': 'Amount exceeds deposit.',
13
+ 'AmountNotIncreasing()': 'Amount is not increasing.',
14
+ 'BelowMinimumOrderSize(uint128)': 'Order size is below the minimum allowed ({0}).',
15
+ 'CallNotAllowed()': 'This call is not allowed.',
16
+ 'CallbackDidNotReturnToZone()': 'The callback did not return to the zone.',
17
+ 'CallbackRejected()': 'The callback was rejected.',
18
+ 'CannotChangeWithinBlock()': 'Cannot change within the same block.',
19
+ 'CapabilityAbdicated(uint8)': 'Capability {0} has been abdicated.',
20
+ 'CaptureAmountInvalid()': 'Capture amount is invalid.',
21
+ 'ChannelAlreadyExists()': 'Channel already exists.',
22
+ 'ChannelNotFound()': 'Channel not found.',
23
+ 'CloseNotReady()': 'Channel is not ready to close.',
24
+ 'ContractPaused()': 'Contract is paused.',
25
+ 'DepositBlockCapacityExceeded(uint64)': 'The deposit capacity per block exceeds the maximum ({0}).',
26
+ 'DepositOverflow()': 'Deposit overflow.',
27
+ 'DepositTooSmall()': 'The deposit is too small.',
28
+ 'DepositsNotActive()': 'Deposits are not active.',
29
+ 'DivisionByZero()': 'Division by zero.',
30
+ 'DuplicateAllowedAccount()': 'The allowed account is duplicated.',
31
+ 'DuplicateOwner()': 'The owner is duplicated.',
32
+ 'DuplicateZoneGateway()': 'The zone gateway is duplicated.',
33
+ 'EmptyV1ValidatorSet()': 'Validator set is empty.',
34
+ 'EncryptionKeyExpired(uint256,uint64,uint64)': 'Encryption key {0} has expired.',
35
+ 'ExpiringNonceHashNotSet()': 'Expiring nonce hash is not set.',
36
+ 'ExpiringNonceReplay()': 'Expiring nonce has already been used.',
37
+ 'ExpiringNonceSetFull()': 'Expiring nonce set is full.',
38
+ 'ExpiryInPast()': 'Expiry is in the past.',
39
+ 'GasFeeRateTooHigh()': 'The gas fee rate is too high.',
40
+ 'IdenticalAddresses()': 'Addresses must be different.',
41
+ 'IdenticalTokens()': 'Cannot swap a token for itself — input and output tokens must be different.',
42
+ 'IncompatiblePolicyType()': 'Incompatible policy type.',
43
+ 'IndexAlreadySet()': 'The index is already set.',
44
+ 'IngressAlreadyExists(string)': 'Ingress "{0}" already exists.',
45
+ 'InsufficientAllowance()': 'Insufficient allowance.',
46
+ 'InsufficientBalance()': 'Insufficient balance.',
47
+ 'InsufficientBalance(uint256,uint256,address)': 'Insufficient balance. Required: {1}, available: {0}.',
48
+ 'InsufficientFeeTokenBalance()': 'Insufficient fee token balance.',
49
+ 'InsufficientLiquidity()': 'Not enough liquidity in the order book to fill this trade.',
50
+ 'InsufficientOutput()': 'The output amount is below the slippage minimum — try increasing slippage tolerance.',
51
+ 'InsufficientReserves()': 'Insufficient reserves.',
52
+ 'InvalidAccount()': 'Invalid account.',
53
+ 'InvalidAdmin()': 'Invalid administrator.',
54
+ 'InvalidAmount()': 'Invalid amount.',
55
+ 'InvalidBaseToken()': 'This token is not a valid base token for the requested pair.',
56
+ 'InvalidBouncebackRecipient()': 'Invalid bounceback recipient.',
57
+ 'InvalidCallScope()': 'Invalid call scope.',
58
+ 'InvalidCallbackTarget()': 'Invalid callback target.',
59
+ 'InvalidCiphertextLength(uint256,uint256)': 'Invalid ciphertext length. Expected {1}, got {0}.',
60
+ 'InvalidClaimAddress()': 'Invalid claim address.',
61
+ 'InvalidClosedLoopConfig()': 'Invalid closed-loop configuration.',
62
+ 'InvalidConfig()': 'Invalid configuration.',
63
+ 'InvalidCurrency()': 'Invalid currency.',
64
+ 'InvalidDepositTransition()': 'Invalid deposit transition.',
65
+ 'InvalidEncryptionKeyIndex(uint256)': 'Invalid encryption key index ({0}).',
66
+ 'InvalidEphemeralPubkey()': 'Invalid ephemeral public key.',
67
+ 'InvalidExpiringNonceExpiry()': 'Invalid expiring nonce expiry.',
68
+ 'InvalidFlipTick()': 'The flip-order price tick is invalid.',
69
+ 'InvalidFormat()': 'Invalid format.',
70
+ 'InvalidKeyAuthorizationWitness()': 'Invalid key authorization witness.',
71
+ 'InvalidKeyId()': 'Invalid key ID.',
72
+ 'InvalidLeader()': 'Invalid leader.',
73
+ 'InvalidLogoURI()': 'Invalid logo URI.',
74
+ 'InvalidMasterAddress()': 'Invalid master address.',
75
+ 'InvalidMigrationIndex()': 'Invalid migration index.',
76
+ 'InvalidMode()': 'Invalid mode.',
77
+ 'InvalidMultisigOwner()': 'Invalid multisig owner.',
78
+ 'InvalidNonceKey()': 'Invalid nonce key.',
79
+ 'InvalidOwner()': 'Invalid owner.',
80
+ 'InvalidOwnerOrder()': 'Invalid owner order.',
81
+ 'InvalidPayee()': 'Invalid payee.',
82
+ 'InvalidPayload()': 'Invalid payload.',
83
+ 'InvalidPolicyType()': 'Invalid policy type.',
84
+ 'InvalidProof()': 'Invalid proof.',
85
+ 'InvalidProofOfPossession()': 'Invalid proof of possession.',
86
+ 'InvalidPublicKey()': 'Invalid public key.',
87
+ 'InvalidQuorumCertificate()': 'Invalid quorum certificate.',
88
+ 'InvalidQuoteToken()': 'Invalid quote token.',
89
+ 'InvalidReceipt()': 'Invalid receipt.',
90
+ 'InvalidReceivePolicyType()': 'Invalid receive policy type.',
91
+ 'InvalidRecipient()': 'Invalid recipient.',
92
+ 'InvalidRecoveryAuthority()': 'Invalid recovery authority.',
93
+ 'InvalidSequencerSet()': 'Invalid sequencer set.',
94
+ 'InvalidSignature()': 'Invalid signature.',
95
+ 'InvalidSignatureFormat()': 'Invalid signature format.',
96
+ 'InvalidSignatureType()': 'Invalid signature type.',
97
+ 'InvalidSpendingLimit()': 'Invalid spending limit.',
98
+ 'InvalidSupplyCap()': 'Invalid supply cap.',
99
+ 'InvalidSwapCalculation()': 'Invalid swap calculation.',
100
+ 'InvalidTempoBlockNumber()': 'Invalid Tempo block number.',
101
+ 'InvalidThreshold()': 'Invalid threshold.',
102
+ 'InvalidTick()': 'The price tick is invalid.',
103
+ 'InvalidToken()': 'This token is not supported on the exchange.',
104
+ 'InvalidTokenEnablementTransition()': 'Invalid token enablement transition.',
105
+ 'InvalidTransferPolicyId()': 'Invalid transfer policy.',
106
+ 'InvalidValidatorAddress()': 'Invalid validator address.',
107
+ 'InvalidWeight()': 'Invalid weight.',
108
+ 'KeyAlreadyExists()': 'Key already exists.',
109
+ 'KeyAlreadyRevoked()': 'Key has already been revoked.',
110
+ 'KeyAuthorizationWitnessAlreadyBurned()': 'Key authorization witness has already been burned.',
111
+ 'KeyExpired()': 'Key has expired.',
112
+ 'KeyNotFound()': 'Key not found.',
113
+ 'LeaderAlreadyUpdatedThisBlock()': 'The leader has already been updated in this block.',
114
+ 'LegacyAuthorizeKeySelectorChanged(bytes4)': 'Legacy authorize key selector changed to {0}.',
115
+ 'LogoURITooLong()': 'Logo URI is too long.',
116
+ 'MasterIdCollision(address)': 'Master ID collision with {0}.',
117
+ 'MaxInputExceeded()': 'The required input exceeds the slippage maximum — try increasing slippage tolerance.',
118
+ 'MigrationNotComplete()': 'Migration is not complete.',
119
+ 'MustDelegateCall()': 'A delegate call is required.',
120
+ 'NoEncryptionKeyAtBlock(uint64)': 'No encryption key exists at block {0}.',
121
+ 'NoEncryptionKeySet()': 'No encryption key is set.',
122
+ 'NoOptedInSupply()': 'No opted-in supply.',
123
+ 'NonceOverflow()': 'Nonce overflow.',
124
+ 'NotAdmin()': 'The caller is not the administrator.',
125
+ 'NotFactory()': 'The caller is not the factory.',
126
+ 'NotHostPort(string,string,string)': '"{1}" is not a valid host:port for {0}.',
127
+ 'NotInitialized()': 'Not initialized.',
128
+ 'NotIp(string,string)': '"{0}" is not a valid IP address.',
129
+ 'NotIpPort(string,string)': '"{0}" is not a valid IP:port.',
130
+ 'NotIpPort(string,string,string)': '"{1}" is not a valid IP:port for {0}.',
131
+ 'NotOwner()': 'The caller is not an owner.',
132
+ 'NotPauseAuthority()': 'The caller is not the pause authority.',
133
+ 'NotPayeeOrOperator()': 'Not payee or operator.',
134
+ 'NotPayer()': 'Not payer.',
135
+ 'NotPendingAdmin()': 'The caller is not the pending administrator.',
136
+ 'NotSelf()': 'The caller must be the contract itself.',
137
+ 'NotSequencer()': 'The caller is not a sequencer.',
138
+ 'OnlyDirectCall()': 'A direct call is required.',
139
+ 'OrderDoesNotExist()': 'No order exists with the given ID.',
140
+ 'OrderNotStale()': 'This order is not yet eligible for stale-cleanup.',
141
+ 'PairAlreadyExists()': 'A trading pair for these tokens has already been created.',
142
+ 'PairDoesNotExist()': 'No trading pair exists for these tokens.',
143
+ 'PermitExpired()': 'Permit has expired.',
144
+ 'PolicyForbids()': 'Forbidden by policy.',
145
+ 'PolicyNotFound()': 'Policy not found.',
146
+ 'PolicyNotSimple()': 'Policy is not a simple policy.',
147
+ 'PortalIsPaused()': 'The portal is paused.',
148
+ 'ProofOfWorkFailed()': 'Proof of work failed.',
149
+ 'ProtectedAddress()': 'Address is protected.',
150
+ 'ProtocolNonceNotSupported()': 'Protocol nonce is not supported.',
151
+ 'PublicKeyAlreadyExists()': 'Public key already exists.',
152
+ 'ReentrantWithdrawal()': 'Reentrant withdrawals are not allowed.',
153
+ 'SequencerConfigurationUnchanged()': 'The sequencer configuration is unchanged.',
154
+ 'SignatureTypeMismatch(uint8,uint8)': 'Signature type mismatch. Expected {0}, got {1}.',
155
+ 'SpendingLimitExceeded()': 'Spending limit exceeded.',
156
+ 'StaleLeadershipEpoch(uint64,uint64)': 'Stale leadership epoch. Expected {0}, got {1}.',
157
+ 'SupplyCapExceeded()': 'Supply cap exceeded.',
158
+ 'TickOutOfBounds(int16)': 'Price tick {0} is outside the allowed range.',
159
+ 'TokenAlreadyEnabled()': 'The token is already enabled.',
160
+ 'TokenAlreadyExists(address)': 'Token {0} already exists.',
161
+ 'TokenEnablementBlockCapacityExceeded(uint64)': 'The token enablement capacity per block exceeds the maximum ({0}).',
162
+ 'TokenEnablementCursorNotInitialized()': 'The token enablement cursor is not initialized.',
163
+ 'TokenMetadataTooLong()': 'Token metadata is too long.',
164
+ 'TokenNotEnabled()': 'The token is not enabled.',
165
+ 'TokenTransferPolicyNotSet()': 'The token transfer policy is not set.',
166
+ 'TooManyOwners()': 'There are too many owners.',
167
+ 'TransferFailed()': 'The transfer failed.',
168
+ 'Unauthorized()': 'Unauthorized.',
169
+ 'UnauthorizedCaller()': 'Unauthorized caller.',
170
+ 'UnauthorizedClaimer()': 'Unauthorized claimer.',
171
+ 'UnauthorizedMultisigCaller()': 'Unauthorized multisig caller.',
172
+ 'Uninitialized()': 'Uninitialized.',
173
+ 'ValidatorAlreadyDeactivated()': 'Validator is already deactivated.',
174
+ 'ValidatorAlreadyExists()': 'Validator already exists.',
175
+ 'ValidatorNotFound()': 'Validator not found.',
176
+ 'VirtualAddressNotAllowed()': 'Virtual address is not allowed.',
177
+ 'VirtualAddressUnregistered()': 'Virtual address is not registered.',
178
+ 'ZeroDeposit()': 'Deposit cannot be zero.',
179
+ 'ZeroPublicKey()': 'Public key cannot be zero.',
180
+ };
181
+ /** Interpolate `{0}`, `{1}`, … placeholders with args. */
182
+ function interpolate(template, args) {
183
+ if (!args)
184
+ return template;
185
+ return template.replace(/\{(\d+)\}/g, (_, i) => {
186
+ const v = args[Number(i)];
187
+ return v === undefined ? `{${i}}` : String(v);
188
+ });
189
+ }
190
+ export function from(error) {
191
+ const source = typeof error === 'string'
192
+ ? { data: error, message: 'Unknown execution error.' }
193
+ : error;
194
+ const decoded = parse(source);
195
+ const descriptors = Object.getOwnPropertyDescriptors(source);
196
+ // Native stack accessors depend on the original error's internal state.
197
+ if ('stack' in source)
198
+ descriptors.stack = {
199
+ configurable: descriptors.stack?.configurable ?? true,
200
+ enumerable: descriptors.stack?.enumerable ?? false,
201
+ value: source.stack,
202
+ writable: descriptors.stack?.writable ?? true,
203
+ };
204
+ for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(decoded)))
205
+ descriptors[key] = {
206
+ ...descriptor,
207
+ enumerable: descriptors[key]?.enumerable ?? true,
208
+ };
209
+ return Object.create(Object.getPrototypeOf(source), descriptors);
210
+ }
211
+ /**
212
+ * Selects execution metadata for JSON serialization.
213
+ *
214
+ * Omits decoded arguments and original error properties, including the stack and cause.
215
+ *
216
+ * @example
217
+ * ```ts
218
+ * import { ExecutionError } from 'viem/tempo'
219
+ *
220
+ * const error = ExecutionError.from(new Error('execution reverted: failed'))
221
+ * const rpc = ExecutionError.serialize(error)
222
+ * // { errorName: 'unknown', message: 'failed' }
223
+ * ```
224
+ *
225
+ * @param preimage - Decorated execution error.
226
+ * @returns Execution error without decoded arguments.
227
+ */
228
+ export function serialize(preimage) {
229
+ if (preimage.errorName === 'unknown')
230
+ return { errorName: 'unknown', message: preimage.message };
231
+ return {
232
+ errorName: preimage.errorName,
233
+ abiItem: preimage.abiItem,
234
+ message: preimage.message,
235
+ data: preimage.data,
236
+ };
237
+ }
238
+ function extractRevertData(error, seen = new Set()) {
239
+ if (!error || typeof error !== 'object' || seen.has(error))
240
+ return null;
241
+ seen.add(error);
242
+ const e = error;
243
+ if (typeof e.data === 'string' && /^0x(?:[\da-f]{2})*$/i.test(e.data))
244
+ return e.data;
245
+ for (const inner of [e.data, e.cause, e.error]) {
246
+ const data = extractRevertData(inner, seen);
247
+ if (data)
248
+ return data;
249
+ }
250
+ if (typeof e.walk === 'function') {
251
+ const inner = e.walk((e) => typeof e.data === 'string');
252
+ if (inner)
253
+ return extractRevertData(inner, seen);
254
+ }
255
+ return null;
256
+ }
257
+ function parse(error) {
258
+ const raw = error.details ??
259
+ error.shortMessage ??
260
+ error.message;
261
+ const data = extractRevertData(error);
262
+ if (data) {
263
+ try {
264
+ const decoded = AbiError.extract(Abis.core, data);
265
+ const { hash: _, ...abiItem } = decoded.error;
266
+ const template = messages[AbiItem.getSignature(decoded.error)];
267
+ return {
268
+ abiItem,
269
+ errorName: decoded.error.name,
270
+ args: decoded.args,
271
+ data,
272
+ message: template
273
+ ? interpolate(template, decoded.args)
274
+ : raw.replace(/^execution reverted:\s*/i, ''),
275
+ };
276
+ }
277
+ catch {
278
+ if (data.length === 10) {
279
+ const abiItem = Abis.core.find((item) => item.type === 'error' &&
280
+ AbiItem.getSelector(item) === data.toLowerCase());
281
+ if (abiItem?.type === 'error')
282
+ return {
283
+ abiItem,
284
+ args: undefined,
285
+ data,
286
+ errorName: abiItem.name,
287
+ message: messages[AbiItem.getSignature(abiItem)],
288
+ };
289
+ }
290
+ }
291
+ }
292
+ // Human-readable names cannot distinguish overloads with different templates.
293
+ const nameMatch = /:\s*(\w+)\(([^)]*)\)/.exec(raw);
294
+ if (nameMatch) {
295
+ const templates = Object.entries(messages).filter(([signature]) => signature.startsWith(`${nameMatch[1]}(`));
296
+ const template = nameMatch[2] === ''
297
+ ? messages[`${nameMatch[1]}()`]
298
+ : templates.length === 1
299
+ ? templates[0]?.[1]
300
+ : undefined;
301
+ if (template)
302
+ return { errorName: 'unknown', message: template };
303
+ }
304
+ return {
305
+ errorName: 'unknown',
306
+ message: raw.replace(/^execution reverted:\s*/i, ''),
307
+ };
308
+ }
309
+ //# sourceMappingURL=ExecutionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutionError.js","sourceRoot":"","sources":["../../src/tempo/ExecutionError.ts"],"names":[],"mappings":"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"}