diff --git a/contracts/governance-core/src/lib.rs b/contracts/governance-core/src/lib.rs index 8d91d3b..6b3741a 100644 --- a/contracts/governance-core/src/lib.rs +++ b/contracts/governance-core/src/lib.rs @@ -158,6 +158,9 @@ impl GovernanceCoreContract { .set(&DataKey::RoleCount(role), &(count - 1)); } } + + env.events() + .publish((symbol_short!("role"), symbol_short!("revoked")), account); } pub fn has_role(env: Env, account: Address, role: Role) -> bool { @@ -222,6 +225,9 @@ impl GovernanceCoreContract { env.storage() .instance() .set(&DataKey::GovernanceParams, ¶ms); + + env.events() + .publish((symbol_short!("params"), symbol_short!("updated")), admin); } pub fn get_params(env: Env) -> GovernanceParams { diff --git a/contracts/kyc-registry/src/lib.rs b/contracts/kyc-registry/src/lib.rs index bf3d74f..093789a 100644 --- a/contracts/kyc-registry/src/lib.rs +++ b/contracts/kyc-registry/src/lib.rs @@ -243,13 +243,16 @@ impl KycRegistryContract { .expect("kyc not found"); record.verified = false; - let _ttl_key = DataKey::KycRecord(account); + let _ttl_key = DataKey::KycRecord(account.clone()); env.storage().persistent().set(&_ttl_key, &record); env.storage().persistent().extend_ttl( &_ttl_key, PERSISTENT_LIFETIME_THRESHOLD, PERSISTENT_BUMP_AMOUNT, ); + + env.events() + .publish((symbol_short!("kyc"), symbol_short!("revoked")), account); } pub fn is_kyc_valid(env: Env, account: Address) -> bool { diff --git a/contracts/liquidity-pool/src/lib.rs b/contracts/liquidity-pool/src/lib.rs index f6157ea..0d8dd5a 100644 --- a/contracts/liquidity-pool/src/lib.rs +++ b/contracts/liquidity-pool/src/lib.rs @@ -229,6 +229,11 @@ impl LiquidityPoolContract { let token_client = token::Client::new(&env, &token_addr); token_client.transfer(&env.current_contract_address(), &provider, &amount); + env.events().publish( + (symbol_short!("pool"), symbol_short!("withdraw")), + (provider, shares, amount), + ); + amount } @@ -311,6 +316,11 @@ impl LiquidityPoolContract { .unwrap(); let token_client = token::Client::new(&env, &token_addr); token_client.transfer(&env.current_contract_address(), &borrower, &amount); + + env.events().publish( + (symbol_short!("pool"), symbol_short!("borrow")), + (borrower, campaign_id, amount), + ); } /// Calculate interest accrued on a borrow position @@ -370,6 +380,11 @@ impl LiquidityPoolContract { PERSISTENT_BUMP_AMOUNT, ); + env.events().publish( + (symbol_short!("pool"), symbol_short!("accrue")), + (campaign_id, new_interest), + ); + new_interest } diff --git a/contracts/multisig-treasury/src/lib.rs b/contracts/multisig-treasury/src/lib.rs index 841f41e..71436a9 100644 --- a/contracts/multisig-treasury/src/lib.rs +++ b/contracts/multisig-treasury/src/lib.rs @@ -200,7 +200,7 @@ impl MultisigTreasuryContract { } tx.approvals += 1; - let _ttl_key = DataKey::TxApproval(tx_id, signer); + let _ttl_key = DataKey::TxApproval(tx_id, signer.clone()); env.storage().persistent().set(&_ttl_key, &true); env.storage().persistent().extend_ttl( &_ttl_key, @@ -219,6 +219,11 @@ impl MultisigTreasuryContract { PERSISTENT_LIFETIME_THRESHOLD, PERSISTENT_BUMP_AMOUNT, ); + + env.events().publish( + (symbol_short!("tx"), symbol_short!("approved")), + (tx_id, signer), + ); } pub fn execute_transaction(env: Env, caller: Address, tx_id: u64) { @@ -338,7 +343,7 @@ impl MultisigTreasuryContract { .persistent() .set(&DataKey::TxRejection(tx_id, signer.clone()), &true); env.storage().persistent().extend_ttl( - &DataKey::TxRejection(tx_id, signer), + &DataKey::TxRejection(tx_id, signer.clone()), PERSISTENT_LIFETIME_THRESHOLD, PERSISTENT_BUMP_AMOUNT, ); @@ -350,6 +355,11 @@ impl MultisigTreasuryContract { PERSISTENT_LIFETIME_THRESHOLD, PERSISTENT_BUMP_AMOUNT, ); + + env.events().publish( + (symbol_short!("tx"), symbol_short!("rejected")), + (tx_id, signer), + ); } pub fn get_transaction(env: Env, tx_id: u64) -> Option { @@ -460,7 +470,7 @@ impl MultisigTreasuryContract { } env.storage().instance().set(&DataKey::Paused, &paused); env.events() - .publish((symbol_short!("pause"), symbol_short!("set")), paused); + .publish((symbol_short!("pause"), symbol_short!("set")), (admin, paused)); } /// Whether the contract is currently paused.