@aztec/ethereum 0.0.1-commit.5476d83 → 0.0.1-commit.5914bae

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 (205) hide show
  1. package/dest/client.d.ts +10 -2
  2. package/dest/client.d.ts.map +1 -1
  3. package/dest/client.js +13 -3
  4. package/dest/config.d.ts +21 -68
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +61 -380
  7. package/dest/contracts/empire_base.d.ts +4 -1
  8. package/dest/contracts/empire_base.d.ts.map +1 -1
  9. package/dest/contracts/empire_slashing_proposer.d.ts +4 -1
  10. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  11. package/dest/contracts/empire_slashing_proposer.js +31 -15
  12. package/dest/contracts/fee_asset_handler.d.ts +6 -5
  13. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  14. package/dest/contracts/fee_asset_handler.js +11 -9
  15. package/dest/contracts/fee_asset_price_oracle.d.ts +101 -0
  16. package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
  17. package/dest/contracts/fee_asset_price_oracle.js +651 -0
  18. package/dest/contracts/governance.d.ts +3 -1
  19. package/dest/contracts/governance.d.ts.map +1 -1
  20. package/dest/contracts/governance.js +14 -4
  21. package/dest/contracts/governance_proposer.d.ts +4 -1
  22. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  23. package/dest/contracts/governance_proposer.js +404 -9
  24. package/dest/contracts/inbox.d.ts +24 -3
  25. package/dest/contracts/inbox.d.ts.map +1 -1
  26. package/dest/contracts/inbox.js +36 -1
  27. package/dest/contracts/index.d.ts +4 -1
  28. package/dest/contracts/index.d.ts.map +1 -1
  29. package/dest/contracts/index.js +3 -0
  30. package/dest/contracts/log.d.ts +13 -0
  31. package/dest/contracts/log.d.ts.map +1 -0
  32. package/dest/contracts/log.js +1 -0
  33. package/dest/contracts/multicall.d.ts +1 -1
  34. package/dest/contracts/multicall.d.ts.map +1 -1
  35. package/dest/contracts/multicall.js +2 -1
  36. package/dest/contracts/outbox.d.ts +41 -0
  37. package/dest/contracts/outbox.d.ts.map +1 -0
  38. package/dest/contracts/outbox.js +86 -0
  39. package/dest/contracts/registry.d.ts +3 -1
  40. package/dest/contracts/registry.d.ts.map +1 -1
  41. package/dest/contracts/registry.js +30 -1
  42. package/dest/contracts/rollup.d.ts +191 -97
  43. package/dest/contracts/rollup.d.ts.map +1 -1
  44. package/dest/contracts/rollup.js +762 -149
  45. package/dest/contracts/tally_slashing_proposer.d.ts +3 -2
  46. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  47. package/dest/contracts/tally_slashing_proposer.js +8 -1
  48. package/dest/deploy_aztec_l1_contracts.d.ts +259 -0
  49. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
  50. package/dest/deploy_aztec_l1_contracts.js +413 -0
  51. package/dest/deploy_l1_contract.d.ts +68 -0
  52. package/dest/deploy_l1_contract.d.ts.map +1 -0
  53. package/dest/deploy_l1_contract.js +312 -0
  54. package/dest/forwarder_proxy.d.ts +32 -0
  55. package/dest/forwarder_proxy.d.ts.map +1 -0
  56. package/dest/forwarder_proxy.js +93 -0
  57. package/dest/generated/l1-contracts-defaults.d.ts +30 -0
  58. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  59. package/dest/generated/l1-contracts-defaults.js +30 -0
  60. package/dest/l1_artifacts.d.ts +5975 -1575
  61. package/dest/l1_artifacts.d.ts.map +1 -1
  62. package/dest/l1_contract_addresses.d.ts +1 -1
  63. package/dest/l1_contract_addresses.d.ts.map +1 -1
  64. package/dest/l1_contract_addresses.js +3 -3
  65. package/dest/l1_reader.d.ts +5 -1
  66. package/dest/l1_reader.d.ts.map +1 -1
  67. package/dest/l1_reader.js +12 -1
  68. package/dest/l1_tx_utils/config.d.ts +9 -3
  69. package/dest/l1_tx_utils/config.d.ts.map +1 -1
  70. package/dest/l1_tx_utils/config.js +31 -4
  71. package/dest/l1_tx_utils/constants.d.ts +8 -2
  72. package/dest/l1_tx_utils/constants.d.ts.map +1 -1
  73. package/dest/l1_tx_utils/constants.js +27 -2
  74. package/dest/l1_tx_utils/factory.d.ts +18 -10
  75. package/dest/l1_tx_utils/factory.d.ts.map +1 -1
  76. package/dest/l1_tx_utils/factory.js +17 -7
  77. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  78. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  79. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  80. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  81. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  82. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  83. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  84. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  85. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  86. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  87. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  88. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  89. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
  90. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
  91. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +42 -0
  92. package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
  93. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
  94. package/dest/l1_tx_utils/index-blobs.js +2 -0
  95. package/dest/l1_tx_utils/index.d.ts +4 -1
  96. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  97. package/dest/l1_tx_utils/index.js +3 -0
  98. package/dest/l1_tx_utils/interfaces.d.ts +2 -2
  99. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -1
  100. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  101. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  102. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  103. package/dest/l1_tx_utils/l1_tx_utils.d.ts +18 -7
  104. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  105. package/dest/l1_tx_utils/l1_tx_utils.js +75 -46
  106. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +4 -15
  107. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  108. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +61 -164
  109. package/dest/l1_tx_utils/tx_delayer.d.ts +56 -0
  110. package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
  111. package/dest/{test → l1_tx_utils}/tx_delayer.js +65 -36
  112. package/dest/publisher_manager.d.ts +3 -2
  113. package/dest/publisher_manager.d.ts.map +1 -1
  114. package/dest/publisher_manager.js +2 -2
  115. package/dest/queries.d.ts +2 -2
  116. package/dest/queries.d.ts.map +1 -1
  117. package/dest/queries.js +12 -4
  118. package/dest/test/chain_monitor.d.ts +35 -14
  119. package/dest/test/chain_monitor.d.ts.map +1 -1
  120. package/dest/test/chain_monitor.js +40 -11
  121. package/dest/test/eth_cheat_codes.d.ts +18 -4
  122. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  123. package/dest/test/eth_cheat_codes.js +10 -6
  124. package/dest/test/index.d.ts +1 -3
  125. package/dest/test/index.d.ts.map +1 -1
  126. package/dest/test/index.js +0 -2
  127. package/dest/test/rollup_cheat_codes.d.ts +13 -6
  128. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  129. package/dest/test/rollup_cheat_codes.js +41 -7
  130. package/dest/test/start_anvil.d.ts +24 -2
  131. package/dest/test/start_anvil.d.ts.map +1 -1
  132. package/dest/test/start_anvil.js +143 -29
  133. package/dest/test/upgrade_utils.js +2 -2
  134. package/dest/types.d.ts +57 -2
  135. package/dest/types.d.ts.map +1 -1
  136. package/dest/utils.d.ts +16 -3
  137. package/dest/utils.d.ts.map +1 -1
  138. package/dest/utils.js +64 -0
  139. package/package.json +33 -14
  140. package/src/client.ts +10 -2
  141. package/src/config.ts +77 -459
  142. package/src/contracts/README.md +157 -0
  143. package/src/contracts/empire_base.ts +3 -1
  144. package/src/contracts/empire_slashing_proposer.ts +28 -28
  145. package/src/contracts/fee_asset_handler.ts +10 -7
  146. package/src/contracts/fee_asset_price_oracle.ts +280 -0
  147. package/src/contracts/governance.ts +13 -4
  148. package/src/contracts/governance_proposer.ts +16 -2
  149. package/src/contracts/inbox.ts +55 -3
  150. package/src/contracts/index.ts +3 -0
  151. package/src/contracts/log.ts +13 -0
  152. package/src/contracts/multicall.ts +5 -2
  153. package/src/contracts/outbox.ts +98 -0
  154. package/src/contracts/registry.ts +31 -1
  155. package/src/contracts/rollup.ts +445 -118
  156. package/src/contracts/tally_slashing_proposer.ts +7 -1
  157. package/src/deploy_aztec_l1_contracts.ts +650 -0
  158. package/src/deploy_l1_contract.ts +362 -0
  159. package/src/forwarder_proxy.ts +108 -0
  160. package/src/generated/l1-contracts-defaults.ts +32 -0
  161. package/src/l1_contract_addresses.ts +22 -20
  162. package/src/l1_reader.ts +21 -1
  163. package/src/l1_tx_utils/config.ts +44 -6
  164. package/src/l1_tx_utils/constants.ts +13 -2
  165. package/src/l1_tx_utils/factory.ts +31 -31
  166. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  167. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  168. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  169. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  170. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +108 -0
  171. package/src/l1_tx_utils/index-blobs.ts +2 -0
  172. package/src/l1_tx_utils/index.ts +3 -0
  173. package/src/l1_tx_utils/interfaces.ts +1 -1
  174. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  175. package/src/l1_tx_utils/l1_tx_utils.ts +84 -36
  176. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +75 -210
  177. package/src/{test → l1_tx_utils}/tx_delayer.ts +82 -52
  178. package/src/publisher_manager.ts +4 -2
  179. package/src/queries.ts +11 -3
  180. package/src/test/chain_monitor.ts +77 -18
  181. package/src/test/eth_cheat_codes.ts +8 -6
  182. package/src/test/index.ts +0 -2
  183. package/src/test/rollup_cheat_codes.ts +43 -10
  184. package/src/test/start_anvil.ts +178 -28
  185. package/src/test/upgrade_utils.ts +2 -2
  186. package/src/types.ts +62 -0
  187. package/src/utils.ts +83 -1
  188. package/dest/deploy_l1_contracts.d.ts +0 -673
  189. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  190. package/dest/deploy_l1_contracts.js +0 -1491
  191. package/dest/index.d.ts +0 -18
  192. package/dest/index.d.ts.map +0 -1
  193. package/dest/index.js +0 -17
  194. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +0 -26
  195. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
  196. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
  197. package/dest/test/delayed_tx_utils.d.ts +0 -13
  198. package/dest/test/delayed_tx_utils.d.ts.map +0 -1
  199. package/dest/test/delayed_tx_utils.js +0 -28
  200. package/dest/test/tx_delayer.d.ts +0 -36
  201. package/dest/test/tx_delayer.d.ts.map +0 -1
  202. package/src/deploy_l1_contracts.ts +0 -1869
  203. package/src/index.ts +0 -17
  204. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
  205. package/src/test/delayed_tx_utils.ts +0 -52
