@aztec/ethereum 3.0.0-canary.a9708bd → 3.0.0-devnet.20251212
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 +2 -2
- package/dest/client.d.ts.map +1 -1
- package/dest/config.d.ts +16 -8
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +160 -62
- package/dest/constants.d.ts +1 -1
- package/dest/contracts/empire_base.d.ts +7 -6
- 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 +7 -6
- package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/empire_slashing_proposer.js +9 -3
- 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 +4 -4
- package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
- 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 +16 -16
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +7 -3
- package/dest/contracts/governance_proposer.d.ts +6 -6
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +9 -4
- package/dest/contracts/gse.d.ts +1 -1
- package/dest/contracts/gse.d.ts.map +1 -1
- package/dest/contracts/inbox.d.ts +1 -1
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/index.d.ts +1 -1
- package/dest/contracts/multicall.d.ts +5 -7
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +6 -4
- package/dest/contracts/registry.d.ts +1 -1
- package/dest/contracts/registry.d.ts.map +1 -1
- package/dest/contracts/rollup.d.ts +83 -72
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +144 -139
- package/dest/contracts/slasher_contract.d.ts +11 -1
- package/dest/contracts/slasher_contract.d.ts.map +1 -1
- package/dest/contracts/slasher_contract.js +18 -0
- package/dest/contracts/tally_slashing_proposer.d.ts +30 -9
- package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/tally_slashing_proposer.js +58 -8
- package/dest/contracts/utils.d.ts +1 -1
- package/dest/deploy_l1_contracts.d.ts +477 -15
- package/dest/deploy_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_l1_contracts.js +610 -386
- 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/l1_artifacts.d.ts +14258 -6015
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_artifacts.js +10 -5
- package/dest/l1_contract_addresses.d.ts +8 -4
- package/dest/l1_contract_addresses.d.ts.map +1 -1
- package/dest/l1_contract_addresses.js +16 -26
- package/dest/l1_reader.d.ts +4 -2
- package/dest/l1_reader.d.ts.map +1 -1
- package/dest/l1_reader.js +14 -8
- package/dest/l1_tx_utils/config.d.ts +59 -0
- package/dest/l1_tx_utils/config.d.ts.map +1 -0
- package/dest/l1_tx_utils/config.js +96 -0
- package/dest/l1_tx_utils/constants.d.ts +6 -0
- package/dest/l1_tx_utils/constants.d.ts.map +1 -0
- package/dest/l1_tx_utils/constants.js +14 -0
- package/dest/l1_tx_utils/factory.d.ts +24 -0
- package/dest/l1_tx_utils/factory.d.ts.map +1 -0
- package/dest/l1_tx_utils/factory.js +12 -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 +48 -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 +10 -0
- package/dest/l1_tx_utils/index.d.ts.map +1 -0
- package/dest/l1_tx_utils/index.js +10 -0
- package/dest/l1_tx_utils/interfaces.d.ts +76 -0
- package/dest/l1_tx_utils/interfaces.d.ts.map +1 -0
- package/dest/l1_tx_utils/interfaces.js +4 -0
- package/dest/l1_tx_utils/l1_tx_utils.d.ts +94 -0
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -0
- package/dest/l1_tx_utils/l1_tx_utils.js +623 -0
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +26 -0
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +1 -0
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +26 -0
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +94 -0
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -0
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +431 -0
- package/dest/l1_tx_utils/signer.d.ts +4 -0
- package/dest/l1_tx_utils/signer.d.ts.map +1 -0
- package/dest/l1_tx_utils/signer.js +16 -0
- package/dest/l1_tx_utils/types.d.ts +67 -0
- package/dest/l1_tx_utils/types.d.ts.map +1 -0
- package/dest/l1_tx_utils/types.js +26 -0
- package/dest/l1_tx_utils/utils.d.ts +4 -0
- package/dest/l1_tx_utils/utils.d.ts.map +1 -0
- package/dest/l1_tx_utils/utils.js +14 -0
- package/dest/l1_types.d.ts +1 -1
- package/dest/publisher_manager.d.ts +8 -3
- package/dest/publisher_manager.d.ts.map +1 -1
- package/dest/publisher_manager.js +36 -8
- package/dest/queries.d.ts +1 -1
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +13 -12
- package/dest/test/chain_monitor.d.ts +33 -19
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +100 -33
- package/dest/test/delayed_tx_utils.d.ts +3 -3
- package/dest/test/delayed_tx_utils.d.ts.map +1 -1
- package/dest/test/delayed_tx_utils.js +2 -2
- package/dest/test/eth_cheat_codes.d.ts +36 -14
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/eth_cheat_codes.js +124 -31
- 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 -1
- package/dest/test/rollup_cheat_codes.d.ts +23 -20
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +79 -42
- package/dest/test/start_anvil.d.ts +2 -1
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +2 -1
- package/dest/test/tx_delayer.d.ts +1 -1
- package/dest/test/tx_delayer.d.ts.map +1 -1
- package/dest/test/tx_delayer.js +3 -2
- package/dest/test/upgrade_utils.d.ts +1 -1
- package/dest/test/upgrade_utils.d.ts.map +1 -1
- package/dest/test/upgrade_utils.js +3 -2
- package/dest/types.d.ts +57 -2
- package/dest/types.d.ts.map +1 -1
- package/dest/utils.d.ts +2 -2
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +10 -161
- package/dest/zkPassportVerifierAddress.d.ts +1 -1
- package/dest/zkPassportVerifierAddress.js +1 -1
- package/package.json +27 -13
- package/src/client.ts +1 -1
- package/src/config.ts +177 -65
- package/src/contracts/empire_base.ts +7 -6
- package/src/contracts/empire_slashing_proposer.ts +18 -8
- package/src/contracts/fee_asset_handler.ts +1 -1
- package/src/contracts/governance.ts +3 -3
- package/src/contracts/governance_proposer.ts +14 -9
- package/src/contracts/multicall.ts +12 -10
- package/src/contracts/rollup.ts +170 -171
- package/src/contracts/slasher_contract.ts +22 -0
- package/src/contracts/tally_slashing_proposer.ts +63 -12
- package/src/deploy_l1_contracts.ts +610 -337
- package/src/forwarder_proxy.ts +108 -0
- package/src/l1_artifacts.ts +14 -6
- package/src/l1_contract_addresses.ts +17 -26
- package/src/l1_reader.ts +17 -9
- package/src/l1_tx_utils/README.md +177 -0
- package/src/l1_tx_utils/config.ts +161 -0
- package/src/l1_tx_utils/constants.ts +18 -0
- package/src/l1_tx_utils/factory.ts +64 -0
- package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +119 -0
- package/src/l1_tx_utils/index-blobs.ts +2 -0
- package/src/l1_tx_utils/index.ts +12 -0
- package/src/l1_tx_utils/interfaces.ts +86 -0
- package/src/l1_tx_utils/l1_tx_utils.ts +738 -0
- package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +77 -0
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +557 -0
- package/src/l1_tx_utils/signer.ts +28 -0
- package/src/l1_tx_utils/types.ts +85 -0
- package/src/l1_tx_utils/utils.ts +16 -0
- package/src/publisher_manager.ts +51 -9
- package/src/queries.ts +16 -8
- package/src/test/chain_monitor.ts +118 -36
- package/src/test/delayed_tx_utils.ts +2 -2
- package/src/test/eth_cheat_codes.ts +149 -30
- package/src/test/rollup_cheat_codes.ts +94 -52
- package/src/test/start_anvil.ts +2 -0
- package/src/test/tx_delayer.ts +4 -2
- package/src/test/upgrade_utils.ts +3 -2
- package/src/types.ts +62 -0
- package/src/utils.ts +12 -184
- package/src/zkPassportVerifierAddress.ts +1 -1
- 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.d.ts +0 -250
- package/dest/l1_tx_utils.d.ts.map +0 -1
- package/dest/l1_tx_utils.js +0 -826
- package/dest/l1_tx_utils_with_blobs.d.ts +0 -19
- package/dest/l1_tx_utils_with_blobs.d.ts.map +0 -1
- package/dest/l1_tx_utils_with_blobs.js +0 -85
- package/src/index.ts +0 -17
- package/src/l1_tx_utils.ts +0 -1105
- package/src/l1_tx_utils_with_blobs.ts +0 -144
package/dest/account.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare function getAddressFromPrivateKey(privateKey: `0x${string}`): `0x${string}`;
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsd0JBQWdCLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUFHLEtBQUssTUFBTSxFQUFFLENBRWpGIn0=
|
package/dest/chain.d.ts
CHANGED
|
@@ -22,4 +22,4 @@ export declare function createEthereumChain(rpcUrls: string[], _chainId: number
|
|
|
22
22
|
* Helper function to determine if a chain id is an instance of Anvil
|
|
23
23
|
*/
|
|
24
24
|
export declare function isAnvilTestChain(_chainId: number | string): boolean;
|
|
25
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLbEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsYUFBYTtJQUM1Qjs7T0FFRztJQUNILFNBQVMsRUFBRSxLQUFLLENBQUM7SUFFakI7O09BRUc7SUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDbkI7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxhQUFhLENBK0IvRjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FTbkUifQ==
|
package/dest/client.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Logger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { type Chain, type HDAccount, type LocalAccount, type PrivateKeyAccount } from 'viem';
|
|
3
3
|
import type { ExtendedViemWalletClient, ViemPublicClient } from './types.js';
|
|
4
4
|
type Config = {
|
|
5
|
-
/**
|
|
5
|
+
/** List of URLs of Ethereum RPC nodes that services will connect to (comma separated). */
|
|
6
6
|
l1RpcUrls: string[];
|
|
7
7
|
/** The chain ID of the ethereum host. */
|
|
8
8
|
l1ChainId: number;
|
|
@@ -15,4 +15,4 @@ export declare function getPublicClient(config: Config): ViemPublicClient;
|
|
|
15
15
|
/** Returns a viem public client after waiting for the L1 RPC node to become available. */
|
|
16
16
|
export declare function waitForPublicClient(config: Config, logger?: Logger): Promise<ViemPublicClient>;
|
|
17
17
|
export declare function createExtendedL1Client(rpcUrls: string[], mnemonicOrPrivateKeyOrHdAccount: string | HDAccount | PrivateKeyAccount | LocalAccount, chain?: Chain, pollingIntervalMS?: number, addressIndex?: number): ExtendedViemWalletClient;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELE9BQU8sRUFDTCxLQUFLLEtBQUssRUFDVixLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxpQkFBaUIsRUFNdkIsTUFBTSxNQUFNLENBQUM7QUFLZCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3RSxLQUFLLE1BQU0sR0FBRztJQUNaLDBGQUEwRjtJQUMxRixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMkNBQTJDO0lBQzNDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2hDLENBQUM7QUFFRixZQUFZLEVBQUUsTUFBTSxJQUFJLG9CQUFvQixFQUFFLENBQUM7QUFJL0Msd0RBQXdEO0FBQ3hELHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FPaEU7QUFFRCwwRkFBMEY7QUFDMUYsd0JBQXNCLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUlwRztBQXlCRCx3QkFBZ0Isc0JBQXNCLENBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsK0JBQStCLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxpQkFBaUIsR0FBRyxZQUFZLEVBQ3RGLEtBQUssR0FBRSxLQUFlLEVBQ3RCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxFQUMxQixZQUFZLENBQUMsRUFBRSxNQUFNLEdBQ3BCLHdCQUF3QixDQWdCMUIifQ==
|
package/dest/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAMvB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,MAAM,GAAG;IACZ,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAMvB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,MAAM,GAAG;IACZ,0FAA0F;IAC1F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;AAI/C,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAOhE;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG;AAyBD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,+BAA+B,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,EACtF,KAAK,GAAE,KAAe,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,wBAAwB,CAgB1B"}
|
package/dest/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ConfigMappingsType, type NetworkNames } from '@aztec/foundation/config';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
-
import { type L1TxUtilsConfig } from './l1_tx_utils.js';
|
|
3
|
+
import { type L1TxUtilsConfig } from './l1_tx_utils/index.js';
|
|
4
4
|
export type GenesisStateConfig = {
|
|
5
5
|
/** Whether to populate the genesis state with initial fee juice for the test accounts */
|
|
6
6
|
testAccounts: boolean;
|
|
@@ -16,12 +16,18 @@ export type L1ContractsConfig = {
|
|
|
16
16
|
aztecEpochDuration: number;
|
|
17
17
|
/** The target validator committee size. */
|
|
18
18
|
aztecTargetCommitteeSize: number;
|
|
19
|
+
/** The number of epochs to lag behind the current epoch for validator selection. */
|
|
20
|
+
lagInEpochsForValidatorSet: number;
|
|
21
|
+
/** The number of epochs to lag behind the current epoch for randao selection. */
|
|
22
|
+
lagInEpochsForRandao: number;
|
|
19
23
|
/** The number of epochs after an epoch ends that proofs are still accepted. */
|
|
20
24
|
aztecProofSubmissionEpochs: number;
|
|
21
25
|
/** The deposit amount for a validator */
|
|
22
26
|
activationThreshold: bigint;
|
|
23
27
|
/** The minimum stake for a validator. */
|
|
24
28
|
ejectionThreshold: bigint;
|
|
29
|
+
/** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
|
|
30
|
+
localEjectionThreshold: bigint;
|
|
25
31
|
/** The slashing quorum, i.e. how many slots must signal for the same payload in a round for it to be submittable to the Slasher (defaults to slashRoundSize / 2 + 1) */
|
|
26
32
|
slashingQuorum?: number;
|
|
27
33
|
/** The slashing round size, i.e. how many epochs are in a slashing round */
|
|
@@ -34,6 +40,8 @@ export type L1ContractsConfig = {
|
|
|
34
40
|
slashingVetoer: EthAddress;
|
|
35
41
|
/** How many slashing rounds back we slash (ie when slashing in round N, we slash for offenses committed during epochs of round N-offset) */
|
|
36
42
|
slashingOffsetInRounds: number;
|
|
43
|
+
/** How long slashing can be disabled for in seconds when vetoer disables it */
|
|
44
|
+
slashingDisableDuration: number;
|
|
37
45
|
/** Type of slasher proposer */
|
|
38
46
|
slasherFlavor: 'empire' | 'tally' | 'none';
|
|
39
47
|
/** Minimum amount that can be slashed in tally slashing */
|
|
@@ -58,9 +66,12 @@ export declare const DefaultL1ContractsConfig: {
|
|
|
58
66
|
aztecSlotDuration: number;
|
|
59
67
|
aztecEpochDuration: number;
|
|
60
68
|
aztecTargetCommitteeSize: number;
|
|
69
|
+
lagInEpochsForValidatorSet: number;
|
|
70
|
+
lagInEpochsForRandao: number;
|
|
61
71
|
aztecProofSubmissionEpochs: number;
|
|
62
72
|
activationThreshold: bigint;
|
|
63
73
|
ejectionThreshold: bigint;
|
|
74
|
+
localEjectionThreshold: bigint;
|
|
64
75
|
slashAmountSmall: bigint;
|
|
65
76
|
slashAmountMedium: bigint;
|
|
66
77
|
slashAmountLarge: bigint;
|
|
@@ -74,6 +85,7 @@ export declare const DefaultL1ContractsConfig: {
|
|
|
74
85
|
exitDelaySeconds: number;
|
|
75
86
|
slasherFlavor: "tally";
|
|
76
87
|
slashingOffsetInRounds: number;
|
|
88
|
+
slashingDisableDuration: number;
|
|
77
89
|
};
|
|
78
90
|
export declare const getGovernanceConfiguration: (networkName: NetworkNames) => {
|
|
79
91
|
proposeConfig: {
|
|
@@ -88,17 +100,13 @@ export declare const getGovernanceConfiguration: (networkName: NetworkNames) =>
|
|
|
88
100
|
requiredYeaMargin: bigint;
|
|
89
101
|
minimumVotes: bigint;
|
|
90
102
|
};
|
|
91
|
-
export declare const getGSEConfiguration: (networkName: NetworkNames) => {
|
|
92
|
-
activationThreshold: bigint;
|
|
93
|
-
ejectionThreshold: bigint;
|
|
94
|
-
};
|
|
95
103
|
export declare const getRewardConfig: (networkName: NetworkNames) => {
|
|
96
104
|
sequencerBps: number;
|
|
97
105
|
rewardDistributor: `0x${string}`;
|
|
98
106
|
booster: `0x${string}`;
|
|
99
|
-
|
|
107
|
+
checkpointReward: bigint;
|
|
100
108
|
};
|
|
101
|
-
export declare const getRewardBoostConfig: (
|
|
109
|
+
export declare const getRewardBoostConfig: () => {
|
|
102
110
|
increment: number;
|
|
103
111
|
maxScore: number;
|
|
104
112
|
a: number;
|
|
@@ -122,4 +130,4 @@ export declare function getGenesisStateConfigEnvVars(): GenesisStateConfig;
|
|
|
122
130
|
* Accumulates all validation errors and throws an exception listing them all if any are found.
|
|
123
131
|
*/
|
|
124
132
|
export declare function validateConfig(config: Omit<L1ContractsConfig, keyof L1TxUtilsConfig>): void;
|
|
125
|
-
//# sourceMappingURL=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixLQUFLLFlBQVksRUFPbEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUEyQixNQUFNLHdCQUF3QixDQUFDO0FBRXZGLE1BQU0sTUFBTSxrQkFBa0IsR0FBRztJQUMvQix5RkFBeUY7SUFDekYsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0Qix5RkFBeUY7SUFDekYsWUFBWSxFQUFFLE9BQU8sQ0FBQztDQUN2QixDQUFDO0FBRUYsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLHlDQUF5QztJQUN6QyxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IsdUZBQXVGO0lBQ3ZGLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQix3Q0FBd0M7SUFDeEMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLDJDQUEyQztJQUMzQyx3QkFBd0IsRUFBRSxNQUFNLENBQUM7SUFDakMsb0ZBQW9GO0lBQ3BGLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUNuQyxpRkFBaUY7SUFDakYsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQzdCLCtFQUErRTtJQUMvRSwwQkFBMEIsRUFBRSxNQUFNLENBQUM7SUFDbkMseUNBQXlDO0lBQ3pDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1Qix5Q0FBeUM7SUFDekMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLG1IQUFtSDtJQUNuSCxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0Isd0tBQXdLO0lBQ3hLLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN4Qiw0RUFBNEU7SUFDNUUseUJBQXlCLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLGdHQUFnRztJQUNoRyx3QkFBd0IsRUFBRSxNQUFNLENBQUM7SUFDakMseUdBQXlHO0lBQ3pHLDhCQUE4QixFQUFFLE1BQU0sQ0FBQztJQUN2Qyx5RUFBeUU7SUFDekUsY0FBYyxFQUFFLFVBQVUsQ0FBQztJQUMzQiw0SUFBNEk7SUFDNUksc0JBQXNCLEVBQUUsTUFBTSxDQUFDO0lBQy9CLCtFQUErRTtJQUMvRSx1QkFBdUIsRUFBRSxNQUFNLENBQUM7SUFDaEMsK0JBQStCO0lBQy9CLGFBQWEsRUFBRSxRQUFRLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMzQywyREFBMkQ7SUFDM0QsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLCtDQUErQztJQUMvQyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIscUVBQXFFO0lBQ3JFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixnRUFBZ0U7SUFDaEUsd0JBQXdCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEMsc0NBQXNDO0lBQ3RDLDJCQUEyQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixnQ0FBZ0M7SUFDaEMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLGdEQUFnRDtJQUNoRCxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsR0FBRyxlQUFlLENBQUM7QUFFcEIsZUFBTyxNQUFNLHdCQUF3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXlCUixDQUFDO0FBMkU5QixlQUFPLE1BQU0sMEJBQTBCOzs7Ozs7Ozs7Ozs7Q0FtQnRDLENBQUM7QUFvQkYsZUFBTyxNQUFNLGVBQWU7Ozs7O0NBYzNCLENBQUM7QUFFRixlQUFPLE1BQU0sb0JBQW9COzs7Ozs7Q0FVaEMsQ0FBQztBQTJDRixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Q0FtQi9CLENBQUM7QUFFRixlQUFPLE1BQU0seUJBQXlCLEVBQUUsa0JBQWtCLENBQUMsaUJBQWlCLENBdUkzRSxDQUFDO0FBRUYsZUFBTyxNQUFNLDBCQUEwQixFQUFFLGtCQUFrQixDQUFDLGtCQUFrQixDQVc3RSxDQUFDO0FBRUYsd0JBQWdCLDJCQUEyQixJQUFJLGlCQUFpQixDQUUvRDtBQUVELHdCQUFnQiw0QkFBNEIsSUFBSSxrQkFBa0IsQ0FFakU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDLEdBQUcsSUFBSSxDQW1IM0YifQ==
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAOlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAOlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,wBAAwB,CAAC;AAEvF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,oFAAoF;IACpF,0BAA0B,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBR,CAAC;AA2E9B,eAAO,MAAM,0BAA0B;;;;;;;;;;;;CAmBtC,CAAC;AAoBF,eAAO,MAAM,eAAe;;;;;CAc3B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;CAUhC,CAAC;AA2CF,eAAO,MAAM,mBAAmB;;;;;;CAmB/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAuI3E,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAW7E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC,GAAG,IAAI,CAmH3F"}
|
package/dest/config.js
CHANGED
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
import { bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
-
import { l1TxUtilsConfigMappings } from './l1_tx_utils.js';
|
|
3
|
+
import { l1TxUtilsConfigMappings } from './l1_tx_utils/index.js';
|
|
4
4
|
export const DefaultL1ContractsConfig = {
|
|
5
5
|
ethereumSlotDuration: 12,
|
|
6
6
|
aztecSlotDuration: 36,
|
|
7
7
|
aztecEpochDuration: 32,
|
|
8
8
|
aztecTargetCommitteeSize: 48,
|
|
9
|
+
lagInEpochsForValidatorSet: 2,
|
|
10
|
+
lagInEpochsForRandao: 2,
|
|
9
11
|
aztecProofSubmissionEpochs: 1,
|
|
10
|
-
activationThreshold:
|
|
11
|
-
ejectionThreshold:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
activationThreshold: 100n * 10n ** 18n,
|
|
13
|
+
ejectionThreshold: 50n * 10n ** 18n,
|
|
14
|
+
localEjectionThreshold: 98n * 10n ** 18n,
|
|
15
|
+
slashAmountSmall: 10n * 10n ** 18n,
|
|
16
|
+
slashAmountMedium: 20n * 10n ** 18n,
|
|
17
|
+
slashAmountLarge: 50n * 10n ** 18n,
|
|
15
18
|
slashingRoundSizeInEpochs: 4,
|
|
16
19
|
slashingLifetimeInRounds: 5,
|
|
17
20
|
slashingExecutionDelayInRounds: 0,
|
|
18
21
|
slashingVetoer: EthAddress.ZERO,
|
|
19
22
|
governanceProposerRoundSize: 300,
|
|
20
|
-
manaTarget: BigInt(
|
|
23
|
+
manaTarget: BigInt(100e6),
|
|
21
24
|
provingCostPerMana: BigInt(100),
|
|
22
25
|
exitDelaySeconds: 2 * 24 * 60 * 60,
|
|
23
26
|
slasherFlavor: 'tally',
|
|
24
|
-
slashingOffsetInRounds: 2
|
|
27
|
+
slashingOffsetInRounds: 2,
|
|
28
|
+
slashingDisableDuration: 5 * 24 * 60 * 60
|
|
25
29
|
};
|
|
26
30
|
const LocalGovernanceConfiguration = {
|
|
27
31
|
proposeConfig: {
|
|
@@ -36,79 +40,118 @@ const LocalGovernanceConfiguration = {
|
|
|
36
40
|
requiredYeaMargin: 4n * 10n ** 16n,
|
|
37
41
|
minimumVotes: 400n * 10n ** 18n
|
|
38
42
|
};
|
|
39
|
-
const
|
|
43
|
+
const StagingPublicGovernanceConfiguration = {
|
|
40
44
|
proposeConfig: {
|
|
41
|
-
lockDelay: 60n * 60n * 24n,
|
|
45
|
+
lockDelay: 60n * 60n * 24n * 30n,
|
|
42
46
|
lockAmount: DefaultL1ContractsConfig.activationThreshold * 100n
|
|
43
47
|
},
|
|
44
48
|
votingDelay: 60n,
|
|
45
49
|
votingDuration: 60n * 60n,
|
|
46
|
-
executionDelay: 60n
|
|
50
|
+
executionDelay: 60n,
|
|
47
51
|
gracePeriod: 60n * 60n * 24n * 7n,
|
|
48
52
|
quorum: 3n * 10n ** 17n,
|
|
49
53
|
requiredYeaMargin: 4n * 10n ** 16n,
|
|
50
54
|
minimumVotes: DefaultL1ContractsConfig.ejectionThreshold * 200n
|
|
51
55
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
const TestnetGovernanceConfiguration = {
|
|
57
|
+
proposeConfig: {
|
|
58
|
+
lockDelay: 10n * 365n * 24n * 60n * 60n,
|
|
59
|
+
lockAmount: 1250n * 200_000n * 10n ** 18n
|
|
60
|
+
},
|
|
61
|
+
votingDelay: 12n * 60n * 60n,
|
|
62
|
+
votingDuration: 1n * 24n * 60n * 60n,
|
|
63
|
+
executionDelay: 12n * 60n * 60n,
|
|
64
|
+
gracePeriod: 1n * 24n * 60n * 60n,
|
|
65
|
+
quorum: 2n * 10n ** 17n,
|
|
66
|
+
requiredYeaMargin: 1n * 10n ** 17n,
|
|
67
|
+
minimumVotes: 100n * 200_000n * 10n ** 18n
|
|
57
68
|
};
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
69
|
+
const StagingIgnitionGovernanceConfiguration = {
|
|
70
|
+
proposeConfig: {
|
|
71
|
+
lockDelay: 10n * 365n * 24n * 60n * 60n,
|
|
72
|
+
lockAmount: 1250n * 200_000n * 10n ** 18n
|
|
73
|
+
},
|
|
74
|
+
votingDelay: 7n * 24n * 60n * 60n,
|
|
75
|
+
votingDuration: 7n * 24n * 60n * 60n,
|
|
76
|
+
executionDelay: 30n * 24n * 60n * 60n,
|
|
77
|
+
gracePeriod: 7n * 24n * 60n * 60n,
|
|
78
|
+
quorum: 2n * 10n ** 17n,
|
|
79
|
+
requiredYeaMargin: 1n * 10n ** 17n,
|
|
80
|
+
minimumVotes: 1250n * 200_000n * 10n ** 18n
|
|
61
81
|
};
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
82
|
+
const MainnetGovernanceConfiguration = {
|
|
83
|
+
proposeConfig: {
|
|
84
|
+
lockDelay: 90n * 24n * 60n * 60n,
|
|
85
|
+
lockAmount: 258_750_000n * 10n ** 18n
|
|
86
|
+
},
|
|
87
|
+
votingDelay: 3n * 24n * 60n * 60n,
|
|
88
|
+
votingDuration: 7n * 24n * 60n * 60n,
|
|
89
|
+
executionDelay: 7n * 24n * 60n * 60n,
|
|
90
|
+
gracePeriod: 7n * 24n * 60n * 60n,
|
|
91
|
+
quorum: 2n * 10n ** 17n,
|
|
92
|
+
requiredYeaMargin: 33n * 10n ** 16n,
|
|
93
|
+
minimumVotes: 1000n * 200_000n * 10n ** 18n
|
|
65
94
|
};
|
|
66
|
-
export const
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
export const getGovernanceConfiguration = (networkName)=>{
|
|
96
|
+
switch(networkName){
|
|
97
|
+
case 'local':
|
|
98
|
+
return LocalGovernanceConfiguration;
|
|
99
|
+
case 'next-net':
|
|
100
|
+
return LocalGovernanceConfiguration;
|
|
101
|
+
case 'devnet':
|
|
102
|
+
return LocalGovernanceConfiguration;
|
|
103
|
+
case 'staging-public':
|
|
104
|
+
return StagingPublicGovernanceConfiguration;
|
|
105
|
+
case 'testnet':
|
|
106
|
+
return TestnetGovernanceConfiguration;
|
|
107
|
+
case 'staging-ignition':
|
|
108
|
+
return StagingIgnitionGovernanceConfiguration;
|
|
109
|
+
case 'mainnet':
|
|
110
|
+
return MainnetGovernanceConfiguration;
|
|
111
|
+
default:
|
|
112
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
69
113
|
}
|
|
70
|
-
return LocalGSEConfiguration;
|
|
71
114
|
};
|
|
72
115
|
// Making a default config here as we are only using it thought the deployment
|
|
73
116
|
// and do not expect to be using different setups, so having environment variables
|
|
74
117
|
// for it seems overkill
|
|
75
|
-
const
|
|
76
|
-
sequencerBps:
|
|
118
|
+
const DefaultRewardConfig = {
|
|
119
|
+
sequencerBps: 8000,
|
|
77
120
|
rewardDistributor: EthAddress.ZERO.toString(),
|
|
78
121
|
booster: EthAddress.ZERO.toString(),
|
|
79
|
-
|
|
122
|
+
checkpointReward: 500n * 10n ** 18n
|
|
80
123
|
};
|
|
81
|
-
const
|
|
82
|
-
sequencerBps:
|
|
124
|
+
const MainnetRewardConfig = {
|
|
125
|
+
sequencerBps: 7_000,
|
|
83
126
|
rewardDistributor: EthAddress.ZERO.toString(),
|
|
84
127
|
booster: EthAddress.ZERO.toString(),
|
|
85
|
-
|
|
128
|
+
checkpointReward: 400n * 10n ** 18n
|
|
86
129
|
};
|
|
87
130
|
export const getRewardConfig = (networkName)=>{
|
|
88
|
-
|
|
89
|
-
|
|
131
|
+
switch(networkName){
|
|
132
|
+
case 'local':
|
|
133
|
+
case 'devnet':
|
|
134
|
+
case 'next-net':
|
|
135
|
+
case 'staging-public':
|
|
136
|
+
case 'testnet':
|
|
137
|
+
case 'staging-ignition':
|
|
138
|
+
return DefaultRewardConfig;
|
|
139
|
+
case 'mainnet':
|
|
140
|
+
return MainnetRewardConfig;
|
|
141
|
+
default:
|
|
142
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
90
143
|
}
|
|
91
|
-
return LocalRewardConfig;
|
|
92
|
-
};
|
|
93
|
-
const LocalRewardBoostConfig = {
|
|
94
|
-
increment: 200000,
|
|
95
|
-
maxScore: 5000000,
|
|
96
|
-
a: 5000,
|
|
97
|
-
k: 1000000,
|
|
98
|
-
minimum: 100000
|
|
99
144
|
};
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
return LocalRewardBoostConfig;
|
|
145
|
+
export const getRewardBoostConfig = ()=>{
|
|
146
|
+
// The reward configuration is specified with a precision of 1e5, and we use the same across
|
|
147
|
+
// all networks.
|
|
148
|
+
return {
|
|
149
|
+
increment: 125_000,
|
|
150
|
+
maxScore: 15_000_000,
|
|
151
|
+
a: 1_000,
|
|
152
|
+
k: 1_000_000,
|
|
153
|
+
minimum: 100_000
|
|
154
|
+
};
|
|
112
155
|
};
|
|
113
156
|
// Similar to the above, no need for environment variables for this.
|
|
114
157
|
const LocalEntryQueueConfig = {
|
|
@@ -118,18 +161,53 @@ const LocalEntryQueueConfig = {
|
|
|
118
161
|
normalFlushSizeQuotient: 2n,
|
|
119
162
|
maxQueueFlushSize: 48n
|
|
120
163
|
};
|
|
121
|
-
const
|
|
122
|
-
bootstrapValidatorSetSize:
|
|
123
|
-
bootstrapFlushSize:
|
|
164
|
+
const StagingPublicEntryQueueConfig = {
|
|
165
|
+
bootstrapValidatorSetSize: 48n,
|
|
166
|
+
bootstrapFlushSize: 48n,
|
|
124
167
|
normalFlushSizeMin: 1n,
|
|
125
168
|
normalFlushSizeQuotient: 2475n,
|
|
126
169
|
maxQueueFlushSize: 32n
|
|
127
170
|
};
|
|
171
|
+
const TestnetEntryQueueConfig = {
|
|
172
|
+
bootstrapValidatorSetSize: 256n,
|
|
173
|
+
bootstrapFlushSize: 256n,
|
|
174
|
+
normalFlushSizeMin: 4n,
|
|
175
|
+
normalFlushSizeQuotient: 2048n,
|
|
176
|
+
maxQueueFlushSize: 8n
|
|
177
|
+
};
|
|
178
|
+
const StagingIgnitionEntryQueueConfig = {
|
|
179
|
+
bootstrapValidatorSetSize: 48n,
|
|
180
|
+
bootstrapFlushSize: 48n,
|
|
181
|
+
normalFlushSizeMin: 1n,
|
|
182
|
+
normalFlushSizeQuotient: 2048n,
|
|
183
|
+
maxQueueFlushSize: 24n
|
|
184
|
+
};
|
|
185
|
+
const MainnetEntryQueueConfig = {
|
|
186
|
+
bootstrapValidatorSetSize: 1_000n,
|
|
187
|
+
bootstrapFlushSize: 1_000n,
|
|
188
|
+
normalFlushSizeMin: 1n,
|
|
189
|
+
normalFlushSizeQuotient: 2_048n,
|
|
190
|
+
maxQueueFlushSize: 8n
|
|
191
|
+
};
|
|
128
192
|
export const getEntryQueueConfig = (networkName)=>{
|
|
129
|
-
|
|
130
|
-
|
|
193
|
+
switch(networkName){
|
|
194
|
+
case 'local':
|
|
195
|
+
return LocalEntryQueueConfig;
|
|
196
|
+
case 'next-net':
|
|
197
|
+
return LocalEntryQueueConfig;
|
|
198
|
+
case 'devnet':
|
|
199
|
+
return LocalEntryQueueConfig;
|
|
200
|
+
case 'staging-public':
|
|
201
|
+
return StagingPublicEntryQueueConfig;
|
|
202
|
+
case 'testnet':
|
|
203
|
+
return TestnetEntryQueueConfig;
|
|
204
|
+
case 'staging-ignition':
|
|
205
|
+
return StagingIgnitionEntryQueueConfig;
|
|
206
|
+
case 'mainnet':
|
|
207
|
+
return MainnetEntryQueueConfig;
|
|
208
|
+
default:
|
|
209
|
+
throw new Error(`Unrecognized network name: ${networkName}`);
|
|
131
210
|
}
|
|
132
|
-
return LocalEntryQueueConfig;
|
|
133
211
|
};
|
|
134
212
|
export const l1ContractsConfigMappings = {
|
|
135
213
|
ethereumSlotDuration: {
|
|
@@ -152,6 +230,16 @@ export const l1ContractsConfigMappings = {
|
|
|
152
230
|
description: 'The target validator committee size.',
|
|
153
231
|
...numberConfigHelper(DefaultL1ContractsConfig.aztecTargetCommitteeSize)
|
|
154
232
|
},
|
|
233
|
+
lagInEpochsForValidatorSet: {
|
|
234
|
+
env: 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET',
|
|
235
|
+
description: 'The number of epochs to lag behind the current epoch for validator selection.',
|
|
236
|
+
...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochsForValidatorSet)
|
|
237
|
+
},
|
|
238
|
+
lagInEpochsForRandao: {
|
|
239
|
+
env: 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO',
|
|
240
|
+
description: 'The number of epochs to lag behind the current epoch for randao selection.',
|
|
241
|
+
...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochsForRandao)
|
|
242
|
+
},
|
|
155
243
|
aztecProofSubmissionEpochs: {
|
|
156
244
|
env: 'AZTEC_PROOF_SUBMISSION_EPOCHS',
|
|
157
245
|
description: 'The number of epochs after an epoch ends that proofs are still accepted.',
|
|
@@ -167,6 +255,11 @@ export const l1ContractsConfigMappings = {
|
|
|
167
255
|
description: 'The minimum stake for a validator.',
|
|
168
256
|
...bigintConfigHelper(DefaultL1ContractsConfig.ejectionThreshold)
|
|
169
257
|
},
|
|
258
|
+
localEjectionThreshold: {
|
|
259
|
+
env: 'AZTEC_LOCAL_EJECTION_THRESHOLD',
|
|
260
|
+
description: 'The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup',
|
|
261
|
+
...bigintConfigHelper(DefaultL1ContractsConfig.localEjectionThreshold)
|
|
262
|
+
},
|
|
170
263
|
slashingOffsetInRounds: {
|
|
171
264
|
env: 'AZTEC_SLASHING_OFFSET_IN_ROUNDS',
|
|
172
265
|
description: 'How many slashing rounds back we slash (ie when slashing in round N, we slash for offenses committed during epochs of round N-offset)',
|
|
@@ -222,6 +315,11 @@ export const l1ContractsConfigMappings = {
|
|
|
222
315
|
parseEnv: (val)=>EthAddress.fromString(val),
|
|
223
316
|
defaultValue: DefaultL1ContractsConfig.slashingVetoer
|
|
224
317
|
},
|
|
318
|
+
slashingDisableDuration: {
|
|
319
|
+
env: 'AZTEC_SLASHING_DISABLE_DURATION',
|
|
320
|
+
description: 'How long slashing can be disabled for in seconds when vetoer disables it',
|
|
321
|
+
...numberConfigHelper(DefaultL1ContractsConfig.slashingDisableDuration)
|
|
322
|
+
},
|
|
225
323
|
governanceProposerQuorum: {
|
|
226
324
|
env: 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
|
|
227
325
|
description: 'The governance proposing quorum',
|
|
@@ -285,12 +383,12 @@ export function getGenesisStateConfigEnvVars() {
|
|
|
285
383
|
errors.push(`aztecSlotDuration (${config.aztecSlotDuration}) must be a multiple of ethereumSlotDuration (${config.ethereumSlotDuration})`);
|
|
286
384
|
}
|
|
287
385
|
// EmpireBase constructor validations for governance/slashing proposers
|
|
288
|
-
// From: require(QUORUM_SIZE > ROUND_SIZE / 2, Errors.
|
|
386
|
+
// From: require(QUORUM_SIZE > ROUND_SIZE / 2, Errors.EmpireBase__InvalidQuorumAndRoundSize(QUORUM_SIZE, ROUND_SIZE));
|
|
289
387
|
const { governanceProposerQuorum, governanceProposerRoundSize } = config;
|
|
290
388
|
if (governanceProposerQuorum !== undefined && governanceProposerQuorum <= Math.floor(governanceProposerRoundSize / 2)) {
|
|
291
389
|
errors.push(`governanceProposerQuorum (${governanceProposerQuorum}) must be greater than half of governanceProposerRoundSize (${Math.floor(governanceProposerRoundSize / 2)})`);
|
|
292
390
|
}
|
|
293
|
-
// From: require(QUORUM_SIZE <= ROUND_SIZE, Errors.
|
|
391
|
+
// From: require(QUORUM_SIZE <= ROUND_SIZE, Errors.EmpireBase__QuorumCannotBeLargerThanRoundSize(QUORUM_SIZE, ROUND_SIZE));
|
|
294
392
|
if (governanceProposerQuorum !== undefined && governanceProposerQuorum > governanceProposerRoundSize) {
|
|
295
393
|
errors.push(`governanceProposerQuorum (${governanceProposerQuorum}) cannot be larger than governanceProposerRoundSize (${governanceProposerRoundSize})`);
|
|
296
394
|
}
|
package/dest/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Hex } from 'viem';
|
|
2
2
|
export declare const NULL_KEY: Hex;
|
|
3
3
|
export declare const AZTEC_TEST_CHAIN_ID = 677692;
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxlQUFPLE1BQU0sUUFBUSxFQUFFLEdBQStFLENBQUM7QUFDdkcsZUFBTyxNQUFNLG1CQUFtQixTQUFTLENBQUMifQ==
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
3
4
|
import { type Hex, type TypedDataDefinition } from 'viem';
|
|
4
|
-
import type { L1TxRequest } from '../l1_tx_utils.js';
|
|
5
|
+
import type { L1TxRequest } from '../l1_tx_utils/index.js';
|
|
5
6
|
export interface IEmpireBase {
|
|
6
7
|
get address(): EthAddress;
|
|
7
8
|
getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
|
|
8
|
-
lastSignalSlot:
|
|
9
|
+
lastSignalSlot: SlotNumber;
|
|
9
10
|
payloadWithMostSignals: Hex;
|
|
10
11
|
executed: boolean;
|
|
11
12
|
}>;
|
|
12
|
-
computeRound(slot:
|
|
13
|
+
computeRound(slot: SlotNumber): Promise<bigint>;
|
|
13
14
|
createSignalRequest(payload: Hex): L1TxRequest;
|
|
14
|
-
createSignalRequestWithSignature(payload: Hex,
|
|
15
|
+
createSignalRequestWithSignature(payload: Hex, slot: SlotNumber, chainId: number, signerAddress: Hex, signer: (msg: TypedDataDefinition) => Promise<Hex>): Promise<L1TxRequest>;
|
|
15
16
|
}
|
|
16
17
|
export declare function encodeSignal(payload: Hex): Hex;
|
|
17
18
|
export declare function encodeSignalWithSignature(payload: Hex, signature: Signature): `0x${string}`;
|
|
@@ -24,5 +25,5 @@ export declare function encodeSignalWithSignature(payload: Hex, signature: Signa
|
|
|
24
25
|
* @param account - The account to sign with (optional if hoisted on wallet client)
|
|
25
26
|
* @returns The EIP-712 signature
|
|
26
27
|
*/
|
|
27
|
-
export declare function signSignalWithSig(signer: (msg: TypedDataDefinition) => Promise<Hex>, payload: Hex, slot:
|
|
28
|
-
//# sourceMappingURL=
|
|
28
|
+
export declare function signSignalWithSig(signer: (msg: TypedDataDefinition) => Promise<Hex>, payload: Hex, slot: SlotNumber, instance: Hex, verifyingContract: Hex, chainId: number): Promise<Signature>;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZW1waXJlX2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxLQUFLLG1CQUFtQixFQUFzQixNQUFNLE1BQU0sQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxNQUFNLFdBQVcsV0FBVztJQUMxQixJQUFJLE9BQU8sSUFBSSxVQUFVLENBQUM7SUFDMUIsWUFBWSxDQUNWLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDO1FBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQztRQUFDLFFBQVEsRUFBRSxPQUFPLENBQUE7S0FBRSxDQUFDLENBQUM7SUFDM0YsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsV0FBVyxDQUFDO0lBQy9DLGdDQUFnQyxDQUM5QixPQUFPLEVBQUUsR0FBRyxFQUNaLElBQUksRUFBRSxVQUFVLEVBQ2hCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLEdBQUcsRUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDakQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0NBQ3pCO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FNOUM7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxpQkFNM0U7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixpQkFBaUIsQ0FDckMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFDWixJQUFJLEVBQUUsVUFBVSxFQUNoQixRQUFRLEVBQUUsR0FBRyxFQUNiLGlCQUFpQixFQUFFLEdBQUcsRUFDdEIsT0FBTyxFQUFFLE1BQU0sR0FDZCxPQUFPLENBQUMsU0FBUyxDQUFDLENBOEJwQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,mBAAmB,EAAsB,MAAM,MAAM,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,mBAAmB,EAAsB,MAAM,MAAM,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,IAAI,OAAO,IAAI,UAAU,CAAC;IAC1B,YAAY,CACV,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,UAAU,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3F,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/C,gCAAgC,CAC9B,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAM9C;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,iBAM3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,GAAG,EACb,iBAAiB,EAAE,GAAG,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import EventEmitter from 'events';
|
|
3
4
|
import { type Hex, type Log, type TypedDataDefinition } from 'viem';
|
|
4
|
-
import type { L1TxRequest, L1TxUtils } from '../l1_tx_utils.js';
|
|
5
|
+
import type { L1TxRequest, L1TxUtils } from '../l1_tx_utils/index.js';
|
|
5
6
|
import type { ViemClient } from '../types.js';
|
|
6
7
|
import { type IEmpireBase } from './empire_base.js';
|
|
7
8
|
export declare class ProposalAlreadyExecutedError extends Error {
|
|
@@ -12,23 +13,23 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
|
|
|
12
13
|
private readonly logger;
|
|
13
14
|
private readonly proposer;
|
|
14
15
|
readonly type: "empire";
|
|
15
|
-
constructor(client: ViemClient, address: Hex);
|
|
16
|
+
constructor(client: ViemClient, address: Hex | EthAddress);
|
|
16
17
|
get address(): EthAddress;
|
|
17
18
|
getQuorumSize(): Promise<bigint>;
|
|
18
19
|
getRoundSize(): Promise<bigint>;
|
|
19
20
|
getLifetimeInRounds(): Promise<bigint>;
|
|
20
21
|
getExecutionDelayInRounds(): Promise<bigint>;
|
|
21
22
|
getCurrentRound(): Promise<bigint>;
|
|
22
|
-
computeRound(slot:
|
|
23
|
+
computeRound(slot: SlotNumber): Promise<bigint>;
|
|
23
24
|
getInstance(): Promise<`0x${string}`>;
|
|
24
25
|
getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
|
|
25
|
-
lastSignalSlot:
|
|
26
|
+
lastSignalSlot: SlotNumber;
|
|
26
27
|
payloadWithMostSignals: Hex;
|
|
27
28
|
executed: boolean;
|
|
28
29
|
}>;
|
|
29
30
|
getPayloadSignals(rollupAddress: Hex, round: bigint, payload: Hex): Promise<bigint>;
|
|
30
31
|
createSignalRequest(payload: Hex): L1TxRequest;
|
|
31
|
-
createSignalRequestWithSignature(payload: Hex, slot:
|
|
32
|
+
createSignalRequestWithSignature(payload: Hex, slot: SlotNumber, chainId: number, signerAddress: Hex, signer: (msg: TypedDataDefinition) => Promise<Hex>): Promise<L1TxRequest>;
|
|
32
33
|
listenToSubmittablePayloads(callback: (args: {
|
|
33
34
|
payload: `0x${string}`;
|
|
34
35
|
round: bigint;
|
|
@@ -62,4 +63,4 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
|
|
|
62
63
|
waitForRound(round: bigint, pollingIntervalSeconds?: number): Promise<boolean>;
|
|
63
64
|
executeRound(txUtils: L1TxUtils, round: bigint | number): ReturnType<typeof txUtils.sendAndMonitorTransaction>;
|
|
64
65
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX3NsYXNoaW5nX3Byb3Bvc2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2VtcGlyZV9zbGFzaGluZ19wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSzNELE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBR0wsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBQ1IsS0FBSyxtQkFBbUIsRUFHekIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBOEQsTUFBTSxrQkFBa0IsQ0FBQztBQUVoSCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksS0FBSyxFQUFFLE1BQU0sRUFFeEI7Q0FDRjtBQUVELHFCQUFhLDhCQUErQixTQUFRLFlBQWEsWUFBVyxXQUFXO2FBT25FLE1BQU0sRUFBRSxVQUFVO0lBTnBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUErRDtJQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBc0U7SUFFL0YsU0FBZ0IsSUFBSSxXQUFxQjtJQUV6QyxZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFRMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSxhQUFhLG9CQUVuQjtJQUVNLFlBQVksb0JBRWxCO0lBRU0sbUJBQW1CLG9CQUV6QjtJQUVNLHlCQUF5QixvQkFFL0I7SUFFTSxlQUFlLG9CQUVyQjtJQUVNLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFckQ7SUFFTSxXQUFXLDJCQUVqQjtJQUVZLFlBQVksQ0FDdkIsYUFBYSxFQUFFLEdBQUcsRUFDbEIsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUM7UUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO1FBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDO1FBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQTtLQUFFLENBQUMsQ0FPekY7SUFFTSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXpGO0lBRU0sbUJBQW1CLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxXQUFXLENBS3BEO0lBRVksZ0NBQWdDLENBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQ1osSUFBSSxFQUFFLFVBQVUsRUFDaEIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsR0FBRyxFQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUNqRCxPQUFPLENBQUMsV0FBVyxDQUFDLENBYXRCO0lBRU0sMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsS0FBSyxPQUFPLCtDQWV4RztJQUVNLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQTtLQUFFLEtBQUssT0FBTywrQ0Fjckc7SUFFTSxvQkFBb0IsQ0FDekIsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUFDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxLQUFLLE9BQU8sK0NBZWhHO0lBRUQsNkVBQTZFO0lBQ3RFLHdCQUF3QixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsV0FBVyxDQVMxRDtJQUVELHFFQUFxRTtJQUM5RCwrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFOzs7Ozs7a0JBRWpEO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEdBQUUsTUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FhdkY7SUFFWSxZQUFZLENBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUNyQixVQUFVLENBQUMsT0FBTyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FnRHREO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAA8D,MAAM,kBAAkB,CAAC;AAEhH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,KAAK,EAAE,MAAM,EAExB;CACF;AAED,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,WAAW;aAOnE,MAAM,EAAE,UAAU;IANpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;IACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsE;IAE/F,SAAgB,IAAI,WAAqB;IAEzC,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAQ1B;IAED,IAAW,OAAO,eAEjB;IAEM,aAAa,oBAEnB;IAEM,YAAY,oBAElB;IAEM,mBAAmB,oBAEzB;IAEM,yBAAyB,oBAE/B;IAEM,eAAe,oBAErB;IAEM,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAErD;IAEM,WAAW,2BAEjB;IAEY,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,UAAU,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAOzF;IAEM,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzF;IAEM,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAKpD;IAEY,gCAAgC,CAC3C,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAatB;IAEM,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,+CAexG;IAEM,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,+CAcrG;IAEM,oBAAoB,CACzB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,+CAehG;IAED,6EAA6E;IACtE,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAS1D;IAED,qEAAqE;IAC9D,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;kBAEjD;IAED;;;;;;OAMG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAavF;IAEY,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAgDtD;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
4
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
@@ -19,7 +20,7 @@ export class EmpireSlashingProposerContract extends EventEmitter {
|
|
|
19
20
|
constructor(client, address){
|
|
20
21
|
super(), this.client = client, this.logger = createLogger('ethereum:contracts:empire_slashing_proposer'), this.type = 'empire';
|
|
21
22
|
this.proposer = getContract({
|
|
22
|
-
address,
|
|
23
|
+
address: typeof address === 'string' ? address : address.toString(),
|
|
23
24
|
abi: EmpireSlashingProposerAbi,
|
|
24
25
|
client
|
|
25
26
|
});
|
|
@@ -44,17 +45,22 @@ export class EmpireSlashingProposerContract extends EventEmitter {
|
|
|
44
45
|
}
|
|
45
46
|
computeRound(slot) {
|
|
46
47
|
return this.proposer.read.computeRound([
|
|
47
|
-
slot
|
|
48
|
+
BigInt(slot)
|
|
48
49
|
]);
|
|
49
50
|
}
|
|
50
51
|
getInstance() {
|
|
51
52
|
return this.proposer.read.getInstance();
|
|
52
53
|
}
|
|
53
54
|
async getRoundInfo(rollupAddress, round) {
|
|
54
|
-
|
|
55
|
+
const result = await this.proposer.read.getRoundData([
|
|
55
56
|
rollupAddress,
|
|
56
57
|
round
|
|
57
58
|
]);
|
|
59
|
+
return {
|
|
60
|
+
lastSignalSlot: SlotNumber.fromBigInt(result.lastSignalSlot),
|
|
61
|
+
payloadWithMostSignals: result.payloadWithMostSignals,
|
|
62
|
+
executed: result.executed
|
|
63
|
+
};
|
|
58
64
|
}
|
|
59
65
|
getPayloadSignals(rollupAddress, round, payload) {
|
|
60
66
|
return this.proposer.read.signalCount([
|
|
@@ -4,4 +4,4 @@ export declare class BlockTagTooOldError extends Error {
|
|
|
4
4
|
export declare class NoCommitteeError extends Error {
|
|
5
5
|
constructor();
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBYSxtQkFBb0IsU0FBUSxLQUFLO0lBQzVDLFlBQVksUUFBUSxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBR2xFO0NBQ0Y7QUFFRCxxQkFBYSxnQkFBaUIsU0FBUSxLQUFLO0lBQ3pDLGNBR0M7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/contracts/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/contracts/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAGlE;CACF;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,cAGC;CACF"}
|