Skip to content

Commit

Permalink
address comments
Browse files Browse the repository at this point in the history
  • Loading branch information
cgorenflo committed Dec 6, 2024
1 parent 748a524 commit b10a553
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 19 deletions.
20 changes: 11 additions & 9 deletions packages/axelar-soroban-std/src/interfaces/ownable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ pub fn owner(env: &Env) -> Address {

/// Default implementation of the [OwnableInterface] trait. Ensures the current owner is authorized and emits an event after the transfer.
pub fn transfer_ownership<T: OwnableInterface>(env: &Env, new_owner: Address) {
let previous_owner = T::owner(env);
previous_owner.require_auth();
let current_owner = T::owner(env);
current_owner.require_auth();

set_owner(env, &new_owner);

OwnerChangedEvent {
previous_owner,
OwnershipTransferredEvent {
previous_owner: current_owner,
new_owner,
}
.emit(env);
Expand All @@ -44,12 +44,12 @@ pub fn set_owner(env: &Env, owner: &Address) {
}

#[derive(Clone, Debug, PartialEq, Eq)]
pub struct OwnerChangedEvent {
pub struct OwnershipTransferredEvent {
pub previous_owner: Address,
pub new_owner: Address,
}

impl Event for OwnerChangedEvent {
impl Event for OwnershipTransferredEvent {
fn topics(&self, env: &Env) -> impl Topics + Debug {
(
Symbol::new(env, "ownership_transferred"),
Expand All @@ -64,7 +64,7 @@ impl Event for OwnerChangedEvent {
}

#[cfg(any(test, feature = "testutils"))]
impl_event_testutils!(OwnerChangedEvent, (Symbol, Address, Address), ());
impl_event_testutils!(OwnershipTransferredEvent, (Symbol, Address, Address), ());

// submodule to encapsulate the disabled linting
mod storage {
Expand All @@ -86,7 +86,7 @@ mod storage {
#[cfg(test)]
mod test {
use crate::interfaces::testdata::contract::Contract;
use crate::interfaces::{OwnableClient, OwnerChangedEvent};
use crate::interfaces::{OwnableClient, OwnershipTransferredEvent};
use crate::{assert_invoke_auth_err, assert_invoke_auth_ok, events};
use soroban_sdk::testutils::Address as _;
use soroban_sdk::{Address, Env};
Expand Down Expand Up @@ -133,7 +133,9 @@ mod test {
let new_owner = Address::generate(&env);
assert_invoke_auth_ok!(owner, client.try_transfer_ownership(&new_owner));

goldie::assert!(events::fmt_last_emitted_event::<OwnerChangedEvent>(&env));
goldie::assert!(events::fmt_last_emitted_event::<OwnershipTransferredEvent>(
&env
));

assert_eq!(client.owner(), new_owner);
}
Expand Down
20 changes: 10 additions & 10 deletions packages/axelar-soroban-std/src/interfaces/upgradable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,16 @@ mod test {

const WASM: &[u8] = include_bytes!("testdata/contract.wasm");

fn prepare_client_and_bytecode(
env: &Env,
owner: Option<Address>,
) -> (ContractClient, BytesN<32>) {
let contract_id = env.register(testdata::contract::Contract, (owner,));
let hash = env.deployer().upload_contract_wasm(WASM);
let client = ContractClient::new(env, &contract_id);
(client, hash)
}

#[test]
fn contracttype_enum_name_is_irrelevant_for_key_collision() {
let env = Env::default();
Expand Down Expand Up @@ -268,16 +278,6 @@ mod test {
assert_invoke_auth_err!(owner, client.try_migrate(&()));
}

fn prepare_client_and_bytecode(
env: &Env,
owner: Option<Address>,
) -> (ContractClient, BytesN<32>) {
let contract_id = env.register(testdata::contract::Contract, (owner,));
let hash = env.deployer().upload_contract_wasm(WASM);
let client = ContractClient::new(env, &contract_id);
(client, hash)
}

#[contracttype]
enum DataKey2 {
Migrating,
Expand Down

0 comments on commit b10a553

Please sign in to comment.