@aztec/ethereum 0.0.1-commit.b655e406 → 0.0.1-commit.c0b82b2
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.
- package/dest/account.d.ts +1 -1
- package/dest/chain.d.ts +1 -1
- package/dest/client.d.ts +1 -1
- package/dest/client.js +6 -2
- package/dest/config.d.ts +22 -68
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +61 -380
- package/dest/constants.d.ts +1 -1
- package/dest/contracts/empire_base.d.ts +9 -5
- package/dest/contracts/empire_base.d.ts.map +1 -1
- package/dest/contracts/empire_base.js +1 -1
- package/dest/contracts/empire_slashing_proposer.d.ts +8 -4
- package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/empire_slashing_proposer.js +39 -17
- package/dest/contracts/errors.d.ts +1 -1
- package/dest/contracts/errors.d.ts.map +1 -1
- package/dest/contracts/fee_asset_handler.d.ts +6 -5
- package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
- package/dest/contracts/fee_asset_handler.js +11 -9
- package/dest/contracts/fee_asset_price_oracle.d.ts +101 -0
- package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
- package/dest/contracts/fee_asset_price_oracle.js +651 -0
- package/dest/contracts/fee_juice.d.ts +1 -1
- package/dest/contracts/fee_juice.d.ts.map +1 -1
- package/dest/contracts/governance.d.ts +18 -16
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +14 -4
- package/dest/contracts/governance_proposer.d.ts +8 -4
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +412 -11
- package/dest/contracts/gse.d.ts +1 -1
- package/dest/contracts/gse.d.ts.map +1 -1
- package/dest/contracts/inbox.d.ts +24 -3
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/inbox.js +36 -1
- package/dest/contracts/index.d.ts +4 -1
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +3 -0
- package/dest/contracts/log.d.ts +13 -0
- package/dest/contracts/log.d.ts.map +1 -0
- package/dest/contracts/log.js +1 -0
- package/dest/contracts/multicall.d.ts +2 -2
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +2 -1
- package/dest/contracts/outbox.d.ts +41 -0
- package/dest/contracts/outbox.d.ts.map +1 -0
- package/dest/contracts/outbox.js +86 -0
- package/dest/contracts/registry.d.ts +1 -1
- package/dest/contracts/registry.d.ts.map +1 -1
- package/dest/contracts/rollup.d.ts +195 -123
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +765 -187
- package/dest/contracts/slasher_contract.d.ts +1 -1
- package/dest/contracts/slasher_contract.d.ts.map +1 -1
- package/dest/contracts/tally_slashing_proposer.d.ts +9 -7
- package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/tally_slashing_proposer.js +11 -4
- package/dest/contracts/utils.d.ts +1 -1
- package/dest/deploy_aztec_l1_contracts.d.ts +259 -0
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
- package/dest/deploy_aztec_l1_contracts.js +413 -0
- package/dest/deploy_l1_contract.d.ts +68 -0
- package/dest/deploy_l1_contract.d.ts.map +1 -0
- package/dest/deploy_l1_contract.js +312 -0
- package/dest/eth-signer/eth-signer.d.ts +1 -1
- package/dest/eth-signer/index.d.ts +1 -1
- package/dest/forwarder_proxy.d.ts +32 -0
- package/dest/forwarder_proxy.d.ts.map +1 -0
- package/dest/forwarder_proxy.js +93 -0
- package/dest/generated/l1-contracts-defaults.d.ts +30 -0
- package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
- package/dest/generated/l1-contracts-defaults.js +30 -0
- package/dest/l1_artifacts.d.ts +7608 -2048
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_contract_addresses.d.ts +3 -3
- package/dest/l1_contract_addresses.d.ts.map +1 -1
- package/dest/l1_contract_addresses.js +3 -3
- package/dest/l1_reader.d.ts +3 -1
- package/dest/l1_reader.d.ts.map +1 -1
- package/dest/l1_reader.js +6 -0
- package/dest/l1_tx_utils/config.d.ts +11 -5
- package/dest/l1_tx_utils/config.d.ts.map +1 -1
- package/dest/l1_tx_utils/config.js +43 -7
- package/dest/l1_tx_utils/constants.d.ts +8 -2
- package/dest/l1_tx_utils/constants.d.ts.map +1 -1
- package/dest/l1_tx_utils/constants.js +27 -2
- package/dest/l1_tx_utils/factory.d.ts +18 -10
- package/dest/l1_tx_utils/factory.d.ts.map +1 -1
- package/dest/l1_tx_utils/factory.js +17 -7
- package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
- package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
- package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
- package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
- package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
- package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
- package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
- package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
- package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +42 -0
- package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
- package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
- package/dest/l1_tx_utils/index-blobs.js +2 -0
- package/dest/l1_tx_utils/index.d.ts +4 -1
- package/dest/l1_tx_utils/index.d.ts.map +1 -1
- package/dest/l1_tx_utils/index.js +3 -0
- package/dest/l1_tx_utils/interfaces.d.ts +2 -2
- package/dest/l1_tx_utils/interfaces.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
- package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
- package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
- package/dest/l1_tx_utils/l1_tx_utils.d.ts +16 -8
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.js +64 -46
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +19 -30
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +55 -163
- package/dest/l1_tx_utils/signer.d.ts +1 -1
- package/dest/l1_tx_utils/tx_delayer.d.ts +56 -0
- package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
- package/dest/{test → l1_tx_utils}/tx_delayer.js +65 -36
- package/dest/l1_tx_utils/types.d.ts +1 -1
- package/dest/l1_tx_utils/types.d.ts.map +1 -1
- package/dest/l1_tx_utils/utils.d.ts +1 -1
- package/dest/l1_types.d.ts +1 -1
- package/dest/publisher_manager.d.ts +3 -2
- package/dest/publisher_manager.d.ts.map +1 -1
- package/dest/publisher_manager.js +2 -2
- package/dest/queries.d.ts +2 -2
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +16 -6
- package/dest/test/chain_monitor.d.ts +27 -24
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +33 -36
- package/dest/test/eth_cheat_codes.d.ts +11 -3
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/eth_cheat_codes.js +11 -3
- package/dest/test/eth_cheat_codes_with_state.d.ts +1 -1
- package/dest/test/eth_cheat_codes_with_state.d.ts.map +1 -1
- package/dest/test/index.d.ts +1 -3
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +0 -2
- package/dest/test/rollup_cheat_codes.d.ts +17 -13
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +62 -38
- package/dest/test/start_anvil.d.ts +11 -2
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +128 -28
- package/dest/test/upgrade_utils.d.ts +1 -1
- package/dest/test/upgrade_utils.js +2 -2
- package/dest/types.d.ts +57 -2
- package/dest/types.d.ts.map +1 -1
- package/dest/utils.d.ts +16 -3
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +64 -0
- package/dest/zkPassportVerifierAddress.d.ts +1 -1
- package/package.json +34 -16
- package/src/client.ts +2 -2
- package/src/config.ts +74 -460
- package/src/contracts/README.md +157 -0
- package/src/contracts/empire_base.ts +8 -5
- package/src/contracts/empire_slashing_proposer.ts +38 -32
- package/src/contracts/fee_asset_handler.ts +10 -7
- package/src/contracts/fee_asset_price_oracle.ts +280 -0
- package/src/contracts/governance.ts +13 -4
- package/src/contracts/governance_proposer.ts +26 -6
- package/src/contracts/inbox.ts +55 -3
- package/src/contracts/index.ts +3 -0
- package/src/contracts/log.ts +13 -0
- package/src/contracts/multicall.ts +5 -2
- package/src/contracts/outbox.ts +98 -0
- package/src/contracts/rollup.ts +446 -167
- package/src/contracts/tally_slashing_proposer.ts +15 -8
- package/src/deploy_aztec_l1_contracts.ts +650 -0
- package/src/deploy_l1_contract.ts +362 -0
- package/src/forwarder_proxy.ts +108 -0
- package/src/generated/l1-contracts-defaults.ts +32 -0
- package/src/l1_contract_addresses.ts +22 -20
- package/src/l1_reader.ts +8 -0
- package/src/l1_tx_utils/config.ts +52 -11
- package/src/l1_tx_utils/constants.ts +13 -2
- package/src/l1_tx_utils/factory.ts +31 -31
- package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
- package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
- package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
- package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
- package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +108 -0
- package/src/l1_tx_utils/index-blobs.ts +2 -0
- package/src/l1_tx_utils/index.ts +3 -0
- package/src/l1_tx_utils/interfaces.ts +1 -1
- package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
- package/src/l1_tx_utils/l1_tx_utils.ts +71 -36
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +69 -209
- package/src/{test → l1_tx_utils}/tx_delayer.ts +82 -52
- package/src/publisher_manager.ts +4 -2
- package/src/queries.ts +17 -6
- package/src/test/chain_monitor.ts +51 -49
- package/src/test/eth_cheat_codes.ts +9 -3
- package/src/test/index.ts +0 -2
- package/src/test/rollup_cheat_codes.ts +63 -43
- package/src/test/start_anvil.ts +148 -27
- package/src/test/upgrade_utils.ts +2 -2
- package/src/types.ts +62 -0
- package/src/utils.ts +83 -1
- package/dest/deploy_l1_contracts.d.ts +0 -226
- package/dest/deploy_l1_contracts.d.ts.map +0 -1
- package/dest/deploy_l1_contracts.js +0 -1473
- package/dest/index.d.ts +0 -18
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -17
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +0 -26
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
- package/dest/test/delayed_tx_utils.d.ts +0 -13
- package/dest/test/delayed_tx_utils.d.ts.map +0 -1
- package/dest/test/delayed_tx_utils.js +0 -28
- package/dest/test/tx_delayer.d.ts +0 -36
- package/dest/test/tx_delayer.d.ts.map +0 -1
- package/src/deploy_l1_contracts.ts +0 -1849
- package/src/index.ts +0 -17
- package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
- package/src/test/delayed_tx_utils.ts +0 -52
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/** Minimal interface matching the @viem/anvil Anvil shape used by callers. */
|
|
2
|
+
export interface Anvil {
|
|
3
|
+
readonly port: number;
|
|
4
|
+
readonly host: string;
|
|
5
|
+
readonly status: 'listening' | 'idle';
|
|
6
|
+
stop(): Promise<void>;
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* Ensures there's a running Anvil instance and returns the RPC URL.
|
|
4
10
|
*/
|
|
@@ -8,10 +14,13 @@ export declare function startAnvil(opts?: {
|
|
|
8
14
|
log?: boolean;
|
|
9
15
|
captureMethodCalls?: boolean;
|
|
10
16
|
accounts?: number;
|
|
17
|
+
chainId?: number;
|
|
18
|
+
/** The hardfork to use (e.g. 'cancun', 'latest'). */
|
|
19
|
+
hardfork?: string;
|
|
11
20
|
}): Promise<{
|
|
12
21
|
anvil: Anvil;
|
|
13
22
|
methodCalls?: string[];
|
|
14
23
|
rpcUrl: string;
|
|
15
24
|
stop: () => Promise<void>;
|
|
16
25
|
}>;
|
|
17
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRfYW52aWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3N0YXJ0X2FudmlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLDhFQUE4RTtBQUM5RSxNQUFNLFdBQVcsS0FBSztJQUNwQixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUN0QixRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUN0QixRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDdEMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUN2QjtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLFVBQVUsQ0FDOUIsSUFBSSxHQUFFO0lBQ0osSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2QsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNkLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzdCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIscURBQXFEO0lBQ3JELFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNkLEdBQ0wsT0FBTyxDQUFDO0lBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUFDLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtDQUFFLENBQUMsQ0EySDlGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start_anvil.d.ts","sourceRoot":"","sources":["../../src/test/start_anvil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start_anvil.d.ts","sourceRoot":"","sources":["../../src/test/start_anvil.ts"],"names":[],"mappings":"AAOA,8EAA8E;AAC9E,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC;IACtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,OAAO,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA2H9F"}
|
package/dest/test/start_anvil.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { makeBackoff, retry } from '@aztec/foundation/retry';
|
|
3
3
|
import { fileURLToPath } from '@aztec/foundation/url';
|
|
4
|
-
import {
|
|
4
|
+
import { spawn } from 'child_process';
|
|
5
5
|
import { dirname, resolve } from 'path';
|
|
6
6
|
/**
|
|
7
7
|
* Ensures there's a running Anvil instance and returns the RPC URL.
|
|
@@ -9,46 +9,146 @@ import { dirname, resolve } from 'path';
|
|
|
9
9
|
const anvilBinary = resolve(dirname(fileURLToPath(import.meta.url)), '../../', 'scripts/anvil_kill_wrapper.sh');
|
|
10
10
|
const logger = opts.log ? createLogger('ethereum:anvil') : undefined;
|
|
11
11
|
const methodCalls = opts.captureMethodCalls ? [] : undefined;
|
|
12
|
-
let
|
|
13
|
-
// Start anvil.
|
|
14
|
-
// We go via a wrapper script to ensure if the parent dies, anvil dies.
|
|
12
|
+
let detectedPort;
|
|
15
13
|
const anvil = await retry(async ()=>{
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
host
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
accounts
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
14
|
+
const port = opts.port ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : 8545);
|
|
15
|
+
const args = [
|
|
16
|
+
'--host',
|
|
17
|
+
'127.0.0.1',
|
|
18
|
+
'--port',
|
|
19
|
+
String(port),
|
|
20
|
+
'--accounts',
|
|
21
|
+
String(opts.accounts ?? 20),
|
|
22
|
+
'--gas-limit',
|
|
23
|
+
String(45_000_000),
|
|
24
|
+
'--chain-id',
|
|
25
|
+
String(opts.chainId ?? 31337)
|
|
26
|
+
];
|
|
27
|
+
if (opts.l1BlockTime !== undefined) {
|
|
28
|
+
args.push('--block-time', String(opts.l1BlockTime));
|
|
29
|
+
}
|
|
30
|
+
if (opts.hardfork !== undefined) {
|
|
31
|
+
args.push('--hardfork', opts.hardfork);
|
|
32
|
+
}
|
|
33
|
+
const child = spawn(anvilBinary, args, {
|
|
34
|
+
stdio: [
|
|
35
|
+
'ignore',
|
|
36
|
+
'pipe',
|
|
37
|
+
'pipe'
|
|
38
|
+
],
|
|
39
|
+
env: {
|
|
40
|
+
...process.env,
|
|
41
|
+
RAYON_NUM_THREADS: '1'
|
|
31
42
|
}
|
|
32
43
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
// Wait for "Listening on" or an early exit.
|
|
45
|
+
await new Promise((resolve, reject)=>{
|
|
46
|
+
let stderr = '';
|
|
47
|
+
const onStdout = (data)=>{
|
|
48
|
+
const text = data.toString();
|
|
49
|
+
logger?.debug(text.trim());
|
|
50
|
+
methodCalls?.push(...text.match(/eth_[^\s]+/g) || []);
|
|
51
|
+
if (detectedPort === undefined && text.includes('Listening on')) {
|
|
52
|
+
const match = text.match(/Listening on ([^:]+):(\d+)/);
|
|
53
|
+
if (match) {
|
|
54
|
+
detectedPort = parseInt(match[2]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (detectedPort !== undefined) {
|
|
58
|
+
child.stdout?.removeListener('data', onStdout);
|
|
59
|
+
child.stderr?.removeListener('data', onStderr);
|
|
60
|
+
child.removeListener('close', onClose);
|
|
61
|
+
resolve();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const onStderr = (data)=>{
|
|
65
|
+
stderr += data.toString();
|
|
66
|
+
logger?.debug(data.toString().trim());
|
|
67
|
+
};
|
|
68
|
+
const onClose = (code)=>{
|
|
69
|
+
child.stdout?.removeListener('data', onStdout);
|
|
70
|
+
child.stderr?.removeListener('data', onStderr);
|
|
71
|
+
reject(new Error(`Anvil exited with code ${code} before listening. stderr: ${stderr}`));
|
|
72
|
+
};
|
|
73
|
+
child.stdout?.on('data', onStdout);
|
|
74
|
+
child.stderr?.on('data', onStderr);
|
|
75
|
+
child.once('close', onClose);
|
|
76
|
+
});
|
|
77
|
+
// Continue piping for logging / method-call capture after startup.
|
|
78
|
+
if (logger || opts.captureMethodCalls) {
|
|
79
|
+
child.stdout?.on('data', (data)=>{
|
|
80
|
+
const text = data.toString();
|
|
81
|
+
logger?.debug(text.trim());
|
|
82
|
+
methodCalls?.push(...text.match(/eth_[^\s]+/g) || []);
|
|
83
|
+
});
|
|
84
|
+
child.stderr?.on('data', (data)=>{
|
|
85
|
+
logger?.debug(data.toString().trim());
|
|
86
|
+
});
|
|
87
|
+
} else {
|
|
88
|
+
// Consume streams so the child process doesn't block on full pipe buffers.
|
|
89
|
+
child.stdout?.resume();
|
|
90
|
+
child.stderr?.resume();
|
|
36
91
|
}
|
|
37
|
-
return
|
|
92
|
+
return child;
|
|
38
93
|
}, 'Start anvil', makeBackoff([
|
|
39
94
|
5,
|
|
40
95
|
5,
|
|
41
96
|
5
|
|
42
97
|
]));
|
|
43
|
-
if (!
|
|
98
|
+
if (!detectedPort) {
|
|
44
99
|
throw new Error('Failed to start anvil');
|
|
45
100
|
}
|
|
46
|
-
|
|
47
|
-
|
|
101
|
+
const port = detectedPort;
|
|
102
|
+
let status = 'listening';
|
|
103
|
+
anvil.once('close', ()=>{
|
|
104
|
+
status = 'idle';
|
|
105
|
+
});
|
|
106
|
+
const stop = async ()=>{
|
|
107
|
+
if (status === 'idle') {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
await killChild(anvil);
|
|
111
|
+
};
|
|
112
|
+
const anvilObj = {
|
|
113
|
+
port,
|
|
114
|
+
host: '127.0.0.1',
|
|
115
|
+
get status () {
|
|
116
|
+
return status;
|
|
117
|
+
},
|
|
118
|
+
stop
|
|
119
|
+
};
|
|
48
120
|
return {
|
|
49
|
-
anvil,
|
|
121
|
+
anvil: anvilObj,
|
|
50
122
|
methodCalls,
|
|
51
|
-
stop
|
|
123
|
+
stop,
|
|
52
124
|
rpcUrl: `http://127.0.0.1:${port}`
|
|
53
125
|
};
|
|
54
126
|
}
|
|
127
|
+
/** Send SIGTERM, wait up to 5 s, then SIGKILL. All timers are always cleared. */ function killChild(child) {
|
|
128
|
+
return new Promise((resolve)=>{
|
|
129
|
+
if (child.exitCode !== null || child.killed) {
|
|
130
|
+
child.stdout?.destroy();
|
|
131
|
+
child.stderr?.destroy();
|
|
132
|
+
resolve();
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
let killTimer;
|
|
136
|
+
const onClose = ()=>{
|
|
137
|
+
if (killTimer !== undefined) {
|
|
138
|
+
clearTimeout(killTimer);
|
|
139
|
+
}
|
|
140
|
+
// Destroy stdio streams so their PipeWrap handles don't keep the event loop alive.
|
|
141
|
+
child.stdout?.destroy();
|
|
142
|
+
child.stderr?.destroy();
|
|
143
|
+
resolve();
|
|
144
|
+
};
|
|
145
|
+
child.once('close', onClose);
|
|
146
|
+
child.kill('SIGTERM');
|
|
147
|
+
killTimer = setTimeout(()=>{
|
|
148
|
+
killTimer = undefined;
|
|
149
|
+
child.kill('SIGKILL');
|
|
150
|
+
}, 5000);
|
|
151
|
+
// Ensure the timer does not prevent Node from exiting.
|
|
152
|
+
killTimer.unref();
|
|
153
|
+
});
|
|
154
|
+
}
|
|
@@ -9,4 +9,4 @@ export declare function createGovernanceProposal(payloadAddress: `0x${string}`,
|
|
|
9
9
|
voteAmount: bigint;
|
|
10
10
|
proposalId: bigint;
|
|
11
11
|
}>;
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZV91dGlscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvdXBncmFkZV91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbEUsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQUUsS0FBSyxpQkFBaUIsRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUd2RixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXZFLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRzlFLHdCQUFzQix5QkFBeUIsQ0FDN0MsVUFBVSxFQUFFLE1BQU0sRUFDbEIsVUFBVSxFQUFFLHFCQUFxQixDQUFDLE9BQU8sYUFBYSxFQUFFLGdCQUFnQixDQUFDLEVBQ3pFLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFVBQVUsRUFBRSxpQkFBaUIsRUFDN0IsUUFBUSxFQUFFLHdCQUF3QixFQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQ2pCLE1BQU0sRUFBRSxNQUFNLGlCQW1DZjtBQUVELHdCQUFzQix3QkFBd0IsQ0FDNUMsY0FBYyxFQUFFLEtBQUssTUFBTSxFQUFFLEVBQzdCLFNBQVMsRUFBRSxtQkFBbUIsRUFDOUIsVUFBVSxFQUFFLGlCQUFpQixFQUM3QixZQUFZLEVBQUUsZ0JBQWdCLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDO0lBQ1QsVUFBVSxFQUFFLHFCQUFxQixDQUFDLE9BQU8sYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDMUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUMsQ0F5Q0QifQ==
|
|
@@ -3,13 +3,13 @@ import { GovernanceAbi } from '@aztec/l1-artifacts/GovernanceAbi';
|
|
|
3
3
|
import { TestERC20Abi as StakingAssetAbi } from '@aztec/l1-artifacts/TestERC20Abi';
|
|
4
4
|
import { getContract } from 'viem';
|
|
5
5
|
import { extractProposalIdFromLogs } from '../contracts/governance.js';
|
|
6
|
-
import {
|
|
6
|
+
import { createL1TxUtils } from '../l1_tx_utils/index.js';
|
|
7
7
|
import { EthCheatCodes } from './eth_cheat_codes.js';
|
|
8
8
|
export async function executeGovernanceProposal(proposalId, governance, voteAmount, privateKey, l1Client, rpcUrls, logger) {
|
|
9
9
|
const proposal = await governance.read.getProposal([
|
|
10
10
|
proposalId
|
|
11
11
|
]);
|
|
12
|
-
const l1TxUtils =
|
|
12
|
+
const l1TxUtils = createL1TxUtils(l1Client);
|
|
13
13
|
const waitL1Block = async ()=>{
|
|
14
14
|
await l1TxUtils.sendAndMonitorTransaction({
|
|
15
15
|
to: l1Client.account.address,
|
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=
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixHQUFHLEVBQ0gsT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixHQUFHLEVBQ0gsYUFBYSxFQUNiLGFBQWEsRUFDYixZQUFZLEVBQ1osZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sTUFBTSxDQUFDO0FBRWQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUV2RixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakM7UUFDRSxNQUFNLEVBQUUsd0JBQXdCLENBQUM7UUFDakMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFO1lBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQTtTQUFFLENBQUMsQ0FBQztRQUN2RSxVQUFVLEVBQUUsY0FBYyxDQUFDO0tBQzVCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsbUJBQW1CLENBQUM7UUFDNUIsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwQyxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztLQUN4QztDQUNGLENBQUM7QUFFRixvREFBb0Q7QUFDcEQsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ1YsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNaLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNiLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNWLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNkLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNaLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNmLEtBQUssQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDO0NBQzFCLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxNQUFNLFdBQVcsR0FBRztJQUN4QixJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ1YsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixHQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDVixLQUFLLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDWixLQUFLLENBQUMsRUFBRSxHQUFHLENBQUM7Q0FDYixDQUFDO0FBRUYsaURBQWlEO0FBQ2pELE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEIsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ2QsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDO0NBQ2QsQ0FBQztBQUVGLG1FQUFtRTtBQUNuRSxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNwQixNQUFNLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDckIsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2YsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDdkIsSUFBSSxFQUFFLE1BQU0sQ0FBQztDQUNkLENBQUM7QUFFRixtRUFBbUU7QUFDbkUsTUFBTSxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FDOUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsRUFDbEMsS0FBSyxFQUNMLFNBQVMsRUFDVDtJQUFDLEdBQUcsZUFBZTtJQUFFLEdBQUcsb0JBQW9CO0NBQUMsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQzNDLGlCQUFpQixDQUFDLFNBQVMsYUFBYSxFQUFFLENBQUMsRUFDM0MsS0FBSyxFQUNMLE9BQU8sRUFDUDtJQUFDLEdBQUcsZUFBZTtJQUFFLEdBQUcsZUFBZTtDQUFDLEVBQ3hDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDbEcsQ0FBQztBQUVGLDRGQUE0RjtBQUM1RixNQUFNLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixHQUFHLHdCQUF3QixDQUFDO0FBRXJFLDZFQUE2RTtBQUM3RSxNQUFNLE1BQU0sWUFBWSxDQUFDLElBQUksU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFbkcsd0JBQWdCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxVQUFVLEdBQUcsTUFBTSxJQUFJLHdCQUF3QixDQUV2RiJ9
|
package/dest/types.d.ts.map
CHANGED
|
@@ -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/
|
|
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
|
-
|
|
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=
|
package/dest/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
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
|
+
}
|
|
@@ -12,4 +12,4 @@ export declare const ZK_PASSPORT_DOMAIN = "testnet.aztec.network";
|
|
|
12
12
|
* The default scope of the zk passport proofs
|
|
13
13
|
*/
|
|
14
14
|
export declare const ZK_PASSPORT_SCOPE = "personhood";
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemtQYXNzcG9ydFZlcmlmaWVyQWRkcmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3prUGFzc3BvcnRWZXJpZmllckFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNEOzs7R0FHRztBQUNILGVBQU8sTUFBTSw0QkFBNEIsWUFBc0UsQ0FBQztBQUNoSDs7R0FFRztBQUNILGVBQU8sTUFBTSxrQkFBa0IsMEJBQTBCLENBQUM7QUFDMUQ7O0dBRUc7QUFDSCxlQUFPLE1BQU0saUJBQWlCLGVBQWUsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/ethereum",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.c0b82b2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
|
-
"
|
|
7
|
-
"./
|
|
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/
|
|
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-
|
|
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 && tsc
|
|
23
|
-
"build:dev": "tsc
|
|
40
|
+
"build": "yarn clean && ../scripts/tsc.sh",
|
|
41
|
+
"build:dev": "../scripts/tsc.sh --watch",
|
|
24
42
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
25
|
-
"
|
|
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,16 +50,15 @@
|
|
|
31
50
|
"../package.common.json"
|
|
32
51
|
],
|
|
33
52
|
"dependencies": {
|
|
34
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
35
|
-
"@aztec/constants": "0.0.1-commit.
|
|
36
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
37
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
38
|
-
"@viem/anvil": "^0.0.10",
|
|
53
|
+
"@aztec/blob-lib": "0.0.1-commit.c0b82b2",
|
|
54
|
+
"@aztec/constants": "0.0.1-commit.c0b82b2",
|
|
55
|
+
"@aztec/foundation": "0.0.1-commit.c0b82b2",
|
|
56
|
+
"@aztec/l1-artifacts": "0.0.1-commit.c0b82b2",
|
|
39
57
|
"dotenv": "^16.0.3",
|
|
40
58
|
"lodash.chunk": "^4.2.0",
|
|
41
59
|
"lodash.pickby": "^4.5.0",
|
|
42
60
|
"tslib": "^2.4.0",
|
|
43
|
-
"viem": "npm:@
|
|
61
|
+
"viem": "npm:@aztec/viem@2.38.2",
|
|
44
62
|
"zod": "^3.23.8"
|
|
45
63
|
},
|
|
46
64
|
"devDependencies": {
|
|
@@ -49,7 +67,7 @@
|
|
|
49
67
|
"@types/jest": "^30.0.0",
|
|
50
68
|
"@types/lodash.pickby": "^4",
|
|
51
69
|
"@types/node": "^22.15.17",
|
|
52
|
-
"@
|
|
70
|
+
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
53
71
|
"get-port": "^7.1.0",
|
|
54
72
|
"jest": "^30.0.0",
|
|
55
73
|
"jest-mock-extended": "^4.0.0",
|
|
@@ -62,7 +80,7 @@
|
|
|
62
80
|
"src",
|
|
63
81
|
"!*.test.*"
|
|
64
82
|
],
|
|
65
|
-
"types": "./dest/
|
|
83
|
+
"types": "./dest/types.d.ts",
|
|
66
84
|
"jest": {
|
|
67
85
|
"moduleNameMapper": {
|
|
68
86
|
"^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
|
package/src/client.ts
CHANGED
|
@@ -36,7 +36,7 @@ export function getPublicClient(config: Config): ViemPublicClient {
|
|
|
36
36
|
const chain = createEthereumChain(config.l1RpcUrls, config.l1ChainId);
|
|
37
37
|
return createPublicClient({
|
|
38
38
|
chain: chain.chainInfo,
|
|
39
|
-
transport: fallback(config.l1RpcUrls.map(url => http(url))),
|
|
39
|
+
transport: fallback(config.l1RpcUrls.map(url => http(url, { batch: false }))),
|
|
40
40
|
pollingInterval: config.viemPollingIntervalMS,
|
|
41
41
|
});
|
|
42
42
|
}
|
|
@@ -88,7 +88,7 @@ export function createExtendedL1Client(
|
|
|
88
88
|
const extendedClient = createWalletClient({
|
|
89
89
|
account: hdAccount,
|
|
90
90
|
chain,
|
|
91
|
-
transport: fallback(rpcUrls.map(url => http(url))),
|
|
91
|
+
transport: fallback(rpcUrls.map(url => http(url, { batch: false }))),
|
|
92
92
|
pollingInterval: pollingIntervalMS,
|
|
93
93
|
}).extend(publicActions);
|
|
94
94
|
|