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) move_contract = Contract._get_contract(web3=token.web3, abi=move_abi, address=token.address) if move_contract.functions.safeRights( address_to_check.address, spender_address.address).call() is False: logger = logging.getLogger() logger.info( f"Approving {spender_name} ({spender_address}) to move our {token.address} directly" ) approve_safe_modification = Transact( move_contract, move_contract.web3, move_contract.abi, Address(move_contract.address), move_contract, 'approveSAFEModification', [spender_address.address]) if not approve_safe_modification.transact(**kwargs): raise RuntimeError("Approval failed!")
def test_empty_tx(self): empty_tx = Transact(self, self.web3, None, self.keeper_address, None, None, [self.keeper_address, Wad(0)]) empty_tx.transact()