From c4596c5d9ae453d6d9270c40f15e7c5a3eef240c Mon Sep 17 00:00:00 2001 From: Siddharth Suresh Date: Mon, 21 Aug 2023 10:37:59 -0700 Subject: [PATCH] Publish events using the token sdk --- token/src/contract.rs | 24 ++++++++++++++---------- token/src/event.rs | 36 ------------------------------------ token/src/lib.rs | 1 - 3 files changed, 14 insertions(+), 47 deletions(-) delete mode 100644 token/src/event.rs diff --git a/token/src/contract.rs b/token/src/contract.rs index 754d7e1b..bd8da007 100644 --- a/token/src/contract.rs +++ b/token/src/contract.rs @@ -4,11 +4,11 @@ use crate::admin::{has_administrator, read_administrator, write_administrator}; use crate::allowance::{read_allowance, spend_allowance, write_allowance}; use crate::balance::{is_authorized, write_authorization}; use crate::balance::{read_balance, receive_balance, spend_balance}; -use crate::event; use crate::metadata::{read_decimal, read_name, read_symbol, write_metadata}; use crate::storage_types::INSTANCE_BUMP_AMOUNT; use soroban_sdk::{contract, contractimpl, Address, Env, String}; use soroban_token_sdk::metadata::TokenMetadata; +use soroban_token_sdk::TokenUtils; pub trait TokenTrait { fn initialize(e: Env, admin: Address, decimal: u32, name: String, symbol: String); @@ -89,7 +89,9 @@ impl TokenTrait for Token { e.storage().instance().bump(INSTANCE_BUMP_AMOUNT); write_allowance(&e, from.clone(), spender.clone(), amount, expiration_ledger); - event::approve(&e, from, spender, amount, expiration_ledger); + TokenUtils::new(&e) + .events() + .approve(from, spender, amount, expiration_ledger); } fn balance(e: Env, id: Address) -> i128 { @@ -116,7 +118,7 @@ impl TokenTrait for Token { spend_balance(&e, from.clone(), amount); receive_balance(&e, to.clone(), amount); - event::transfer(&e, from, to, amount); + TokenUtils::new(&e).events().transfer(from, to, amount); } fn transfer_from(e: Env, spender: Address, from: Address, to: Address, amount: i128) { @@ -129,7 +131,7 @@ impl TokenTrait for Token { spend_allowance(&e, from.clone(), spender, amount); spend_balance(&e, from.clone(), amount); receive_balance(&e, to.clone(), amount); - event::transfer(&e, from, to, amount) + TokenUtils::new(&e).events().transfer(from, to, amount) } fn burn(e: Env, from: Address, amount: i128) { @@ -140,7 +142,7 @@ impl TokenTrait for Token { e.storage().instance().bump(INSTANCE_BUMP_AMOUNT); spend_balance(&e, from.clone(), amount); - event::burn(&e, from, amount); + TokenUtils::new(&e).events().burn(from, amount); } fn burn_from(e: Env, spender: Address, from: Address, amount: i128) { @@ -152,7 +154,7 @@ impl TokenTrait for Token { spend_allowance(&e, from.clone(), spender, amount); spend_balance(&e, from.clone(), amount); - event::burn(&e, from, amount) + TokenUtils::new(&e).events().burn(from, amount) } fn clawback(e: Env, from: Address, amount: i128) { @@ -163,7 +165,7 @@ impl TokenTrait for Token { e.storage().instance().bump(INSTANCE_BUMP_AMOUNT); spend_balance(&e, from.clone(), amount); - event::clawback(&e, admin, from, amount); + TokenUtils::new(&e).events().clawback(admin, from, amount); } fn set_authorized(e: Env, id: Address, authorize: bool) { @@ -173,7 +175,9 @@ impl TokenTrait for Token { e.storage().instance().bump(INSTANCE_BUMP_AMOUNT); write_authorization(&e, id.clone(), authorize); - event::set_authorized(&e, admin, id, authorize); + TokenUtils::new(&e) + .events() + .set_authorized(admin, id, authorize); } fn mint(e: Env, to: Address, amount: i128) { @@ -184,7 +188,7 @@ impl TokenTrait for Token { e.storage().instance().bump(INSTANCE_BUMP_AMOUNT); receive_balance(&e, to.clone(), amount); - event::mint(&e, admin, to, amount); + TokenUtils::new(&e).events().mint(admin, to, amount); } fn set_admin(e: Env, new_admin: Address) { @@ -194,7 +198,7 @@ impl TokenTrait for Token { e.storage().instance().bump(INSTANCE_BUMP_AMOUNT); write_administrator(&e, &new_admin); - event::set_admin(&e, admin, new_admin); + TokenUtils::new(&e).events().set_admin(admin, new_admin); } fn decimals(e: Env) -> u32 { diff --git a/token/src/event.rs b/token/src/event.rs deleted file mode 100644 index b897bb45..00000000 --- a/token/src/event.rs +++ /dev/null @@ -1,36 +0,0 @@ -use soroban_sdk::{symbol_short, Address, Env, Symbol}; - -pub(crate) fn approve(e: &Env, from: Address, to: Address, amount: i128, expiration_ledger: u32) { - let topics = (Symbol::new(e, "approve"), from, to); - e.events().publish(topics, (amount, expiration_ledger)); -} - -pub(crate) fn transfer(e: &Env, from: Address, to: Address, amount: i128) { - let topics = (symbol_short!("transfer"), from, to); - e.events().publish(topics, amount); -} - -pub(crate) fn mint(e: &Env, admin: Address, to: Address, amount: i128) { - let topics = (symbol_short!("mint"), admin, to); - e.events().publish(topics, amount); -} - -pub(crate) fn clawback(e: &Env, admin: Address, from: Address, amount: i128) { - let topics = (symbol_short!("clawback"), admin, from); - e.events().publish(topics, amount); -} - -pub(crate) fn set_authorized(e: &Env, admin: Address, id: Address, authorize: bool) { - let topics = (Symbol::new(e, "set_authorized"), admin, id); - e.events().publish(topics, authorize); -} - -pub(crate) fn set_admin(e: &Env, admin: Address, new_admin: Address) { - let topics = (symbol_short!("set_admin"), admin); - e.events().publish(topics, new_admin); -} - -pub(crate) fn burn(e: &Env, from: Address, amount: i128) { - let topics = (symbol_short!("burn"), from); - e.events().publish(topics, amount); -} diff --git a/token/src/lib.rs b/token/src/lib.rs index 0531bb8c..b5f04e4d 100644 --- a/token/src/lib.rs +++ b/token/src/lib.rs @@ -4,7 +4,6 @@ mod admin; mod allowance; mod balance; mod contract; -mod event; mod metadata; mod storage_types; mod test;