diff --git a/etherlink/CHANGES_KERNEL.md b/etherlink/CHANGES_KERNEL.md index 681f46689da88b757d23315ebf714f3c101c4e21..0caa28897e792275b19d837f016dfa3fd3378ac7 100644 --- a/etherlink/CHANGES_KERNEL.md +++ b/etherlink/CHANGES_KERNEL.md @@ -2,7 +2,7 @@ ## Version NEXT -Its storage version is 35. +Its storage version is 36. ### Features @@ -17,6 +17,10 @@ Its storage version is 35. be automatically capped at the maximum permitted value. (!18179) - Bump the capacity of Etherlink to 8MGas/s (meaning a target per second to 4MGas/s). (!18452) +- Update the Layer 1 governance contracts to take into account alternative voting keys for bakers. (!18505) + - [`KT1VZVNCNnhUp7s15d9RsdycP7C1iwYhAQ8r`](https://better-call.dev/mainnet/KT1VZVNCNnhUp7s15d9RsdycP7C1iwYhAQ8r) for the slow upgrade governance + - [`KT1DxndcFitAbxLdJCN3C1pPivqbC3RJxD1R`](https://better-call.dev/mainnet/KT1DxndcFitAbxLdJCN3C1pPivqbC3RJxD1R) for the fast upgrade governance + - [`KT1WckZ2uiLfHCfQyNp1mtqeRcC1X6Jg2Qzf`](https://better-call.dev/mainnet/KT1WckZ2uiLfHCfQyNp1mtqeRcC1X6Jg2Qzf) for the sequencer governance ### Bug fixes diff --git a/etherlink/kernel_latest/kernel/src/migration.rs b/etherlink/kernel_latest/kernel/src/migration.rs index adb48d92f2d7200a23cc36dd1259a5e98d272c97..71e96dca78c5c982ffb23d8019a3962183c893cd 100644 --- a/etherlink/kernel_latest/kernel/src/migration.rs +++ b/etherlink/kernel_latest/kernel/src/migration.rs @@ -375,6 +375,27 @@ fn migrate_to( // predict the gas price Ok(MigrationStatus::Done) } + StorageVersion::V36 => { + if is_etherlink_network(host, MAINNET_CHAIN_ID)? { + const REGULAR_GOVERNANCE_KT: &[u8] = + b"KT1VZVNCNnhUp7s15d9RsdycP7C1iwYhAQ8r"; + const SECURITY_GOVERNANCE_KT: &[u8] = + b"KT1DxndcFitAbxLdJCN3C1pPivqbC3RJxD1R"; + const SEQUENCER_GOVERNANCE_KT: &[u8] = + b"KT1WckZ2uiLfHCfQyNp1mtqeRcC1X6Jg2Qzf"; + + host.store_write_all(&KERNEL_GOVERNANCE, REGULAR_GOVERNANCE_KT)?; + host.store_write_all( + &KERNEL_SECURITY_GOVERNANCE, + SECURITY_GOVERNANCE_KT, + )?; + host.store_write_all(&SEQUENCER_GOVERNANCE, SEQUENCER_GOVERNANCE_KT)?; + + Ok(MigrationStatus::Done) + } else { + Ok(MigrationStatus::None) + } + } } } diff --git a/etherlink/kernel_latest/kernel/src/storage.rs b/etherlink/kernel_latest/kernel/src/storage.rs index 90930323d202f6863b3c1315658309aae9325913..bc131c20efbda6a0362cfb563ea3218e3abd0099 100644 --- a/etherlink/kernel_latest/kernel/src/storage.rs +++ b/etherlink/kernel_latest/kernel/src/storage.rs @@ -69,6 +69,7 @@ pub enum StorageVersion { V33, V34, V35, + V36, } impl From for u64 { @@ -83,7 +84,7 @@ impl StorageVersion { } } -pub const STORAGE_VERSION: StorageVersion = StorageVersion::V35; +pub const STORAGE_VERSION: StorageVersion = StorageVersion::V36; pub const PRIVATE_FLAG_PATH: RefPath = RefPath::assert_from(b"/evm/remove_whitelist"); diff --git a/etherlink/kernel_latest/kernel/tests/resources/failed_migration.wasm b/etherlink/kernel_latest/kernel/tests/resources/failed_migration.wasm index acf8906603257cf662973cc4f75625781c8f9a2e..39edc062b1545f018d898892954f47a36ef7ccb6 100755 Binary files a/etherlink/kernel_latest/kernel/tests/resources/failed_migration.wasm and b/etherlink/kernel_latest/kernel/tests/resources/failed_migration.wasm differ