diff --git a/res/sweat.wasm b/res/sweat.wasm index 886d309..712b304 100755 Binary files a/res/sweat.wasm and b/res/sweat.wasm differ diff --git a/sweat/src/core.rs b/sweat/src/core.rs index 59179bb..c1a20e0 100644 --- a/sweat/src/core.rs +++ b/sweat/src/core.rs @@ -1,5 +1,5 @@ use near_contract_standards::{ - fungible_token::FungibleTokenCore, + fungible_token::{FungibleTokenCore, FungibleTokenResolver}, storage_management::{StorageBalance, StorageBalanceBounds, StorageManagement}, }; use near_sdk::{json_types::U128, near_bindgen, AccountId, NearToken, PromiseOrValue}; @@ -58,3 +58,11 @@ impl StorageManagement for Contract { self.token.storage_balance_of(account_id) } } + +#[near_bindgen] +impl FungibleTokenResolver for Contract { + fn ft_resolve_transfer(&mut self, sender_id: AccountId, receiver_id: AccountId, amount: U128) -> U128 { + let (used_amount, _burned_amount) = self.token.internal_ft_resolve_transfer(&sender_id, receiver_id, amount); + used_amount.into() + } +}