From 49e88a88b11fc5625e315807475507745c8cf4c2 Mon Sep 17 00:00:00 2001 From: JChoy Date: Fri, 2 Aug 2024 12:33:28 +0900 Subject: [PATCH] refactor: make use erc20 from oz --- src/book_manager.cairo | 4 ++-- src/interfaces/erc20.cairo | 24 ------------------------ src/lib.cairo | 1 - 3 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 src/interfaces/erc20.cairo diff --git a/src/book_manager.cairo b/src/book_manager.cairo index cf79a49..8b84c10 100644 --- a/src/book_manager.cairo +++ b/src/book_manager.cairo @@ -1,6 +1,7 @@ #[starknet::contract] pub mod BookManager { use openzeppelin::introspection::src5::SRC5Component; + use openzeppelin::token::erc20::interface::{IERC20Dispatcher, IERC20DispatcherTrait}; use openzeppelin::token::erc721::{ERC721Component, ERC721HooksEmptyImpl}; use openzeppelin::access::ownable::OwnableComponent; use core::num::traits::zero::Zero; @@ -8,7 +9,6 @@ pub mod BookManager { use starknet::{ContractAddress, get_caller_address, get_contract_address}; use clober_cairo::interfaces::book_manager::IBookManager; use clober_cairo::interfaces::locker::{ILockerDispatcher, ILockerDispatcherTrait}; - use clober_cairo::interfaces::erc20::{IERC20Dispatcher, IERC20DispatcherTrait}; use clober_cairo::interfaces::params::{MakeParams, TakeParams, CancelParams}; use clober_cairo::components::currency_delta::CurrencyDeltaComponent; use clober_cairo::components::hook_caller::HookCallerComponent; @@ -535,7 +535,7 @@ pub mod BookManager { let reserves_before = self.reserves_of.read(currency); let erc20_dispatcher = IERC20Dispatcher { contract_address: currency }; - let balance_of_self = erc20_dispatcher.balanceOf(get_contract_address()); + let balance_of_self = erc20_dispatcher.balance_of(get_contract_address()); self.reserves_of.write(currency, balance_of_self); let paid = balance_of_self - reserves_before; // subtraction must be safe diff --git a/src/interfaces/erc20.cairo b/src/interfaces/erc20.cairo deleted file mode 100644 index abbf8e2..0000000 --- a/src/interfaces/erc20.cairo +++ /dev/null @@ -1,24 +0,0 @@ -use starknet::{ContractAddress}; - -// A simplified interface for a fungible token standard. -#[starknet::interface] -pub trait IERC20 { - // Transfers the amount to the recipient from the caller - // Note there is no bool return value in this interface, because we do not use it. It is assumed - // the transfer will revert if the caller has insufficient balance. - fn transfer(ref self: TContractState, recipient: ContractAddress, amount: u256) -> bool; - // Returns the current balance of the account. - fn balanceOf(self: @TContractState, account: ContractAddress) -> u256; - - // Approves the given address to spend the given amount - fn approve(ref self: TContractState, spender: ContractAddress, amount: u256) -> bool; - - // Transfers the amount from the `sender` address to the `recipient` address. - // The caller must be approved for at least the `amount`. - fn transferFrom( - ref self: TContractState, sender: ContractAddress, recipient: ContractAddress, amount: u256 - ) -> bool; - - // Returns the current allowance of the given owner to spender - fn allowance(self: @TContractState, owner: ContractAddress, spender: ContractAddress) -> u256; -} diff --git a/src/lib.cairo b/src/lib.cairo index 52e2a6d..b1a1cab 100644 --- a/src/lib.cairo +++ b/src/lib.cairo @@ -7,7 +7,6 @@ pub mod components { pub mod interfaces { pub mod book_manager; pub mod currency_delta; - pub mod erc20; pub mod hook_caller; pub mod locker; pub mod lockers;