示例#1
0
def test_decode_various():
    data = ('0x00000000000000000000000082a978b3f5962a5b0957d9ee9eef472ee55b42f10000000000000'
            '0000000000000000000000000000000000000000000000000017374757069642070696e6b20616e69'
            '6d616c000000000000000000000000000000000000000000000000000000000000000000000000000'
            '00000000000000000')

    expected = [b'82a978b3f5962a5b0957d9ee9eef472ee55b42f1', 1,
                b'stupid pink animal\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0]
    output = decode_multi(['address', 'uint32', 'bytes32', 'int32'], data)
示例#2
0
def test_decode_various():
    data = ('0x00000000000000000000000082a978b3f5962a5b0957d9ee9eef472ee55b42f10000000000000'
            '0000000000000000000000000000000000000000000000000017374757069642070696e6b20616e69'
            '6d616c000000000000000000000000000000000000000000000000000000000000000000000000000'
            '00000000000000000')

    expected = [b'0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1', 1,
                b'stupid pink animal\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 0]
    output = decode_multi(['address', 'uint32', 'bytes32', 'int32'], data)
    assert output == expected
示例#3
0
    def cast_return_data(self, outputs):
        if len(self.output_types) != 1:
            try:
                return decode_multi(self.output_types, outputs)
            except AssertionError:
                raise EmptyDataError("call to {0} unexpectedly returned no data".format(self))
        output_type = self.output_types[0]

        try:
            return decode_single(output_type, outputs)
        except AssertionError:
            raise EmptyDataError("call to {0} unexpectedly returned no data".format(self))
示例#4
0
    def cast_return_data(self, outputs):
        if len(self.output_types) != 1:
            try:
                return decode_multi(self.output_types, outputs)
            except AssertionError:
                raise EmptyDataError(
                    "call to {0} unexpectedly returned no data".format(self))
        output_type = self.output_types[0]

        try:
            return decode_single(output_type, outputs)
        except AssertionError:
            raise EmptyDataError(
                "call to {0} unexpectedly returned no data".format(self))
示例#5
0
    def cast_return_data(self, outputs):
        if len(self.output_types) != 1:
            return decode_multi(self.output_types, outputs)
        output_type = self.output_types[0]

        return decode_single(output_type, outputs)
示例#6
0
    def cast_return_data(self, outputs):
        if len(self.output_types) != 1:
            return decode_multi(self.output_types, outputs)
        output_type = self.output_types[0]

        return decode_single(output_type, outputs)
示例#7
0
def test_empty_data_raises():
    with pytest.raises(AssertionError):
        decode_multi(['uint32', 'uint32'], '0x')
示例#8
0
def test_decode_two_uint32(input, expected):
    output = decode_multi(['uint32', 'uint32'], input)
    assert output == expected