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)
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
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))
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))
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)
def test_empty_data_raises(): with pytest.raises(AssertionError): decode_multi(['uint32', 'uint32'], '0x')
def test_decode_two_uint32(input, expected): output = decode_multi(['uint32', 'uint32'], input) assert output == expected