package/dest/types.d.ts CHANGED
@@ -1,6 +1,61 @@
1
- import type { Abi, Account, Chain, Client, FallbackTransport, GetContractReturnType, HttpTransport, PublicActions, PublicClient, PublicRpcSchema, WalletActions, WalletRpcSchema } from 'viem';
1
+ import type { Abi, Account, Chain, Client, FallbackTransport, GetContractReturnType, Hex, HttpTransport, PublicActions, PublicClient, PublicRpcSchema, WalletActions, WalletRpcSchema } from 'viem';
2
2
  /** Type for a viem public client */
3
3
  export type ViemPublicClient = PublicClient<FallbackTransport<HttpTransport[]>, Chain>;
4
+ export type PublicRpcDebugSchema = [
5
+ {
6
+ Method: 'debug_traceTransaction';
7
+ Parameters: [txHash: `0x${string}`, options: {
8
+ tracer: 'callTracer';
9
+ }];
10
+ ReturnType: DebugCallTrace;
11
+ },
12
+ {
13
+ Method: 'trace_transaction';
14
+ Parameters: [txHash: `0x${string}`];
15
+ ReturnType: TraceTransactionResponse[];
16
+ }
17
+ ];
18
+ /** Return type for a debug_traceTransaction call */
19
+ export type DebugCallTrace = {
20
+ from: Hex;
21
+ to?: Hex;
22
+ type: string;
23
+ input?: Hex;
24
+ output?: Hex;
25
+ gas?: Hex;
26
+ gasUsed?: Hex;
27
+ value?: Hex;
28
+ error?: string;
29
+ calls?: DebugCallTrace[];
30
+ };
31
+ /** Action object for a trace_transaction call */
32
+ export type TraceAction = {
33
+ from: Hex;
34
+ to?: Hex;
35
+ callType: string;
36
+ gas?: Hex;
37
+ input?: Hex;
38
+ value?: Hex;
39
+ };
40
+ /** Result object for a trace_transaction call */
41
+ export type TraceResult = {
42
+ gasUsed?: Hex;
43
+ output?: Hex;
44
+ };
45
+ /** Return type for a single trace in trace_transaction response */
46
+ export type TraceTransactionResponse = {
47
+ action: TraceAction;
48
+ result?: TraceResult;
49
+ error?: string;
50
+ subtraces: number;
51
+ traceAddress: number[];
52
+ type: string;
53
+ };
54
+ /** Type for a viem public client with support for debug methods */
55
+ export type ViemPublicDebugClient = PublicClient<FallbackTransport<HttpTransport[]>, Chain, undefined, [
56
+ ...PublicRpcSchema,
57
+ ...PublicRpcDebugSchema
58
+ ]>;
4
59
  export type ExtendedViemWalletClient = Client<FallbackTransport<readonly HttpTransport[]>, Chain, Account, [
5
60
  ...PublicRpcSchema,
6
61
  ...WalletRpcSchema
@@ -10,4 +65,4 @@ export type ViemClient = ViemPublicClient | ExtendedViemWalletClient;
10
65
  /** Type for a viem contract that can be used with an extended viem client */
11
66
  export type ViemContract<TAbi extends Abi> = GetContractReturnType<TAbi, ExtendedViemWalletClient>;
12
67
  export declare function isExtendedClient(client: ViemClient): client is ExtendedViemWalletClient;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixHQUFHLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsYUFBYSxFQUNiLFlBQVksRUFDWixlQUFlLEVBQ2YsYUFBYSxFQUNiLGVBQWUsRUFDaEIsTUFBTSxNQUFNLENBQUM7QUFFZCxvQ0FBb0M7QUFDcEMsTUFBTSxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRXZGLE1BQU0sTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQzNDLGlCQUFpQixDQUFDLFNBQVMsYUFBYSxFQUFFLENBQUMsRUFDM0MsS0FBSyxFQUNMLE9BQU8sRUFDUDtJQUFDLEdBQUcsZUFBZTtJQUFFLEdBQUcsZUFBZTtDQUFDLEVBQ3hDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDbEcsQ0FBQztBQUVGLDRGQUE0RjtBQUM1RixNQUFNLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixHQUFHLHdCQUF3QixDQUFDO0FBRXJFLDZFQUE2RTtBQUM3RSxNQUFNLE1BQU0sWUFBWSxDQUFDLElBQUksU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFbkcsd0JBQWdCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQUcsTUFBTSxJQUFJLHdCQUF3QixDQUV2RiJ9
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixHQUFHLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixHQUFHLEVBQ0gsYUFBYSxFQUNiLGFBQWEsRUFDYixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBRWQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUV2RixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakM7UUFDRSxNQUFNLEVBQUUsd0JBQXdCLENBQUM7UUFDakMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFO1lBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQTtTQUFFLENBQUMsQ0FBQztRQUN2RSxVQUFVLEVBQUUsY0FBYyxDQUFDO0tBQzVCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsbUJBQW1CLENBQUM7UUFDNUIsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwQyxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztLQUN4QztDQUNGLENBQUM7QUFFRixvREFBb0Q7QUFDcEQsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ1YsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNaLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNiLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNWLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNkLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNaLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNmLEtBQUssQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDO0NBQzFCLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxNQUFNLFdBQVcsR0FBRztJQUN4QixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ1YsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixHQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDVixLQUFLLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDWixLQUFLLENBQUMsRUFBRSxHQUFHLENBQUM7Q0FDYixDQUFDO0FBRUYsaURBQWlEO0FBQ2pELE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEIsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ2QsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDO0NBQ2QsQ0FBQztBQUVGLG1FQUFtRTtBQUNuRSxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNwQixNQUFNLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDckIsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2YsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDdkIsSUFBSSxFQUFFLE1BQU0sQ0FBQztDQUNkLENBQUM7QUFFRixtRUFBbUU7QUFDbkUsTUFBTSxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FDOUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsRUFDbEMsS0FBSyxFQUNMLFNBQVMsRUFDVDtJQUFDLEdBQUcsZUFBZTtJQUFFLEdBQUcsb0JBQW9CO0NBQUMsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQzNDLGlCQUFpQixDQUFDLFNBQVMsYUFBYSxFQUFFLENBQUMsRUFDM0MsS0FBSyxFQUNMLE9BQU8sRUFDUDtJQUFDLEdBQUcsZUFBZTtJQUFFLEdBQUcsZUFBZTtDQUFDLEVBQ3hDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDbEcsQ0FBQztBQUVGLDRGQUE0RjtBQUM1RixNQUFNLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixHQUFHLHdCQUF3QixDQUFDO0FBRXJFLDZFQUE2RTtBQUM3RSxNQUFNLE1BQU0sWUFBWSxDQUFDLElBQUksU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFbkcsd0JBQWdCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQUcsTUFBTSxJQUFJLHdCQUF3QixDQUV2RiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,OAAO,EACP,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EAChB,MAAM,MAAM,CAAC;AAEd,oCAAoC;AACpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAEvF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAC3C,iBAAiB,CAAC,SAAS,aAAa,EAAE,CAAC,EAC3C,KAAK,EACL,OAAO,EACP;IAAC,GAAG,eAAe;IAAE,GAAG,eAAe;CAAC,EACxC,aAAa,CAAC,iBAAiB,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAClG,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,wBAAwB,CAAC;AAErE,6EAA6E;AAC7E,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;AAEnG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,wBAAwB,CAEvF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dest/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
- import { type Abi, type ContractEventName, type DecodeEventLogReturnType, type Hex, type Log } from 'viem';
3
+ import { type Abi, type ContractEventName, type DecodeEventLogReturnType, type FormattedTransaction, type Hex, type Log } from 'viem';
4
4
  export interface L2Claim {
5
5
  claimSecret: Fr;
6
6
  claimAmount: Fr;
@@ -14,6 +14,7 @@ export declare class FormattedViemError extends Error {
14
14
  export declare function extractEvent<const TAbi extends Abi | readonly unknown[], TEventName extends ContractEventName<TAbi>, TEventType = DecodeEventLogReturnType<TAbi, TEventName, Hex[], undefined, true>>(logs: Log[], address: Hex, abi: TAbi, eventName: TEventName, filter?: (log: TEventType) => boolean, logger?: Logger): TEventType;
15
15
  export declare function tryExtractEvent<const TAbi extends Abi | readonly unknown[], TEventName extends ContractEventName<TAbi>, TEventType = DecodeEventLogReturnType<TAbi, TEventName, Hex[], undefined, true>>(logs: Log[], address: Hex, abi: TAbi, eventName: TEventName, filter?: (log: TEventType) => boolean, logger?: Logger): TEventType | undefined;
16
16
  export declare function prettyLogViemErrorMsg(err: any): any;
17
+ export declare function mergeAbis(abis: Abi[]): Abi;
17
18
  /**
18
19
  * Formats a Viem error into a FormattedViemError instance.
19
20
  * @param error - The error to format.
@@ -22,4 +23,16 @@ export declare function prettyLogViemErrorMsg(err: any): any;
22
23
  */
23
24
  export declare function formatViemError(error: any, abi?: Abi): FormattedViemError;
24
25
  export declare function tryGetCustomErrorName(err: any): string | undefined;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxHQUFHLEVBRVIsS0FBSyxpQkFBaUIsRUFFdEIsS0FBSyx3QkFBd0IsRUFDN0IsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBR1QsTUFBTSxNQUFNLENBQUM7QUFFZCxNQUFNLFdBQVcsT0FBTztJQUN0QixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQztJQUNqQixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUI7QUFFRCxxQkFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBQzNDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRXJCLFlBQVksT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFJaEQ7Q0FDRjtBQUVELHdCQUFnQixZQUFZLENBQzFCLEtBQUssQ0FBQyxJQUFJLFNBQVMsR0FBRyxHQUFHLFNBQVMsT0FBTyxFQUFFLEVBQzNDLFVBQVUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFDMUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUUvRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ1gsT0FBTyxFQUFFLEdBQUcsRUFDWixHQUFHLEVBQUUsSUFBSSxFQUNULFNBQVMsRUFBRSxVQUFVLEVBQ3JCLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsS0FBSyxPQUFPLEVBQ3JDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FDZCxVQUFVLENBTVo7QUFFRCx3QkFBZ0IsZUFBZSxDQUM3QixLQUFLLENBQUMsSUFBSSxTQUFTLEdBQUcsR0FBRyxTQUFTLE9BQU8sRUFBRSxFQUMzQyxVQUFVLFNBQVMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQzFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFFL0UsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNYLE9BQU8sRUFBRSxHQUFHLEVBQ1osR0FBRyxFQUFFLElBQUksRUFDVCxTQUFTLEVBQUUsVUFBVSxFQUNyQixNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxVQUFVLEtBQUssT0FBTyxFQUNyQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQ2QsVUFBVSxHQUFHLFNBQVMsQ0FnQnhCO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxHQUFHLE9BVzdDO0FBMEJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRSxHQUFlLEdBQUcsa0JBQWtCLENBd0VwRjtBQXlCRCx3QkFBZ0IscUJBQXFCLENBQUMsR0FBRyxFQUFFLEdBQUcsc0JBYTdDIn0=
26
+ /**
27
+ * Type guard to check if a transaction is a blob transaction (EIP-4844).
28
+ * Blob transactions have maxFeePerBlobGas and blobVersionedHashes fields.
29
+ */
30
+ export declare function isBlobTransaction(tx: FormattedTransaction): tx is FormattedTransaction & {
31
+ maxFeePerBlobGas: bigint;
32
+ blobVersionedHashes: readonly Hex[];
33
+ };
34
+ /**
35
+ * Calculates a percentile from an array of bigints
36
+ */
37
+ export declare function calculatePercentile(values: bigint[], percentile: number): bigint;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxHQUFHLEVBR1IsS0FBSyxpQkFBaUIsRUFFdEIsS0FBSyx3QkFBd0IsRUFDN0IsS0FBSyxvQkFBb0IsRUFDekIsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBR1QsTUFBTSxNQUFNLENBQUM7QUFHZCxNQUFNLFdBQVcsT0FBTztJQUN0QixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQztJQUNqQixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUI7QUFFRCxxQkFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBQzNDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRXJCLFlBQVksT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFJaEQ7Q0FDRjtBQUVELHdCQUFnQixZQUFZLENBQzFCLEtBQUssQ0FBQyxJQUFJLFNBQVMsR0FBRyxHQUFHLFNBQVMsT0FBTyxFQUFFLEVBQzNDLFVBQVUsU0FBUyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFDMUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUUvRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ1gsT0FBTyxFQUFFLEdBQUcsRUFDWixHQUFHLEVBQUUsSUFBSSxFQUNULFNBQVMsRUFBRSxVQUFVLEVBQ3JCLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsS0FBSyxPQUFPLEVBQ3JDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FDZCxVQUFVLENBTVo7QUFFRCx3QkFBZ0IsZUFBZSxDQUM3QixLQUFLLENBQUMsSUFBSSxTQUFTLEdBQUcsR0FBRyxTQUFTLE9BQU8sRUFBRSxFQUMzQyxVQUFVLFNBQVMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQzFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFFL0UsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNYLE9BQU8sRUFBRSxHQUFHLEVBQ1osR0FBRyxFQUFFLElBQUksRUFDVCxTQUFTLEVBQUUsVUFBVSxFQUNyQixNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxVQUFVLEtBQUssT0FBTyxFQUNyQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQ2QsVUFBVSxHQUFHLFNBQVMsQ0FnQnhCO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxHQUFHLE9BVzdDO0FBRUQsd0JBQWdCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQWUxQztBQTRERDs7Ozs7R0FLRztBQUNILHdCQUFnQixlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUUsR0FBZSxHQUFHLGtCQUFrQixDQXdFcEY7QUF5QkQsd0JBQWdCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxHQUFHLHNCQWE3QztBQUVEOzs7R0FHRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsb0JBQW9CLEdBQUcsRUFBRSxJQUFJLG9CQUFvQixHQUFHO0lBQ3hGLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixtQkFBbUIsRUFBRSxTQUFTLEdBQUcsRUFBRSxDQUFDO0NBQ3JDLENBT0E7QUFFRDs7R0FFRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBT2hGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,GAAG,EAER,KAAK,iBAAiB,EAEtB,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EACR,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAEd,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IAErB,YAAY,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,EAIhD;CACF;AAED,wBAAgB,YAAY,CAC1B,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,UAAU,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAC1C,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAE/E,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,GAAG,EACZ,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,CAMZ;AAED,wBAAgB,eAAe,CAC7B,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,UAAU,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAC1C,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAE/E,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,GAAG,EACZ,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,GAAG,SAAS,CAgBxB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,OAW7C;AA0BD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAE,GAAe,GAAG,kBAAkB,CAwEpF;AAyBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,sBAa7C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,GAAG,EAGR,KAAK,iBAAiB,EAEtB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,GAAG,EACR,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAGd,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IAErB,YAAY,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,EAIhD;CACF;AAED,wBAAgB,YAAY,CAC1B,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,UAAU,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAC1C,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAE/E,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,GAAG,EACZ,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,CAMZ;AAED,wBAAgB,eAAe,CAC7B,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,UAAU,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAC1C,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAE/E,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,GAAG,EACZ,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,GAAG,SAAS,CAgBxB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,OAW7C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAe1C;AA4DD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAE,GAAe,GAAG,kBAAkB,CAwEpF;AAyBD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,sBAa7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,oBAAoB,GAAG,EAAE,IAAI,oBAAoB,GAAG;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,SAAS,GAAG,EAAE,CAAC;CACrC,CAOA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOhF"}
package/dest/utils.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ErrorsAbi } from '@aztec/l1-artifacts/ErrorsAbi';
2
2
  import { BaseError, ContractFunctionRevertedError, decodeErrorResult, decodeEventLog } from 'viem';
3
+ import { formatAbiItem, formatAbiParams } from 'viem/utils';
3
4
  export class FormattedViemError extends Error {
4
5
  metaMessages;
5
6
  constructor(message, metaMessages){
@@ -46,6 +47,51 @@ export function prettyLogViemErrorMsg(err) {
46
47
  }
47
48
  return err?.message ?? err;
48
49
  }
50
+ export function mergeAbis(abis) {
51
+ let merged = [];
52
+ const seen = new Set();
53
+ for (const abi of abis){
54
+ for (const item of abi){
55
+ const key = getAbiItemKey(item);
56
+ if (!seen.has(key)) {
57
+ seen.add(key);
58
+ merged = [
59
+ ...merged,
60
+ item
61
+ ];
62
+ }
63
+ }
64
+ }
65
+ return merged;
66
+ }
67
+ function getAbiItemKey(item) {
68
+ if (item.type === 'function') {
69
+ const signature = formatAbiItem(item);
70
+ const outputs = formatAbiParams(item.outputs);
71
+ const stateMutability = typeof item.stateMutability === 'string' ? item.stateMutability : '';
72
+ return `function:${signature}:${outputs}:${stateMutability}`;
73
+ }
74
+ if (item.type === 'event') {
75
+ const signature = formatAbiItem(item);
76
+ const indexed = (item.inputs ?? []).map((input)=>input.indexed ? '1' : '0').join('');
77
+ const anonymous = item.anonymous ? 'anonymous' : 'not-anonymous';
78
+ return `event:${signature}:${indexed}:${anonymous}`;
79
+ }
80
+ if (item.type === 'error') {
81
+ const signature = formatAbiItem(item);
82
+ return `error:${signature}`;
83
+ }
84
+ if (item.type === 'constructor') {
85
+ const inputs = formatAbiParams(item.inputs);
86
+ const stateMutability = typeof item.stateMutability === 'string' ? item.stateMutability : '';
87
+ return `constructor::${inputs}:${stateMutability}`;
88
+ }
89
+ if (item.type === 'fallback' || item.type === 'receive') {
90
+ const stateMutability = typeof item.stateMutability === 'string' ? item.stateMutability : '';
91
+ return `${item.type}:::${stateMutability}`;
92
+ }
93
+ return 'unknown';
94
+ }
49
95
  function getNestedErrorData(error) {
50
96
  // If nothing, bail
51
97
  if (!error) {
@@ -162,3 +208,21 @@ export function tryGetCustomErrorName(err) {
162
208
  return undefined;
163
209
  }
164
210
  }
211
+ /**
212
+ * Type guard to check if a transaction is a blob transaction (EIP-4844).
213
+ * Blob transactions have maxFeePerBlobGas and blobVersionedHashes fields.
214
+ */ export function isBlobTransaction(tx) {
215
+ return 'maxFeePerBlobGas' in tx && tx.maxFeePerBlobGas !== undefined && 'blobVersionedHashes' in tx && tx.blobVersionedHashes !== undefined;
216
+ }
217
+ /**
218
+ * Calculates a percentile from an array of bigints
219
+ */ export function calculatePercentile(values, percentile) {
220
+ if (values.length === 0) {
221
+ return 0n;
222
+ }
223
+ const sorted = [
224
+ ...values
225
+ ].sort((a, b)=>a < b ? -1 : a > b ? 1 : 0);
226
+ const index = Math.ceil((sorted.length - 1) * (percentile / 100));
227
+ return sorted[index];
228
+ }
package/package.json CHANGED
@@ -1,14 +1,32 @@
1
1
  {
2
2
  "name": "@aztec/ethereum",
3
- "version": "0.0.1-commit.5476d83",
3
+ "version": "0.0.1-commit.5914bae",
4
4
  "type": "module",
5
5
  "exports": {
6
- ".": "./dest/index.js",
7
- "./test": "./dest/test/index.js",
6
+ "./account": "./dest/account.js",
7
+ "./chain": "./dest/chain.js",
8
+ "./client": "./dest/client.js",
9
+ "./config": "./dest/config.js",
10
+ "./constants": "./dest/constants.js",
8
11
  "./contracts": "./dest/contracts/index.js",
9
- "./deploy-l1-contracts": "./dest/deploy_l1_contracts.js",
12
+ "./deploy-aztec-l1-contracts": "./dest/deploy_aztec_l1_contracts.js",
13
+ "./deploy-l1-contract": "./dest/deploy_l1_contract.js",
14
+ "./contracts/registry": "./dest/contracts/registry.js",
15
+ "./contracts/rollup": "./dest/contracts/rollup.js",
16
+ "./eth-signer": "./dest/eth-signer/index.js",
17
+ "./forwarder-proxy": "./dest/forwarder_proxy.js",
18
+ "./l1-artifacts": "./dest/l1_artifacts.js",
10
19
  "./l1-contract-addresses": "./dest/l1_contract_addresses.js",
11
- "./l1-tx-utils-with-blobs": "./dest/l1_tx_utils/l1_tx_utils_with_blobs.js",
20
+ "./l1-fee-analysis": "./dest/l1_tx_utils/l1_fee_analyzer.js",
21
+ "./l1-reader": "./dest/l1_reader.js",
22
+ "./l1-tx-utils": "./dest/l1_tx_utils/index.js",
23
+ "./l1-tx-utils-with-blobs": "./dest/l1_tx_utils/index-blobs.js",
24
+ "./l1-tx-utils/config": "./dest/l1_tx_utils/config.js",
25
+ "./l1-types": "./dest/l1_types.js",
26
+ "./publisher-manager": "./dest/publisher_manager.js",
27
+ "./queries": "./dest/queries.js",
28
+ "./test": "./dest/test/index.js",
29
+ "./types": "./dest/types.js",
12
30
  "./utils": "./dest/utils.js"
13
31
  },
14
32
  "typedocOptions": {
@@ -19,10 +37,11 @@
19
37
  "tsconfig": "./tsconfig.json"
20
38
  },
21
39
  "scripts": {
22
- "build": "yarn clean && tsgo -b",
23
- "build:dev": "tsgo -b --watch",
40
+ "build": "yarn clean && ../scripts/tsc.sh",
41
+ "build:dev": "../scripts/tsc.sh --watch",
24
42
  "clean": "rm -rf ./dest .tsbuildinfo",
25
- "start:dev": "concurrently -k \"tsgo -b -w\" \"nodemon --watch dest --exec yarn start\"",
43
+ "generate": "./scripts/generate.sh",
44
+ "start:dev": "concurrently -k \"../scripts/tsc.sh --watch\" \"nodemon --watch dest --exec yarn start\"",
26
45
  "start": "node ./dest/index.js",
27
46
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
28
47
  "proposer-address": "node ./dest/cli/forwarder_address.js"
@@ -31,10 +50,10 @@
31
50
  "../package.common.json"
32
51
  ],
33
52
  "dependencies": {
34
- "@aztec/blob-lib": "0.0.1-commit.5476d83",
35
- "@aztec/constants": "0.0.1-commit.5476d83",
36
- "@aztec/foundation": "0.0.1-commit.5476d83",
37
- "@aztec/l1-artifacts": "0.0.1-commit.5476d83",
53
+ "@aztec/blob-lib": "0.0.1-commit.5914bae",
54
+ "@aztec/constants": "0.0.1-commit.5914bae",
55
+ "@aztec/foundation": "0.0.1-commit.5914bae",
56
+ "@aztec/l1-artifacts": "0.0.1-commit.5914bae",
38
57
  "@viem/anvil": "^0.0.10",
39
58
  "dotenv": "^16.0.3",
40
59
  "lodash.chunk": "^4.2.0",
@@ -49,7 +68,7 @@
49
68
  "@types/jest": "^30.0.0",
50
69
  "@types/lodash.pickby": "^4",
51
70
  "@types/node": "^22.15.17",
52
- "@typescript/native-preview": "7.0.0-dev.20251126.1",
71
+ "@typescript/native-preview": "7.0.0-dev.20260113.1",
53
72
  "@viem/anvil": "^0.0.10",
54
73
  "get-port": "^7.1.0",
55
74
  "jest": "^30.0.0",
@@ -63,7 +82,7 @@
63
82
  "src",
64
83
  "!*.test.*"
65
84
  ],
66
- "types": "./dest/index.d.ts",
85
+ "types": "./dest/types.d.ts",
67
86
  "jest": {
68
87
  "moduleNameMapper": {
69
88
  "^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
package/src/client.ts CHANGED
@@ -25,10 +25,17 @@ type Config = {
25
25
  l1ChainId: number;
26
26
  /** The polling interval viem uses in ms */
27
27
  viemPollingIntervalMS?: number;
28
+ /** Timeout for HTTP requests to the L1 RPC node in ms. */
29
+ l1HttpTimeoutMS?: number;
28
30
  };
29
31
 
30
32
  export type { Config as EthereumClientConfig };
31
33
 
34
+ /** Creates a viem fallback HTTP transport for the given L1 RPC URLs. */
35
+ export function makeL1HttpTransport(rpcUrls: string[], opts?: { timeout?: number }) {
36
+ return fallback(rpcUrls.map(url => http(url, { batch: false, timeout: opts?.timeout })));
37
+ }
38
+
32
39
  // TODO: Use these methods to abstract the creation of viem clients.
33
40
 
34
41
  /** Returns a viem public client given the L1 config. */
@@ -36,7 +43,7 @@ export function getPublicClient(config: Config): ViemPublicClient {
36
43
  const chain = createEthereumChain(config.l1RpcUrls, config.l1ChainId);
37
44
  return createPublicClient({
38
45
  chain: chain.chainInfo,
39
- transport: fallback(config.l1RpcUrls.map(url => http(url))),
46
+ transport: makeL1HttpTransport(config.l1RpcUrls, { timeout: config.l1HttpTimeoutMS }),
40
47
  pollingInterval: config.viemPollingIntervalMS,
41
48
  });
42
49
  }
@@ -77,6 +84,7 @@ export function createExtendedL1Client(
77
84
  chain: Chain = foundry,
78
85
  pollingIntervalMS?: number,
79
86
  addressIndex?: number,
87
+ opts?: { httpTimeoutMS?: number },
80
88
  ): ExtendedViemWalletClient {
81
89
  const hdAccount =
82
90
  typeof mnemonicOrPrivateKeyOrHdAccount === 'string'
@@ -88,7 +96,7 @@ export function createExtendedL1Client(
88
96
  const extendedClient = createWalletClient({
89
97
  account: hdAccount,
90
98
  chain,
91
- transport: fallback(rpcUrls.map(url => http(url))),
99
+ transport: makeL1HttpTransport(rpcUrls, { timeout: opts?.httpTimeoutMS }),
92
100
  pollingInterval: pollingIntervalMS,
93
101
  }).extend(publicActions);
94
102