diff --git a/camp_4/buidl/contracts/ERC20.cairo b/camp_4/buidl/contracts/ERC20.cairo index 14742c8e5..9811c337f 100644 --- a/camp_4/buidl/contracts/ERC20.cairo +++ b/camp_4/buidl/contracts/ERC20.cairo @@ -6,39 +6,16 @@ from starkware.cairo.common.cairo_builtins import HashBuiltin from starkware.cairo.common.uint256 import Uint256 -from openzeppelin.token.erc20.library import ( - ERC20_name, - ERC20_symbol, - ERC20_totalSupply, - ERC20_decimals, - ERC20_balanceOf, - ERC20_allowance, - - ERC20_initializer, - ERC20_approve, - ERC20_increaseAllowance, - ERC20_decreaseAllowance, - ERC20_transfer, - ERC20_transferFrom, - ERC20_mint -) - -from openzeppelin.utils.constants import TRUE +from openzeppelin.token.erc20.library import ERC20 + +from starkware.cairo.common.bool import TRUE @constructor -func constructor{ - syscall_ptr: felt*, - pedersen_ptr: HashBuiltin*, - range_check_ptr - }( - name: felt, - symbol: felt, - decimals: felt, - initial_supply: Uint256, - recipient: felt - ): - ERC20_initializer(name, symbol, decimals) - ERC20_mint(recipient, initial_supply) +func constructor{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + name : felt, symbol : felt, decimals : felt, initial_supply : Uint256, recipient : felt +): + ERC20.initializer(name, symbol, decimals) + ERC20._mint(recipient, initial_supply) return () end @@ -47,62 +24,46 @@ end # @view -func name{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }() -> (name: felt): - let (name) = ERC20_name() +func name{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}() -> (name : felt): + let (name) = ERC20.name() return (name) end @view -func symbol{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }() -> (symbol: felt): - let (symbol) = ERC20_symbol() +func symbol{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}() -> (symbol : felt): + let (symbol) = ERC20.symbol() return (symbol) end @view -func totalSupply{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }() -> (totalSupply: Uint256): - let (totalSupply: Uint256) = ERC20_totalSupply() +func totalSupply{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}() -> ( + totalSupply : Uint256 +): + let (totalSupply : Uint256) = ERC20.total_supply() return (totalSupply) end @view -func decimals{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }() -> (decimals: felt): - let (decimals) = ERC20_decimals() +func decimals{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}() -> ( + decimals : felt +): + let (decimals) = ERC20.decimals() return (decimals) end @view -func balanceOf{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }(account: felt) -> (balance: Uint256): - let (balance: Uint256) = ERC20_balanceOf(account) +func balanceOf{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + account : felt +) -> (balance : Uint256): + let (balance : Uint256) = ERC20.balance_of(account) return (balance) end @view -func allowance{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }(owner: felt, spender: felt) -> (remaining: Uint256): - let (remaining: Uint256) = ERC20_allowance(owner, spender) +func allowance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + owner : felt, spender : felt +) -> (remaining : Uint256): + let (remaining : Uint256) = ERC20.allowance(owner, spender) return (remaining) end @@ -111,55 +72,41 @@ end # @external -func transfer{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }(recipient: felt, amount: Uint256) -> (success: felt): - ERC20_transfer(recipient, amount) +func transfer{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + recipient : felt, amount : Uint256 +) -> (success : felt): + ERC20.transfer(recipient, amount) return (TRUE) end @external -func transferFrom{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }( - sender: felt, - recipient: felt, - amount: Uint256 - ) -> (success: felt): - ERC20_transferFrom(sender, recipient, amount) +func transferFrom{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + sender : felt, recipient : felt, amount : Uint256 +) -> (success : felt): + ERC20.transfer_from(sender, recipient, amount) return (TRUE) end @external -func approve{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }(spender: felt, amount: Uint256) -> (success: felt): - ERC20_approve(spender, amount) +func approve{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + spender : felt, amount : Uint256 +) -> (success : felt): + ERC20.approve(spender, amount) return (TRUE) end @external -func increaseAllowance{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }(spender: felt, added_value: Uint256) -> (success: felt): - ERC20_increaseAllowance(spender, added_value) +func increaseAllowance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + spender : felt, added_value : Uint256 +) -> (success : felt): + ERC20.increase_allowance(spender, added_value) return (TRUE) end @external -func decreaseAllowance{ - syscall_ptr : felt*, - pedersen_ptr : HashBuiltin*, - range_check_ptr - }(spender: felt, subtracted_value: Uint256) -> (success: felt): - ERC20_decreaseAllowance(spender, subtracted_value) +func decreaseAllowance{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check_ptr}( + spender : felt, subtracted_value : Uint256 +) -> (success : felt): + ERC20.decrease_allowance(spender, subtracted_value) return (TRUE) end diff --git a/camp_4/buidl/tests/test_contract.py b/camp_4/buidl/tests/test_contract.py index 8a0b40181..bd8810bfd 100644 --- a/camp_4/buidl/tests/test_contract.py +++ b/camp_4/buidl/tests/test_contract.py @@ -69,7 +69,7 @@ def __eq__(self, __o: object) -> bool: # The path to the contract source code. -CONTRACT_FILE = os.path.join("contracts", "contract.cairo") +CONTRACT_FILE = os.path.join("contracts", "contract_final.cairo") MOCKERC20_FILE = os.path.join("contracts", "ERC20.cairo") signer1 = private_to_stark_key(123)