def is_empty_or_checksum_address(val): if val in {None, b'', ''}: return True elif is_checksum_address(val): return True else: return False
def deploy_contract(web3, name, factory): web3.personal.unlockAccount(web3.eth.coinbase, KEYFILE_PW) deploy_txn_hash = factory.deploy({'from': web3.eth.coinbase}) print('{0}_CONTRACT_DEPLOY_HASH: '.format(name.upper()), deploy_txn_hash) deploy_receipt = mine_transaction_hash(web3, deploy_txn_hash) print('{0}_CONTRACT_DEPLOY_TRANSACTION_MINED'.format(name.upper())) contract_address = deploy_receipt['contractAddress'] assert is_checksum_address(contract_address) print('{0}_CONTRACT_ADDRESS:'.format(name.upper()), contract_address) return deploy_receipt