예제 #1
0
def get_clean_address_or_throw(address):
    """Get a clean 42 character address with leading '0x' throw

    Keyword argument:
    address: hex-like address
    """
    if not isinstance(address, str):
        address = HexBytes(address).rjust(10, b"\0").hex()
    if not RE_ADDRESS.match(address.lower()):
        raise TypeError("address looks invalid: '{}'".format(address))
    if not address.startswith("0x"):
        address = "0x" + address
    return address
예제 #2
0
def contract_call_string(call_result):
    length = int(call_result[66:130], 16) * 2
    data = call_result[130:130 + length]
    ret = HexBytes(data).decode()
    return ret.lower()
예제 #3
0
 def contract_call_string(self, fromAddress, contractAddress, dataList):
     result = self.contract_call(fromAddress, contractAddress, dataList)
     length = int(result[66:130], 16) * 2
     data = result[130:130 + length]
     ret = HexBytes(data).decode()
     return ret.lower()