forked from lidofinance/lido-l2
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from lidofinance/feature/improve_deploy_scripts
rename envs, add comments, improve deploy scripts
- Loading branch information
Showing
9 changed files
with
623 additions
and
318 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
# Detailed info: https://github.com/lidofinance/lido-l2#Project-Configuration | ||
|
||
# ############################ | ||
# RPCs | ||
# ############################ | ||
|
||
RPC_ETH_SEPOLIA=https://sepolia.infura.io/v3/ | ||
RPC_OPT_SEPOLIA=https://optimism-sepolia.infura.io/v3/ | ||
|
||
RPC_ETH_MAINNET=https://mainnet.infura.io/v3/ | ||
RPC_OPT_MAINNET=https://optimism-mainnet.infura.io/v3/ | ||
|
||
# ############################ | ||
# Etherscan | ||
# ############################ | ||
|
||
ETHERSCAN_API_KEY_ETH= | ||
ETHERSCAN_API_KEY_OPT= | ||
|
||
# ############################ | ||
# Bridge/Gateway Deployment | ||
# ############################ | ||
|
||
# Name of the network environments used by deployment scripts. | ||
# Might be one of: "mainnet", "sepolia". | ||
NETWORK=mainnet | ||
|
||
# Run deployment in the forking network instead of public ones | ||
FORKING=false | ||
|
||
# Private key of the deployer account used for deployment process | ||
ETH_DEPLOYER_PRIVATE_KEY= | ||
OPT_DEPLOYER_PRIVATE_KEY= | ||
|
||
# Address of bridge executor. | ||
GOV_BRIDGE_EXECUTOR=0xefa0db536d2c8089685630fafe88cf7805966fc3 | ||
|
||
# ############################ | ||
# Ethereum | ||
# ############################ | ||
|
||
# Address of Lido Core protocol contract | ||
LIDO=0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 | ||
|
||
# Address of the rebasable token (stETH) to deploy the bridge/gateway for. | ||
L1_REBASABLE_TOKEN=0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84 | ||
|
||
# Address of the non-rebasable token (wstETH) to deploy the bridge/gateway for. | ||
L1_NON_REBASABLE_TOKEN=0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 | ||
|
||
# Address of the AccountingOracle of Core Lido protocol. | ||
ACCOUNTING_ORACLE=0x852deD011285fe67063a08005c71a85690503Cee | ||
|
||
# Gas limit required to complete pushing token rate on L2. | ||
# It's recommended to use: 300_000. | ||
# This value was calculated by formula: | ||
# l2GasLimit = (gas cost of L2Bridge.finalizeDeposit() + OptimismPortal.minimumGasLimit(depositData.length)) * 1.5 | ||
L2_GAS_LIMIT_FOR_PUSHING_TOKEN_RATE=300000 | ||
|
||
# Account that is allowed to add or remove pushers. | ||
TOKEN_RATE_NOTIFIER_OWNER=0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c | ||
|
||
# Address of L1 token bridge proxy. | ||
L1_TOKEN_BRIDGE=0x76943C0D61395d8F2edF9060e1533529cAe05dE6 | ||
|
||
# Parameters for L1TokenBridge scratch deploy. | ||
L1_PROXY_ADMIN=0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c | ||
L1_BRIDGE_ADMIN=0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c | ||
L1_DEPOSITS_ENABLED=true | ||
L1_WITHDRAWALS_ENABLED=true | ||
L1_DEPOSITS_ENABLERS=["0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"] | ||
L1_DEPOSITS_DISABLERS=["0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c","0x73b047fe6337183A454c5217241D780a932777bD"] | ||
L1_WITHDRAWALS_ENABLERS=["0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"] | ||
L1_WITHDRAWALS_DISABLERS=["0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c","0x73b047fe6337183A454c5217241D780a932777bD"] | ||
|
||
# ############################ | ||
# Optimism | ||
# ############################ | ||
|
||
###### TokenRateOracle params | ||
|
||
# Token Rate Oracle proxy admin | ||
TOKEN_RATE_ORACLE_PROXY_ADMIN=0xefa0db536d2c8089685630fafe88cf7805966fc3 | ||
|
||
# Address of the account to grant the DEFAULT_ADMIN_ROLE | ||
TOKEN_RATE_ORACLE_ADMIN=0xefa0db536d2c8089685630fafe88cf7805966fc3 | ||
|
||
# Enable token rate orace updates | ||
TOKEN_RATE_UPDATE_ENABLED=true | ||
|
||
# Roles granting the permission to resume updating rate. | ||
TOKEN_RATE_UPDATE_ENABLERS=["0xefa0db536d2c8089685630fafe88cf7805966fc3"] | ||
|
||
# Roles granting the permission to pause updating rate. | ||
TOKEN_RATE_UPDATE_DISABLERS=["0xefa0db536d2c8089685630fafe88cf7805966fc3", "0x4Cf8fE0A4c2539F7EFDD2047d8A5D46F14613088"] | ||
|
||
# A time period when token rate can be considered outdated. It's recommended to use 86400 (24 hours). | ||
TOKEN_RATE_OUTDATED_DELAY=86400 | ||
|
||
# A time difference between received l1Timestamp and L2 block.timestamp when token rate can be considered outdated. It's recommended to use 86400 (24 hours). | ||
MAX_ALLOWED_L2_TO_L1_CLOCK_LAG=86400 | ||
|
||
# Allowed token rate deviation per day in basic points. It's recommended to use 500 (5%). | ||
MAX_ALLOWED_TOKEN_RATE_DEVIATION_PER_DAY_BP=500 | ||
|
||
# The maximum allowed time difference between the current time and the last received | ||
# token rate update that can be set during a pause. This is required to limit the pause role | ||
# and mitigate potential economic attacks. It's recommended to use 86400 (24 hours). | ||
OLDEST_RATE_ALLOWED_IN_PAUSE_TIME_SPAN=86400 | ||
|
||
# The maximum delta time that is allowed between two L1 timestamps of token rate updates. It's recommended to use 3600 (1 hour). | ||
MIN_TIME_BETWEEN_TOKEN_RATE_UPDATES=3600 | ||
|
||
# Initial wstETH/stETH token rate, uses 10**27 precision. | ||
# Get from wstETH by calling getStETHByWstETH(10**27) | ||
INITIAL_TOKEN_RATE_VALUE=1176379845956799224565427447 | ||
|
||
# Initial L1 time when rate was updated on L1 side. | ||
# Get GENESIS_TIME, SECONDS_PER_SLOT, getLastProcessingRefSlot from ACCOUNTING_ORACLE and calculate value as GENESIS_TIME + SECONDS_PER_SLOT * getLastProcessingRefSlot() | ||
INITIAL_TOKEN_RATE_L1_TIMESTAMP=1724068811 | ||
|
||
###### L2 wstETH Token. | ||
# Address of the L2 non-rebasable token (L2 wstETH) proxy on L2. Should be provided only for upgrade. | ||
L2_TOKEN_NON_REBASABLE=0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb | ||
|
||
# The current L2 Non-Rebasable token major version of the signing domain (aka token version). Should be the same as contract version. | ||
L2_TOKEN_NON_REBASABLE_SIGNING_DOMAIN_VERSION=2 | ||
|
||
###### L2 stETH Token. | ||
# Address of the account to grant the DEFAULT_ADMIN_ROLE | ||
L2_TOKEN_REBASABLE_PROXY_ADMIN=0xEfa0dB536d2c8089685630fafe88CF7805966FC3 | ||
|
||
# The current L2 Rebasable token major version of the signing domain (aka token version). Should be the same as contract version. | ||
L2_TOKEN_REBASABLE_SIGNING_DOMAIN_VERSION=1 | ||
|
||
# Address of L2 token bridge proxy. Should be provided only for upgrade. | ||
L2_TOKEN_BRIDGE=0x8E01013243a96601a86eb3153F0d9Fa4fbFb6957 | ||
|
||
# Parameters for L2TokenBridge scratch deploy. | ||
L2_PROXY_ADMIN=0xEfa0dB536d2c8089685630fafe88CF7805966FC3 | ||
L2_BRIDGE_ADMIN=0xEfa0dB536d2c8089685630fafe88CF7805966FC3 | ||
L2_DEPOSITS_ENABLED=true | ||
L2_WITHDRAWALS_ENABLED=true | ||
L2_DEPOSITS_ENABLERS=["0xEfa0dB536d2c8089685630fafe88CF7805966FC3"] | ||
L2_DEPOSITS_DISABLERS=["0xEfa0dB536d2c8089685630fafe88CF7805966FC3","0x4Cf8fE0A4c2539F7EFDD2047d8A5D46F14613088"] | ||
L2_WITHDRAWALS_ENABLERS=["0xEfa0dB536d2c8089685630fafe88CF7805966FC3"] | ||
L2_WITHDRAWALS_DISABLERS=["0xEfa0dB536d2c8089685630fafe88CF7805966FC3","0x4Cf8fE0A4c2539F7EFDD2047d8A5D46F14613088"] | ||
|
||
# ############################ | ||
# Integration & E2E Testing | ||
# ############################ | ||
|
||
TESTING_OPT_NETWORK=sepolia | ||
|
||
TESTING_OPT_L1_LIDO= | ||
TESTING_OPT_L1_REBASABLE_TOKEN= | ||
TESTING_OPT_L1_NON_REBASABLE_TOKEN= | ||
TESTING_OPT_L1_ACCOUNTING_ORACLE= | ||
TESTING_OPT_L1_ERC20_TOKEN_BRIDGE= | ||
TESTING_OPT_L1_TOKEN_RATE_NOTIFIER= | ||
|
||
TESTING_OPT_L2_TOKEN_RATE_ORACLE= | ||
TESTING_OPT_L2_NON_REBASABLE_TOKEN= | ||
TESTING_OPT_L2_REBASABLE_TOKEN= | ||
TESTING_OPT_L2_ERC20_TOKEN_BRIDGE= | ||
|
||
# ############################ | ||
# Integration Testing | ||
# ############################ | ||
|
||
TESTING_USE_DEPLOYED_CONTRACTS=true | ||
TESTING_L1_TOKENS_HOLDER= | ||
TESTING_OPT_GOV_BRIDGE_EXECUTOR= | ||
|
||
# ############################ | ||
# E2E Testing | ||
# ############################ | ||
|
||
TESTING_PRIVATE_KEY= | ||
TESTING_OPT_LDO_HOLDER_PRIVATE_KEY= | ||
|
Oops, something went wrong.