Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: evm simulator as base system contract #256

Open
wants to merge 52 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
bbd7db9
Make address optional in transaction data
IAvecilla Sep 11, 2024
4e6bed2
Add migrations and update queries with evm simulator
IAvecilla Sep 11, 2024
723c5e3
Add evm simulator as base system contract and update callers
IAvecilla Sep 11, 2024
3a3a300
Add ts tests and contracts for evm simulator
IAvecilla Sep 11, 2024
8132132
Update multivm bootloaders bin files for vm1_5_0
IAvecilla Sep 11, 2024
6cae61a
Update lock file
IAvecilla Sep 11, 2024
dfef5ea
Update contracts submodule
IAvecilla Sep 11, 2024
ddc35de
Improve get contract address for sql queries
IAvecilla Sep 12, 2024
cf454e2
Merge branch 'main' into tx-to-optional-address
IAvecilla Sep 12, 2024
a5c22ea
Make recipient address optional for L2Tx
IAvecilla Sep 12, 2024
c075fb4
Fix error lints
IAvecilla Sep 12, 2024
6c94de9
Insert null in sql for contract address instead of empty bytes
IAvecilla Sep 17, 2024
b280eb3
Remove require and support None value for protobuff Transaction
IAvecilla Sep 17, 2024
d49f3f8
Make address optional for Transaction recipient account
IAvecilla Sep 17, 2024
5e9179d
Optionally add contract address to transaction signature
IAvecilla Sep 17, 2024
0034e3e
Check address is not null and reject transaction
IAvecilla Sep 17, 2024
d9e2b9a
Merge branch 'main' into tx-to-optional-address
IAvecilla Sep 17, 2024
9c3dad1
Make test only Execute to always have a valid address instead of null
IAvecilla Sep 17, 2024
9652368
Update execute use for tests in multivm crate to have a valid contrac…
IAvecilla Sep 17, 2024
189e591
Update comment for optional field in execute proto message
IAvecilla Sep 18, 2024
2ac399e
Unwrap contract address for l1 tx since it should always be present
IAvecilla Sep 18, 2024
6be103f
Merge branch 'main' into tx-to-optional-address
IAvecilla Sep 18, 2024
9700ff3
Merge branch 'tx-to-optional-address' into evm-simulator-base-sc
jrchatruc Sep 18, 2024
be77938
Remove tests for the evm simulator
IAvecilla Sep 19, 2024
f8816cf
Merge remote-tracking branch 'upstream/main' into evm-simulator-base-sc
jrchatruc Sep 19, 2024
7608ace
Delete contracts and aux functions used for evm tests
IAvecilla Sep 19, 2024
ed97d24
Fix fmt
IAvecilla Sep 19, 2024
f922068
feat: EVM simulator as optional for the server (#276)
IAvecilla Sep 19, 2024
2388ae8
Revert multivm bootloader change
jrchatruc Sep 19, 2024
00f0324
Check for evm simulator to avoid failing for transactions with null c…
IAvecilla Sep 19, 2024
c14b5aa
Fix multicall with evm simulator on
IAvecilla Sep 19, 2024
c8d1896
Fix multicall when evm simulator is absent
IAvecilla Sep 19, 2024
072222d
Remove hardcoded hash for evm simulator when its not enabled
IAvecilla Sep 20, 2024
a08ea6c
Fix format
IAvecilla Sep 20, 2024
5bdabe3
Check for evm simulator in execute_internal_transfer_test function
IAvecilla Sep 20, 2024
72e2218
feat(contract-verifier): add new compilers (#2947)
perekopskiy Sep 24, 2024
1385cb6
Merge branch 'main' into evm-simulator-base-sc
IAvecilla Sep 24, 2024
9340480
ci: Copy setup_keys to docker/circuit-prover-gpu-gar (#2951)
yorik Sep 24, 2024
9010c56
Fix doc comment for UseEvmSimulator config
IAvecilla Sep 24, 2024
774b848
Remove evm simulator code hash from miniblocks table
IAvecilla Sep 24, 2024
e85228b
Fix review comments
IAvecilla Sep 24, 2024
6313c7d
docs: fix invalid links to "namespaces/eth.rs" and "execution_sandbox…
mtzsky Sep 25, 2024
2edd8a2
chore(prover): Fixes broken non-GPU setup (#2953)
EmilLuta Sep 25, 2024
1fdbb30
chore(prover-gateway): Speed up polling (#2957)
EmilLuta Sep 25, 2024
218646a
fix(api): Return correct flat call tracer (#2917)
Deniallugo Sep 25, 2024
e214dd0
chore(main): release core 24.27.0 (#2940)
zksync-era-bot Sep 25, 2024
0f7c5da
Update sqlx cached queries
IAvecilla Sep 25, 2024
b5c7544
Fix lints and format
IAvecilla Sep 25, 2024
9b0590d
Merge branch 'main' into evm-simulator-base-sc
IAvecilla Sep 25, 2024
653b543
Add evm simulator config to load config function
IAvecilla Sep 25, 2024
d2d61a4
Add evm simulator to general test config and protobuf message
IAvecilla Sep 25, 2024
44e714b
Add use evm simulator config to general config file
IAvecilla Sep 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/release-please/manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"core": "24.26.0",
"core": "24.27.0",
"prover": "16.5.0",
"zk_toolbox": "0.1.2"
}
2 changes: 1 addition & 1 deletion .github/workflows/build-docker-from-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}-avx512
ERA_BELLMAN_CUDA_RELEASE: ${{ vars.ERA_BELLMAN_CUDA_RELEASE }}
CUDA_ARCH: "60;70;75;80;89"
WITNESS_GENERATOR_RUST_FLAGS: "-Ctarget_feature=+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl --cfg=no_cuda"
WITNESS_GENERATOR_RUST_FLAGS: "-Ctarget_feature=+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl"
secrets:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
- name: Download Setup data
run: |
gsutil -m rsync -r gs://matterlabs-setup-data-us/${{ inputs.setup_keys_id }} docker/prover-gpu-fri-gar
cp -v docker/prover-gpu-fri-gar/*.bin docker/circuit-prover-gpu-gar/

- name: Login to us-central1 GAR
run: |
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-witness-generator-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
ERA_BELLMAN_CUDA_RELEASE: ${{ inputs.ERA_BELLMAN_CUDA_RELEASE }}
CUDA_ARCH: ${{ inputs.CUDA_ARCH }}
WITNESS_GENERATOR_RUST_FLAGS: ${{ inputs.WITNESS_GENERATOR_RUST_FLAGS }}
ZKSYNC_USE_CUDA_STUBS: true
runs-on: [ matterlabs-ci-runner-c3d ]
strategy:
matrix:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-common-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
echo "SCCACHE_GCS_SERVICE_ACCOUNT=gha-ci-runners@matterlabs-infra.iam.gserviceaccount.com" >> .env
echo "SCCACHE_GCS_RW_MODE=READ_WRITE" >> .env
echo "RUSTC_WRAPPER=sccache" >> .env
echo "RUSTFLAGS=--cfg=no_cuda" >> .env
echo "ZKSYNC_USE_CUDA_STUBS=true" >> .env

- name: Start services
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-core-lint-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
echo "SCCACHE_GCS_SERVICE_ACCOUNT=gha-ci-runners@matterlabs-infra.iam.gserviceaccount.com" >> .env
echo "SCCACHE_GCS_RW_MODE=READ_WRITE" >> .env
echo "RUSTC_WRAPPER=sccache" >> .env
echo "RUSTFLAGS=--cfg=no_cuda" >> .env
echo "ZKSYNC_USE_CUDA_STUBS=true" >> .env
echo "prover_url=postgres://postgres:notsecurepassword@localhost:5432/zksync_local_prover" >> $GITHUB_ENV
echo "core_url=postgres://postgres:notsecurepassword@localhost:5432/zksync_local" >> $GITHUB_ENV

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-prover-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
echo "SCCACHE_GCS_SERVICE_ACCOUNT=gha-ci-runners@matterlabs-infra.iam.gserviceaccount.com" >> .env
echo "SCCACHE_GCS_RW_MODE=READ_WRITE" >> .env
echo "RUSTC_WRAPPER=sccache" >> .env
echo "RUSTFLAGS=--cfg=no_cuda" >> .env
echo "ZKSYNC_USE_CUDA_STUBS=true" >> .env

- name: Start services
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ jobs:
with:
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}-avx512
action: "build"
WITNESS_GENERATOR_RUST_FLAGS: "-Ctarget_feature=+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl --cfg=no_cuda"
WITNESS_GENERATOR_RUST_FLAGS: "-Ctarget_feature=+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl"
secrets:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-test-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ jobs:
image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}-avx512
ERA_BELLMAN_CUDA_RELEASE: ${{ vars.ERA_BELLMAN_CUDA_RELEASE }}
CUDA_ARCH: "60;70;75;80;89"
WITNESS_GENERATOR_RUST_FLAGS: "-Ctarget_feature=+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl --cfg=no_cuda"
WITNESS_GENERATOR_RUST_FLAGS: "-Ctarget_feature=+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl "
secrets:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
12 changes: 11 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Changelog

## [24.27.0](https://github.com/matter-labs/zksync-era/compare/core-v24.26.0...core-v24.27.0) (2024-09-25)


### Features

* **vm:** Split old and new VM implementations ([#2915](https://github.com/matter-labs/zksync-era/issues/2915)) ([93bc66f](https://github.com/matter-labs/zksync-era/commit/93bc66f21f9f67a440f06f1c4402e0d687698741))


### Bug Fixes

* **api:** Return correct flat call tracer ([#2917](https://github.com/matter-labs/zksync-era/issues/2917)) ([218646a](https://github.com/matter-labs/zksync-era/commit/218646aa1c56200f4ffee99b7f83366e2689354f))

## [24.26.0](https://github.com/matter-labs/zksync-era/compare/core-v24.25.0...core-v24.26.0) (2024-09-23)


Expand Down
2 changes: 1 addition & 1 deletion core/bin/external_node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "zksync_external_node"
description = "Non-validator ZKsync node"
version = "24.26.0" # x-release-please-version
version = "24.27.0" # x-release-please-version
edition.workspace = true
authors.workspace = true
homepage.workspace = true
Expand Down
1 change: 1 addition & 0 deletions core/bin/genesis_generator/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ async fn generate_new_config(
genesis_commitment: None,
bootloader_hash: Some(base_system_contracts.bootloader),
default_aa_hash: Some(base_system_contracts.default_aa),
evm_simulator_hash: Some(base_system_contracts.evm_simulator),
..genesis_config
};

Expand Down
2 changes: 2 additions & 0 deletions core/bin/system-constants-generator/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ zksync_types.workspace = true
zksync_utils.workspace = true
zksync_contracts.workspace = true
zksync_multivm.workspace = true
zksync_config.workspace = true
zksync_env_config.workspace = true

codegen.workspace = true
serde.workspace = true
Expand Down
44 changes: 43 additions & 1 deletion core/bin/system-constants-generator/src/utils.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
use std::{cell::RefCell, rc::Rc};

use once_cell::sync::Lazy;
use zksync_config::configs::use_evm_simulator;
use zksync_contracts::{
load_sys_contract, read_bootloader_code, read_bytecode_from_path, read_sys_contract_bytecode,
BaseSystemContracts, ContractLanguage, SystemContractCode,
};
use zksync_env_config::FromEnv;
use zksync_multivm::{
interface::{
storage::{InMemoryStorage, StorageView, WriteStorage},
Expand Down Expand Up @@ -71,12 +73,32 @@ pub static GAS_TEST_SYSTEM_CONTRACTS: Lazy<BaseSystemContracts> = Lazy::new(|| {

let bytecode = read_sys_contract_bytecode("", "DefaultAccount", ContractLanguage::Sol);
let hash = hash_bytecode(&bytecode);

let (evm_simulator_bytecode, evm_simulator_hash) =
if use_evm_simulator::UseEvmSimulator::from_env()
.unwrap()
.use_evm_simulator
{
let evm_simulator_bytecode =
read_sys_contract_bytecode("", "EvmInterpreter", ContractLanguage::Yul);
(
evm_simulator_bytecode.clone(),
hash_bytecode(&evm_simulator_bytecode),
)
} else {
(bytecode.clone(), hash)
};

BaseSystemContracts {
default_aa: SystemContractCode {
code: bytes_to_be_words(bytecode),
hash,
},
bootloader,
evm_simulator: SystemContractCode {
code: bytes_to_be_words(evm_simulator_bytecode),
hash: evm_simulator_hash,
},
}
});

Expand Down Expand Up @@ -214,13 +236,33 @@ pub(super) fn execute_internal_transfer_test() -> u32 {
let bytecode = read_sys_contract_bytecode("", "DefaultAccount", ContractLanguage::Sol);
let hash = hash_bytecode(&bytecode);
let default_aa = SystemContractCode {
code: bytes_to_be_words(bytecode),
code: bytes_to_be_words(bytecode.clone()),
hash,
};

let (evm_simulator_bytecode, evm_simulator_hash) =
if use_evm_simulator::UseEvmSimulator::from_env()
.unwrap()
.use_evm_simulator
{
let evm_simulator_bytecode =
read_sys_contract_bytecode("", "EvmInterpreter", ContractLanguage::Yul);
(
evm_simulator_bytecode.clone(),
hash_bytecode(&evm_simulator_bytecode),
)
} else {
(bytecode.clone(), hash)
};
let evm_simulator = SystemContractCode {
code: bytes_to_be_words(evm_simulator_bytecode),
hash: evm_simulator_hash,
};

let base_system_smart_contracts = BaseSystemContracts {
bootloader,
default_aa,
evm_simulator,
};

let system_env = SystemEnv {
Expand Down
2 changes: 2 additions & 0 deletions core/bin/zksync_server/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ use zksync_config::{
},
fri_prover_group::FriProverGroupConfig,
house_keeper::HouseKeeperConfig,
use_evm_simulator::UseEvmSimulator,
BasicWitnessInputProducerConfig, ContractsConfig, DatabaseSecrets, ExperimentalVmConfig,
ExternalPriceApiClientConfig, FriProofCompressorConfig, FriProverConfig,
FriProverGatewayConfig, FriWitnessGeneratorConfig, FriWitnessVectorGeneratorConfig,
Expand Down Expand Up @@ -205,6 +206,7 @@ fn load_env_config() -> anyhow::Result<TempConfigStore> {
basic_witness_input_producer_config: BasicWitnessInputProducerConfig::from_env().ok(),
core_object_store: ObjectStoreConfig::from_env().ok(),
base_token_adjuster_config: BaseTokenAdjusterConfig::from_env().ok(),
use_evm_simulator: UseEvmSimulator::from_env().ok(),
commitment_generator: None,
pruning: None,
snapshot_recovery: None,
Expand Down
3 changes: 3 additions & 0 deletions core/lib/config/src/configs/chain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ pub struct StateKeeperConfig {
pub bootloader_hash: Option<H256>,
#[deprecated(note = "Use GenesisConfig::default_aa_hash instead")]
pub default_aa_hash: Option<H256>,
#[deprecated(note = "Use GenesisConfig::evm_simulator_hash instead")]
pub evm_simulator_hash: Option<H256>,
#[deprecated(note = "Use GenesisConfig::l1_batch_commit_data_generator_mode instead")]
#[serde(default)]
pub l1_batch_commit_data_generator_mode: L1BatchCommitmentMode,
Expand Down Expand Up @@ -178,6 +180,7 @@ impl StateKeeperConfig {
protective_reads_persistence_enabled: true,
bootloader_hash: None,
default_aa_hash: None,
evm_simulator_hash: None,
l1_batch_commit_data_generator_mode: L1BatchCommitmentMode::Rollup,
}
}
Expand Down
2 changes: 2 additions & 0 deletions core/lib/config/src/configs/general.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ use crate::{
prover_job_monitor::ProverJobMonitorConfig,
pruning::PruningConfig,
snapshot_recovery::SnapshotRecoveryConfig,
use_evm_simulator::UseEvmSimulator,
vm_runner::{BasicWitnessInputProducerConfig, ProtectiveReadsWriterConfig},
CommitmentGeneratorConfig, ExperimentalVmConfig, ExternalPriceApiClientConfig,
FriProofCompressorConfig, FriProverConfig, FriProverGatewayConfig,
Expand Down Expand Up @@ -51,6 +52,7 @@ pub struct GeneralConfig {
pub pruning: Option<PruningConfig>,
pub core_object_store: Option<ObjectStoreConfig>,
pub base_token_adjuster: Option<BaseTokenAdjusterConfig>,
pub use_evm_simulator: Option<UseEvmSimulator>,
pub external_price_api_client_config: Option<ExternalPriceApiClientConfig>,
pub consensus_config: Option<ConsensusConfig>,
pub external_proof_integration_api_config: Option<ExternalProofIntegrationApiConfig>,
Expand Down
2 changes: 2 additions & 0 deletions core/lib/config/src/configs/genesis.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ pub struct GenesisConfig {
pub genesis_commitment: Option<H256>,
pub bootloader_hash: Option<H256>,
pub default_aa_hash: Option<H256>,
pub evm_simulator_hash: Option<H256>,
pub l1_chain_id: L1ChainId,
pub sl_chain_id: Option<SLChainId>,
pub l2_chain_id: L2ChainId,
Expand Down Expand Up @@ -49,6 +50,7 @@ impl GenesisConfig {
genesis_commitment: Some(H256::repeat_byte(0x17)),
bootloader_hash: Default::default(),
default_aa_hash: Default::default(),
evm_simulator_hash: Default::default(),
l1_chain_id: L1ChainId(9),
sl_chain_id: None,
protocol_version: Some(ProtocolSemanticVersion {
Expand Down
1 change: 1 addition & 0 deletions core/lib/config/src/configs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ pub mod pruning;
pub mod secrets;
pub mod snapshot_recovery;
pub mod snapshots_creator;
pub mod use_evm_simulator;
pub mod utils;
pub mod vm_runner;
pub mod wallets;
Expand Down
7 changes: 7 additions & 0 deletions core/lib/config/src/configs/use_evm_simulator.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
use serde::Deserialize;

/// Configure whether to enable the EVM simulator on the stack.
#[derive(Debug, Deserialize, Clone, PartialEq)]
pub struct UseEvmSimulator {
pub use_evm_simulator: bool,
}
11 changes: 11 additions & 0 deletions core/lib/config/src/testonly.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ impl Sample for Network {
}
}

impl Distribution<configs::use_evm_simulator::UseEvmSimulator> for EncodeDist {
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> configs::use_evm_simulator::UseEvmSimulator {
configs::use_evm_simulator::UseEvmSimulator {
use_evm_simulator: rng.gen(),
}
}
}

impl Distribution<configs::chain::FeeModelVersion> for EncodeDist {
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> configs::chain::FeeModelVersion {
type T = configs::chain::FeeModelVersion;
Expand Down Expand Up @@ -189,6 +197,7 @@ impl Distribution<configs::chain::StateKeeperConfig> for EncodeDist {
fee_account_addr: None,
bootloader_hash: None,
default_aa_hash: None,
evm_simulator_hash: None,
l1_batch_commit_data_generator_mode: Default::default(),
}
}
Expand Down Expand Up @@ -728,6 +737,7 @@ impl Distribution<configs::GenesisConfig> for EncodeDist {
genesis_commitment: Some(rng.gen()),
bootloader_hash: Some(rng.gen()),
default_aa_hash: Some(rng.gen()),
evm_simulator_hash: Some(rng.gen()),
fee_account: rng.gen(),
l1_chain_id: L1ChainId(self.sample(rng)),
sl_chain_id: None,
Expand Down Expand Up @@ -1152,6 +1162,7 @@ impl Distribution<configs::GeneralConfig> for EncodeDist {
protective_reads_writer_config: self.sample(rng),
basic_witness_input_producer_config: self.sample(rng),
commitment_generator: self.sample(rng),
use_evm_simulator: self.sample(rng),
snapshot_recovery: self.sample(rng),
pruning: self.sample(rng),
core_object_store: self.sample(rng),
Expand Down
5 changes: 5 additions & 0 deletions core/lib/constants/src/contracts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,11 @@ pub const CODE_ORACLE_ADDRESS: Address = H160([
0x00, 0x00, 0x80, 0x12,
]);

pub const EVM_GAS_MANAGER_ADDRESS: Address = H160([
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x13,
]);

/// Note, that the `Create2Factory` is explicitly deployed on a non-system-contract address.
pub const CREATE2_FACTORY_ADDRESS: Address = H160([
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
Expand Down
Loading
Loading