コード例 #1
0
 def approval_function(token: ERC20Token, spender_address: Address, spender_name: str):
     if token.allowance_of(tx_manager.address, spender_address) < Wad(2 ** 128 - 1):
         logger = logging.getLogger()
         logger.info(f"Approving {spender_name} ({spender_address}) to access our {token.address}"
                     f" via TxManager {tx_manager.address}")
         if not tx_manager.execute([], [(token.approve(spender_address).invocation())]).transact(**kwargs):
             raise RuntimeError("Approval failed!")
コード例 #2
0
    def approval_function(token: ERC20Token, spender_address: Address, spender_name: str):
        address_to_check = kwargs['from_address'] if 'from_address' in kwargs else Address(token.web3.eth.defaultAccount)

        if token.allowance_of(address_to_check, spender_address) < Wad(2 ** 128 - 1):
            logger = logging.getLogger()
            logger.info(f"Approving {spender_name} ({spender_address}) to access our {token.address} directly")
            if not token.approve(spender_address).transact(**kwargs):
                raise RuntimeError("Approval failed!")