From c656d24907318dc2427f5df363a2332e83e01ed7 Mon Sep 17 00:00:00 2001 From: chrismaree Date: Fri, 22 Nov 2024 16:48:40 +0700 Subject: [PATCH 1/5] WIP Signed-off-by: chrismaree --- contracts/SpokePool.sol | 4 ++-- programs/svm-spoke/src/event.rs | 3 +-- programs/svm-spoke/src/instructions/admin.rs | 5 +++-- test/evm/hardhat/SpokePool.Admin.ts | 2 +- test/svm/SvmSpoke.HandleReceiveMessage.ts | 12 ++++++------ 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/contracts/SpokePool.sol b/contracts/SpokePool.sol index f8874fa4e..0828ecf3d 100644 --- a/contracts/SpokePool.sol +++ b/contracts/SpokePool.sol @@ -185,7 +185,7 @@ abstract contract SpokePool is bytes32 indexed l2TokenAddress, address caller ); - event EmergencyDeleteRootBundle(uint256 indexed rootBundleId); + event EmergencyDeletedRootBundle(uint256 indexed rootBundleId); event PausedDeposits(bool isPaused); event PausedFills(bool isPaused); @@ -352,7 +352,7 @@ abstract contract SpokePool is // would require a new list in storage to keep track of keys. //slither-disable-next-line mapping-deletion delete rootBundles[rootBundleId]; - emit EmergencyDeleteRootBundle(rootBundleId); + emit EmergencyDeletedRootBundle(rootBundleId); } /************************************** diff --git a/programs/svm-spoke/src/event.rs b/programs/svm-spoke/src/event.rs index 87f4f22ab..cefcd9223 100644 --- a/programs/svm-spoke/src/event.rs +++ b/programs/svm-spoke/src/event.rs @@ -121,9 +121,8 @@ pub struct ClaimedRelayerRefund { pub refund_address: Pubkey, } -// TODO: update the name of this to EmergencyDeletedRootBundle and in EVM. #[event] -pub struct EmergencyDeleteRootBundle { +pub struct EmergencyDeletedRootBundle { pub root_bundle_id: u32, } diff --git a/programs/svm-spoke/src/instructions/admin.rs b/programs/svm-spoke/src/instructions/admin.rs index f42b52e77..1342def77 100644 --- a/programs/svm-spoke/src/instructions/admin.rs +++ b/programs/svm-spoke/src/instructions/admin.rs @@ -9,7 +9,8 @@ use crate::{ constraints::is_local_or_remote_owner, error::SvmError, event::{ - EmergencyDeleteRootBundle, EnabledDepositRoute, PausedDeposits, PausedFills, RelayedRootBundle, SetXDomainAdmin, + EmergencyDeletedRootBundle, EnabledDepositRoute, PausedDeposits, PausedFills, RelayedRootBundle, + SetXDomainAdmin, }, initialize_current_time, set_seed, state::{RootBundle, Route, State}, @@ -264,7 +265,7 @@ pub struct EmergencyDeleteRootBundleState<'info> { } pub fn emergency_delete_root_bundle(ctx: Context, root_bundle_id: u32) -> Result<()> { - emit_cpi!(EmergencyDeleteRootBundle { root_bundle_id }); + emit_cpi!(EmergencyDeletedRootBundle { root_bundle_id }); Ok(()) } diff --git a/test/evm/hardhat/SpokePool.Admin.ts b/test/evm/hardhat/SpokePool.Admin.ts index f51adf376..68a4fa8c6 100644 --- a/test/evm/hardhat/SpokePool.Admin.ts +++ b/test/evm/hardhat/SpokePool.Admin.ts @@ -49,7 +49,7 @@ describe("SpokePool Admin Functions", async function () { expect(await spokePool.rootBundles(0)).has.property("relayerRefundRoot", mockRelayerRefundRoot); await expect(spokePool.connect(owner).emergencyDeleteRootBundle(0)) - .to.emit(spokePool, "EmergencyDeleteRootBundle") + .to.emit(spokePool, "EmergencyDeletedRootBundle") .withArgs(0); expect(await spokePool.rootBundles(0)).has.property("slowRelayRoot", ethers.utils.hexZeroPad("0x0", 32)); diff --git a/test/svm/SvmSpoke.HandleReceiveMessage.ts b/test/svm/SvmSpoke.HandleReceiveMessage.ts index 523098736..3428a67f2 100644 --- a/test/svm/SvmSpoke.HandleReceiveMessage.ts +++ b/test/svm/SvmSpoke.HandleReceiveMessage.ts @@ -520,34 +520,34 @@ describe("svm_spoke.handle_receive_message", () => { messageBody, }); - // Remaining accounts specific to EmergencyDeleteRootBundle. + // Remaining accounts specific to EmergencyDeletedRootBundle. // Same 3 remaining accounts passed for HandleReceiveMessage context. const emergencyDeleteRootBundleRemainingAccounts = remainingAccounts.slice(0, 3); - // closer in self-invoked EmergencyDeleteRootBundle. + // closer in self-invoked EmergencyDeletedRootBundle. emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: true, isWritable: true, pubkey: provider.wallet.publicKey, }); - // state in self-invoked EmergencyDeleteRootBundle. + // state in self-invoked EmergencyDeletedRootBundle. emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: state, }); - // root_bundle in self-invoked EmergencyDeleteRootBundle. + // root_bundle in self-invoked EmergencyDeletedRootBundle. emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: true, pubkey: rootBundle, }); - // event_authority in self-invoked EmergencyDeleteRootBundle (appended by Anchor with event_cpi macro). + // event_authority in self-invoked EmergencyDeletedRootBundle (appended by Anchor with event_cpi macro). emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: eventAuthority, }); - // program in self-invoked EmergencyDeleteRootBundle (appended by Anchor with event_cpi macro). + // program in self-invoked EmergencyDeletedRootBundle (appended by Anchor with event_cpi macro). emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, From 6471803ff9b02f9ec1cfb2d6229425fbfc1104bc Mon Sep 17 00:00:00 2001 From: chrismaree Date: Fri, 22 Nov 2024 16:53:32 +0700 Subject: [PATCH 2/5] WIP Signed-off-by: chrismaree --- test/svm/SvmSpoke.HandleReceiveMessage.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/svm/SvmSpoke.HandleReceiveMessage.ts b/test/svm/SvmSpoke.HandleReceiveMessage.ts index 3428a67f2..15d450025 100644 --- a/test/svm/SvmSpoke.HandleReceiveMessage.ts +++ b/test/svm/SvmSpoke.HandleReceiveMessage.ts @@ -522,33 +522,33 @@ describe("svm_spoke.handle_receive_message", () => { // Remaining accounts specific to EmergencyDeletedRootBundle. // Same 3 remaining accounts passed for HandleReceiveMessage context. - const emergencyDeleteRootBundleRemainingAccounts = remainingAccounts.slice(0, 3); + const emergencyDeletedRootBundleRemainingAccounts = remainingAccounts.slice(0, 3); // closer in self-invoked EmergencyDeletedRootBundle. - emergencyDeleteRootBundleRemainingAccounts.push({ + emergencyDeletedRootBundleRemainingAccounts.push({ isSigner: true, isWritable: true, pubkey: provider.wallet.publicKey, }); // state in self-invoked EmergencyDeletedRootBundle. - emergencyDeleteRootBundleRemainingAccounts.push({ + emergencyDeletedRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: state, }); // root_bundle in self-invoked EmergencyDeletedRootBundle. - emergencyDeleteRootBundleRemainingAccounts.push({ + emergencyDeletedRootBundleRemainingAccounts.push({ isSigner: false, isWritable: true, pubkey: rootBundle, }); // event_authority in self-invoked EmergencyDeletedRootBundle (appended by Anchor with event_cpi macro). - emergencyDeleteRootBundleRemainingAccounts.push({ + emergencyDeletedRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: eventAuthority, }); // program in self-invoked EmergencyDeletedRootBundle (appended by Anchor with event_cpi macro). - emergencyDeleteRootBundleRemainingAccounts.push({ + emergencyDeletedRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: program.programId, @@ -558,7 +558,7 @@ describe("svm_spoke.handle_receive_message", () => { await messageTransmitterProgram.methods .receiveMessage({ message, attestation }) .accounts(receiveMessageAccounts) - .remainingAccounts(emergencyDeleteRootBundleRemainingAccounts) + .remainingAccounts(emergencyDeletedRootBundleRemainingAccounts) .rpc(); // Verify that the root bundle has been deleted From ad21b8b905688d036a01ed95883f3a2cbe29f53e Mon Sep 17 00:00:00 2001 From: chrismaree Date: Sat, 23 Nov 2024 15:23:17 +0700 Subject: [PATCH 3/5] WIP Signed-off-by: chrismaree --- test/svm/SvmSpoke.HandleReceiveMessage.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/svm/SvmSpoke.HandleReceiveMessage.ts b/test/svm/SvmSpoke.HandleReceiveMessage.ts index 15d450025..3428a67f2 100644 --- a/test/svm/SvmSpoke.HandleReceiveMessage.ts +++ b/test/svm/SvmSpoke.HandleReceiveMessage.ts @@ -522,33 +522,33 @@ describe("svm_spoke.handle_receive_message", () => { // Remaining accounts specific to EmergencyDeletedRootBundle. // Same 3 remaining accounts passed for HandleReceiveMessage context. - const emergencyDeletedRootBundleRemainingAccounts = remainingAccounts.slice(0, 3); + const emergencyDeleteRootBundleRemainingAccounts = remainingAccounts.slice(0, 3); // closer in self-invoked EmergencyDeletedRootBundle. - emergencyDeletedRootBundleRemainingAccounts.push({ + emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: true, isWritable: true, pubkey: provider.wallet.publicKey, }); // state in self-invoked EmergencyDeletedRootBundle. - emergencyDeletedRootBundleRemainingAccounts.push({ + emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: state, }); // root_bundle in self-invoked EmergencyDeletedRootBundle. - emergencyDeletedRootBundleRemainingAccounts.push({ + emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: true, pubkey: rootBundle, }); // event_authority in self-invoked EmergencyDeletedRootBundle (appended by Anchor with event_cpi macro). - emergencyDeletedRootBundleRemainingAccounts.push({ + emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: eventAuthority, }); // program in self-invoked EmergencyDeletedRootBundle (appended by Anchor with event_cpi macro). - emergencyDeletedRootBundleRemainingAccounts.push({ + emergencyDeleteRootBundleRemainingAccounts.push({ isSigner: false, isWritable: false, pubkey: program.programId, @@ -558,7 +558,7 @@ describe("svm_spoke.handle_receive_message", () => { await messageTransmitterProgram.methods .receiveMessage({ message, attestation }) .accounts(receiveMessageAccounts) - .remainingAccounts(emergencyDeletedRootBundleRemainingAccounts) + .remainingAccounts(emergencyDeleteRootBundleRemainingAccounts) .rpc(); // Verify that the root bundle has been deleted From 8ca5205f27ff51f4c16b704c6792ad66ba88e4da Mon Sep 17 00:00:00 2001 From: Chris Maree Date: Mon, 25 Nov 2024 21:54:46 +0700 Subject: [PATCH 4/5] Discard changes to programs/svm-spoke/src/event.rs --- programs/svm-spoke/src/event.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/programs/svm-spoke/src/event.rs b/programs/svm-spoke/src/event.rs index cefcd9223..87f4f22ab 100644 --- a/programs/svm-spoke/src/event.rs +++ b/programs/svm-spoke/src/event.rs @@ -121,8 +121,9 @@ pub struct ClaimedRelayerRefund { pub refund_address: Pubkey, } +// TODO: update the name of this to EmergencyDeletedRootBundle and in EVM. #[event] -pub struct EmergencyDeletedRootBundle { +pub struct EmergencyDeleteRootBundle { pub root_bundle_id: u32, } From cc27ebbe246c506a93d2c6c0ced83156d33825dc Mon Sep 17 00:00:00 2001 From: Chris Maree Date: Mon, 25 Nov 2024 21:54:50 +0700 Subject: [PATCH 5/5] Discard changes to programs/svm-spoke/src/instructions/admin.rs --- programs/svm-spoke/src/instructions/admin.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/programs/svm-spoke/src/instructions/admin.rs b/programs/svm-spoke/src/instructions/admin.rs index 1342def77..f42b52e77 100644 --- a/programs/svm-spoke/src/instructions/admin.rs +++ b/programs/svm-spoke/src/instructions/admin.rs @@ -9,8 +9,7 @@ use crate::{ constraints::is_local_or_remote_owner, error::SvmError, event::{ - EmergencyDeletedRootBundle, EnabledDepositRoute, PausedDeposits, PausedFills, RelayedRootBundle, - SetXDomainAdmin, + EmergencyDeleteRootBundle, EnabledDepositRoute, PausedDeposits, PausedFills, RelayedRootBundle, SetXDomainAdmin, }, initialize_current_time, set_seed, state::{RootBundle, Route, State}, @@ -265,7 +264,7 @@ pub struct EmergencyDeleteRootBundleState<'info> { } pub fn emergency_delete_root_bundle(ctx: Context, root_bundle_id: u32) -> Result<()> { - emit_cpi!(EmergencyDeletedRootBundle { root_bundle_id }); + emit_cpi!(EmergencyDeleteRootBundle { root_bundle_id }); Ok(()) }