use of org.fisco.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.
the class TransactionDecoderTest method testEventSimple.
/*
* event TestEventSimpleParams(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs);
* event TestEventDArrayParams(uint256[] _u,int256[] _i,bool[] _b,address[] _addr,bytes32[] _bs32, string[] _s,bytes[] _bs);
* event TestEventSArrayParams(uint256[4] _u,int256[4] _i,bool[4] _b,address[4] _addr,bytes32[4] _bs32, string[4] _s,bytes[4] _bs);
*/
@Test
public void testEventSimple() throws BaseException, IOException {
/*
event TestEventSimpleParams(uint256 _u,int256 _i,bool _b,address _addr,bytes32 _bs32, string _s,bytes _bs);
*/
TransactionDecoder decode = TransactionDecoderFactory.buildTransactionDecoder("[{\"constant\":true,\"inputs\":[{\"name\":\"_u\",\"type\":\"uint256[4]\"},{\"name\":\"_i\",\"type\":\"int256[4]\"},{\"name\":\"_b\",\"type\":\"bool[4]\"},{\"name\":\"_addr\",\"type\":\"address[4]\"},{\"name\":\"_bs32\",\"type\":\"bytes32[4]\"},{\"name\":\"_s\",\"type\":\"string[4]\"},{\"name\":\"_bs\",\"type\":\"bytes[4]\"}],\"name\":\"test\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256[2]\"},{\"name\":\"\",\"type\":\"int256[2]\"},{\"name\":\"\",\"type\":\"bool[2]\"},{\"name\":\"\",\"type\":\"address[2]\"},{\"name\":\"\",\"type\":\"bytes32[2]\"},{\"name\":\"\",\"type\":\"string[2]\"},{\"name\":\"\",\"type\":\"bytes[2]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_u\",\"type\":\"uint256\"},{\"name\":\"_i\",\"type\":\"int256\"},{\"name\":\"_b\",\"type\":\"bool\"},{\"name\":\"_addr\",\"type\":\"address\"},{\"name\":\"_bs32\",\"type\":\"bytes32\"},{\"name\":\"_s\",\"type\":\"string\"},{\"name\":\"_bs\",\"type\":\"bytes\"}],\"name\":\"test\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"int256\"},{\"name\":\"\",\"type\":\"bool\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_u\",\"type\":\"uint256[]\"},{\"name\":\"_i\",\"type\":\"int256[]\"},{\"name\":\"_b\",\"type\":\"bool[]\"},{\"name\":\"_addr\",\"type\":\"address[]\"},{\"name\":\"_bs32\",\"type\":\"bytes32[]\"},{\"name\":\"_s\",\"type\":\"string[]\"},{\"name\":\"_bs\",\"type\":\"bytes[]\"}],\"name\":\"test\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256[]\"},{\"name\":\"\",\"type\":\"int256[]\"},{\"name\":\"\",\"type\":\"bool[]\"},{\"name\":\"\",\"type\":\"address[]\"},{\"name\":\"\",\"type\":\"bytes32[]\"},{\"name\":\"\",\"type\":\"string[]\"},{\"name\":\"\",\"type\":\"bytes[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_u\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_i\",\"type\":\"int256\"},{\"indexed\":false,\"name\":\"_b\",\"type\":\"bool\"},{\"indexed\":false,\"name\":\"_addr\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_bs32\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"_s\",\"type\":\"string\"},{\"indexed\":false,\"name\":\"_bs\",\"type\":\"bytes\"}],\"name\":\"TestEventSimpleParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_u\",\"type\":\"uint256[]\"},{\"indexed\":false,\"name\":\"_i\",\"type\":\"int256[]\"},{\"indexed\":false,\"name\":\"_b\",\"type\":\"bool[]\"},{\"indexed\":false,\"name\":\"_addr\",\"type\":\"address[]\"},{\"indexed\":false,\"name\":\"_bs32\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"name\":\"_s\",\"type\":\"string[]\"},{\"indexed\":false,\"name\":\"_bs\",\"type\":\"bytes[]\"}],\"name\":\"TestEventDArrayParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_u\",\"type\":\"uint256[4]\"},{\"indexed\":false,\"name\":\"_i\",\"type\":\"int256[4]\"},{\"indexed\":false,\"name\":\"_b\",\"type\":\"bool[4]\"},{\"indexed\":false,\"name\":\"_addr\",\"type\":\"address[4]\"},{\"indexed\":false,\"name\":\"_bs32\",\"type\":\"bytes32[4]\"},{\"indexed\":false,\"name\":\"_s\",\"type\":\"string[4]\"},{\"indexed\":false,\"name\":\"_bs\",\"type\":\"bytes[4]\"}],\"name\":\"TestEventSArrayParams\",\"type\":\"event\"}]", "");
List<TypeReference<?>> eventTypeList = Arrays.asList(new TypeReference<Uint256>() {
}, new TypeReference<Int256>() {
}, new TypeReference<Bool>() {
}, new TypeReference<Address>() {
}, new TypeReference<Bytes32>() {
}, new TypeReference<Utf8String>() {
}, new TypeReference<DynamicBytes>() {
});
Event event = new Event("TestEventSimpleParams", eventTypeList);
List<Type> eventDataParams1 = Arrays.asList(new Uint256(111111), new Int256(-1111111), new Bool(false), new Address("0x692a70d2e424a56d2c6c27aa97d1a86395877b3a"), new Bytes32("abcdefghiabcdefghiabcdefghiabhji".getBytes()), new Utf8String("章鱼小丸子ljjkl;adjsfkljlkjl"), new DynamicBytes("sadfljkjkljkl".getBytes()));
List<Type> eventDataParams2 = Arrays.asList(new Uint256(0), new Int256(0), new Bool(true), new Address("0x0"), new Bytes32(" ".getBytes()), new Utf8String(""), new DynamicBytes("".getBytes()));
List<Type> eventDataParams3 = Arrays.asList(new Uint256(654321), new Int256(123456), new Bool(false), new Address("0x692a70d2e424a56d2c6c27aa97d1a86395877b3a"), new Bytes32(" ".getBytes()), new Utf8String("jlkjlkjasdfjlkj fsadjkljlk j章鱼小丸子"), new DynamicBytes("jlkjlkjasdfjlkj fsadjkljlk j章鱼小丸子".getBytes()));
List<String> topics = new ArrayList<String>();
topics.add(EventEncoder.encode(event));
Log log1 = new Log();
log1.setData(FunctionEncoder.encodeConstructor(eventDataParams1));
log1.setTopics(topics);
Log log2 = new Log();
log2.setData(FunctionEncoder.encodeConstructor(eventDataParams2));
log2.setTopics(topics);
Log log3 = new Log();
log3.setData(FunctionEncoder.encodeConstructor(eventDataParams3));
log3.setTopics(topics);
AbiDefinition abiDefinition = null;
Tuple2<AbiDefinition, List<EventResultEntity>> tupleResult1 = decode.decodeEventReturnObject(log1);
assertThat(transEntitytoType0(tupleResult1.getValue2()), is(eventDataParams1));
abiDefinition = tupleResult1.getValue1();
Tuple2<AbiDefinition, List<EventResultEntity>> tupleResult2 = decode.decodeEventReturnObject(log2);
assertThat(transEntitytoType0(tupleResult2.getValue2()), is(eventDataParams2));
Tuple2<AbiDefinition, List<EventResultEntity>> tupleResult3 = decode.decodeEventReturnObject(log3);
assertThat(transEntitytoType0(tupleResult3.getValue2()), is(eventDataParams3));
List<Log> logList1 = new ArrayList<Log>();
logList1.add(log1);
Map<String, List<List<EventResultEntity>>> mapResult1 = decode.decodeEventReturnObject(logList1);
assertThat(transEntitytoType0(mapResult1.get(decodeMethodSign(abiDefinition)).get(0)), is(eventDataParams1));
assertThat(decode.decodeEventReturnJson(logList1), is("{\"TestEventSimpleParams(uint256,int256,bool,address,bytes32,string,bytes)\":[[{\"name\":\"_u\",\"type\":\"uint256\",\"data\":111111,\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256\",\"data\":-1111111,\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool\",\"data\":false,\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address\",\"data\":\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32\",\"data\":\"abcdefghiabcdefghiabcdefghiabhji\",\"indexed\":false},{\"name\":\"_s\",\"type\":\"string\",\"data\":\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes\",\"data\":\"sadfljkjkljkl\",\"indexed\":false}]]}"));
List<Log> logList2 = new ArrayList<Log>();
logList2.add(log1);
logList2.add(log2);
Map<String, List<List<EventResultEntity>>> mapResult2 = decode.decodeEventReturnObject(logList2);
assertThat(transEntitytoType0(mapResult2.get(decodeMethodSign(abiDefinition)).get(0)), is(eventDataParams1));
assertThat(transEntitytoType0(mapResult2.get(decodeMethodSign(abiDefinition)).get(1)), is(eventDataParams2));
assertThat(decode.decodeEventReturnJson(logList2), is("{\"TestEventSimpleParams(uint256,int256,bool,address,bytes32,string,bytes)\":[[{\"name\":\"_u\",\"type\":\"uint256\",\"data\":111111,\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256\",\"data\":-1111111,\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool\",\"data\":false,\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address\",\"data\":\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32\",\"data\":\"abcdefghiabcdefghiabcdefghiabhji\",\"indexed\":false},{\"name\":\"_s\",\"type\":\"string\",\"data\":\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes\",\"data\":\"sadfljkjkljkl\",\"indexed\":false}],[{\"name\":\"_u\",\"type\":\"uint256\",\"data\":0,\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256\",\"data\":0,\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool\",\"data\":true,\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address\",\"data\":\"0x0000000000000000000000000000000000000000\",\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32\",\"data\":\"\",\"indexed\":false},{\"name\":\"_s\",\"type\":\"string\",\"data\":\"\",\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes\",\"data\":\"\",\"indexed\":false}]]}"));
List<Log> logList3 = new ArrayList<Log>();
logList3.add(log1);
logList3.add(log2);
logList3.add(log3);
Map<String, List<List<EventResultEntity>>> mapResult3 = decode.decodeEventReturnObject(logList3);
assertThat(transEntitytoType0(mapResult3.get(decodeMethodSign(abiDefinition)).get(0)), is(eventDataParams1));
assertThat(transEntitytoType0(mapResult3.get(decodeMethodSign(abiDefinition)).get(1)), is(eventDataParams2));
assertThat(transEntitytoType0(mapResult3.get(decodeMethodSign(abiDefinition)).get(2)), is(eventDataParams3));
assertThat(decode.decodeEventReturnJson(logList3), is("{\"TestEventSimpleParams(uint256,int256,bool,address,bytes32,string,bytes)\":[[{\"name\":\"_u\",\"type\":\"uint256\",\"data\":111111,\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256\",\"data\":-1111111,\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool\",\"data\":false,\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address\",\"data\":\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32\",\"data\":\"abcdefghiabcdefghiabcdefghiabhji\",\"indexed\":false},{\"name\":\"_s\",\"type\":\"string\",\"data\":\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes\",\"data\":\"sadfljkjkljkl\",\"indexed\":false}],[{\"name\":\"_u\",\"type\":\"uint256\",\"data\":0,\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256\",\"data\":0,\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool\",\"data\":true,\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address\",\"data\":\"0x0000000000000000000000000000000000000000\",\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32\",\"data\":\"\",\"indexed\":false},{\"name\":\"_s\",\"type\":\"string\",\"data\":\"\",\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes\",\"data\":\"\",\"indexed\":false}],[{\"name\":\"_u\",\"type\":\"uint256\",\"data\":654321,\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256\",\"data\":123456,\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool\",\"data\":false,\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address\",\"data\":\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32\",\"data\":\"\",\"indexed\":false},{\"name\":\"_s\",\"type\":\"string\",\"data\":\"jlkjlkjasdfjlkj fsadjkljlk j章鱼小丸子\",\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes\",\"data\":\"jlkjlkjasdfjlkj fsadjkljlk j章鱼小丸子\",\"indexed\":false}]]}"));
}
use of org.fisco.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.
the class UtilsTest method encodeGetLengthTest.
@Test
public void encodeGetLengthTest() {
// uint256
assertThat(Utils.getLength(Arrays.asList(new Uint256(1))), is(1));
// int256
assertThat(Utils.getLength(Arrays.asList(new Int256(1))), is(1));
// bool
assertThat(Utils.getLength(Arrays.asList(new Bool(true))), is(1));
// address
assertThat(Utils.getLength(Arrays.asList(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"))), is(1));
// bytes2
assertThat(Utils.getLength(Arrays.asList(new Bytes2("ab".getBytes()))), is(1));
// bytes32
assertThat(Utils.getLength(Arrays.asList(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))), is(1));
// bytes
assertThat(Utils.getLength(Arrays.asList(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))), is(1));
// string
assertThat(Utils.getLength(Arrays.asList(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))), is(1));
// uint256[4]
assertThat(Utils.getLength(Arrays.asList(new StaticArray4<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1)))), is(4));
// uint256[5]
assertThat(Utils.getLength(Arrays.asList(new StaticArray5<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1)))), is(5));
// uint256[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1)))), is(1));
// uint256[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1)), new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1))))), is(1));
// uint256[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<Uint256>(new Uint256(1), new Uint256(1)), new StaticArray2<Uint256>(new Uint256(1), new Uint256(1))))), is(1));
// uint256[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<Uint256>(new Uint256(1), new Uint256(1)), new DynamicArray<Uint256>(new Uint256(1), new Uint256(1))))), is(1));
// uint256[2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<StaticArray2>(new StaticArray2<Uint256>(new Uint256(1), new Uint256(1)), new StaticArray2<Uint256>(new Uint256(1), new Uint256(1))))), is(4));
// int256[4]
assertThat(Utils.getLength(Arrays.asList(new StaticArray4<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1)))), is(4));
// int256[5]
assertThat(Utils.getLength(Arrays.asList(new StaticArray5<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1)))), is(5));
// int256[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1)))), is(1));
// int256[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1)), new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1))))), is(1));
// int256[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1)), new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1))))), is(1));
// int256[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<Int256>(new Int256(1), new Int256(1)), new StaticArray2<Int256>(new Int256(1), new Int256(1))))), is(1));
// int256[2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<StaticArray2>(new StaticArray2<Int256>(new Int256(1), new Int256(1)), new StaticArray2<Int256>(new Int256(1), new Int256(1))))), is(4));
// bool[4]
assertThat(Utils.getLength(Arrays.asList(new StaticArray4<Bool>(new Bool(true), new Bool(true), new Bool(true), new Bool(true)))), is(4));
// bool[10]
assertThat(Utils.getLength(Arrays.asList(new StaticArray10<Bool>(new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true)))), is(10));
// bool[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Bool>(new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true)))), is(1));
// bool[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Bool>(new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true)), new DynamicArray<Bool>(new Bool(true), new Bool(true), new Bool(true), new Bool(true), new Bool(true))))), is(1));
// bool[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<Bool>(new Bool(true), new Bool(true)), new StaticArray2<Bool>(new Bool(true), new Bool(true))))), is(1));
// bool[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<Bool>(new Bool(true), new Bool(true)), new DynamicArray<Bool>(new Bool(true), new Bool(true))))), is(1));
// bool[2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<StaticArray2>(new StaticArray2<Bool>(new Bool(true), new Bool(true)), new StaticArray2<Bool>(new Bool(true), new Bool(true))))), is(4));
// bool[2][2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<StaticArray2<StaticArray2>>(new StaticArray2<StaticArray2>(new StaticArray2<Bool>(new Bool(true), new Bool(true)), new StaticArray2<Bool>(new Bool(true), new Bool(true))), new StaticArray2<StaticArray2>(new StaticArray2<Bool>(new Bool(true), new Bool(true)), new StaticArray2<Bool>(new Bool(true), new Bool(true)))))), is(8));
// address[4]
assertThat(Utils.getLength(Arrays.asList(new StaticArray4<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")))), is(4));
// address[5]
assertThat(Utils.getLength(Arrays.asList(new StaticArray5<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")))), is(5));
// address[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")))), is(1));
// address[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"))))), is(1));
// address[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new StaticArray2<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"))))), is(1));
// address[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"))))), is(1));
// address[3][3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray3<StaticArray3>(new StaticArray3<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new StaticArray3<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new StaticArray3<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"))))), is(9));
// bytes32[6]
assertThat(Utils.getLength(Arrays.asList(new StaticArray6<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())))), is(6));
// bytes32[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())))), is(1));
// bytes32[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// bytes32[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray2<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// bytes32[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// bytes32[3][3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray3<StaticArray3>(new StaticArray3<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(9));
// string[2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")))), is(1));
// string[4]
assertThat(Utils.getLength(Arrays.asList(new StaticArray4<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")))), is(1));
// string[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")))), is(1));
// string[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))))), is(1));
// string[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new StaticArray2<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))))), is(1));
// string[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))))), is(1));
// string[3][3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray3<StaticArray3>(new StaticArray3<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new StaticArray3<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new StaticArray3<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))))), is(1));
// bytes[2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())))), is(1));
// bytes[3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())))), is(1));
// bytes[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())))), is(1));
// bytes[][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// bytes[2][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<StaticArray2>(new StaticArray2<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray2<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// bytes[][]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<DynamicArray>(new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// bytes[3][3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray3<StaticArray3>(new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(1));
// int256
assertThat(Utils.getLength(Arrays.asList(new Int256(1))), is(1));
// uint256
assertThat(Utils.getLength(Arrays.asList(new Uint256(1))), is(1));
// int
assertThat(Utils.getLength(Arrays.asList(new Int(new BigInteger("1")))), is(1));
// uint
assertThat(Utils.getLength(Arrays.asList(new Uint(new BigInteger("1")))), is(1));
// address
assertThat(Utils.getLength(Arrays.asList(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"))), is(1));
// int,uint,bool,address,bytes32,bytes,string
assertThat(Utils.getLength(Arrays.asList(new Int256(1), new Uint256(1), new Bool(true), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("aa".getBytes()), new Utf8String("bb"))), is(7));
// int[3],uint[3],bool[3],address[3],bytes32[3],bytes[3],string[3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray3<Int256>(new Int256(1), new Int256(1), new Int256(1)), new StaticArray3<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1)), new StaticArray3<Bool>(new Bool(true), new Bool(false), new Bool(true)), new StaticArray3<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new StaticArray3<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<DynamicBytes>(new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes())), new StaticArray3<Utf8String>(new Utf8String("bb"), new Utf8String("bb"), new Utf8String("bb")))), is(17));
// int[],uint[],bool[],address[],bytes32[],bytes[],string[]
assertThat(Utils.getLength(Arrays.asList(new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1)), new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1)), new DynamicArray<Bool>(new Bool(true), new Bool(false), new Bool(true)), new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<DynamicBytes>(new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes())), new DynamicArray<Utf8String>(new Utf8String("bb"), new Utf8String("bb"), new Utf8String("bb")))), is(7));
// int,uint,bool,address,bytes32,bytes,string,int[3],uint[3],bool[3],address[3],bytes32[3],bytes[3],string[3]
assertThat(Utils.getLength(Arrays.asList(new Int256(1), new Uint256(1), new Bool(true), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("aa".getBytes()), new Utf8String("bb"), new StaticArray3<Int256>(new Int256(1), new Int256(1), new Int256(1)), new StaticArray3<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1)), new StaticArray3<Bool>(new Bool(true), new Bool(false), new Bool(true)), new StaticArray3<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new StaticArray3<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<DynamicBytes>(new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes())), new StaticArray3<Utf8String>(new Utf8String("bb"), new Utf8String("bb"), new Utf8String("bb")))), is(24));
// int,uint,bool,address,bytes32,bytes,string,int[],uint[],bool[],address[],bytes32[],bytes[],string[]
assertThat(Utils.getLength(Arrays.asList(new Int256(1), new Uint256(1), new Bool(true), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("aa".getBytes()), new Utf8String("bb"), new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1)), new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1)), new DynamicArray<Bool>(new Bool(true), new Bool(false), new Bool(true)), new DynamicArray<Address>(new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa"), new Address("0xb87213121fb89cbd8b877cb1bb3ff84dd2869cfa")), new DynamicArray<Bytes32>(new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new Bytes32("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<DynamicBytes>(new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes()), new DynamicBytes("aa".getBytes())), new DynamicArray<Utf8String>(new Utf8String("bb"), new Utf8String("bb"), new Utf8String("bb")))), is(14));
// uint256[][2],uint256[2][],uint256[][],uint256[2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1)), new DynamicArray<Uint256>(new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1), new Uint256(1))), new DynamicArray<StaticArray2>(new StaticArray2<Uint256>(new Uint256(1), new Uint256(1)), new StaticArray2<Uint256>(new Uint256(1), new Uint256(1))), new DynamicArray<DynamicArray>(new DynamicArray<Uint256>(new Uint256(1), new Uint256(1)), new DynamicArray<Uint256>(new Uint256(1), new Uint256(1))), new StaticArray2<StaticArray2>(new StaticArray2<Uint256>(new Uint256(1), new Uint256(1)), new StaticArray2<Uint256>(new Uint256(1), new Uint256(1))))), is(7));
// int256[][2],int256[2][],int256[][],int256[2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1)), new DynamicArray<Int256>(new Int256(1), new Int256(1), new Int256(1), new Int256(1), new Int256(1))), new DynamicArray<StaticArray2>(new StaticArray2<Int256>(new Int256(1), new Int256(1)), new StaticArray2<Int256>(new Int256(1), new Int256(1))), new DynamicArray<DynamicArray>(new DynamicArray<Int256>(new Int256(1), new Int256(1)), new DynamicArray<Int256>(new Int256(1), new Int256(1))), new StaticArray2<StaticArray2>(new StaticArray2<Int256>(new Int256(1), new Int256(1)), new StaticArray2<Int256>(new Int256(1), new Int256(1))))), is(7));
// string[][2],string[2][],string[][],string[3][3]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))), new DynamicArray<StaticArray2>(new StaticArray2<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new StaticArray2<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))), new DynamicArray<DynamicArray>(new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new DynamicArray<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))), new StaticArray3<StaticArray3>(new StaticArray3<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new StaticArray3<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d")), new StaticArray3<Utf8String>(new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"), new Utf8String("b87213121fb89cbd8b877cb1bb3ff84d"))))), is(4));
// bytes[][2],bytes[2][],bytes[][],bytes[2][2]
assertThat(Utils.getLength(Arrays.asList(new StaticArray2<DynamicArray>(new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))), new DynamicArray<StaticArray2>(new StaticArray2<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray2<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))), new DynamicArray<DynamicArray>(new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new DynamicArray<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))), new StaticArray3<StaticArray3>(new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes())), new StaticArray3<DynamicBytes>(new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()), new DynamicBytes("b87213121fb89cbd8b877cb1bb3ff84d".getBytes()))))), is(4));
}
use of org.fisco.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.
the class FunctionReturnDecoderTest method testMixTypeDecode8.
@Test
public void testMixTypeDecode8() {
// function function(uint256[][3])
Function function = new Function("function", Collections.<Type>emptyList(), Arrays.asList(new TypeReference<Uint256>() {
}, new TypeReference<Int256>() {
}, new TypeReference<Utf8String>() {
}, new TypeReference<DynamicArray<Utf8String>>() {
}, new TypeReference<StaticArray3<Utf8String>>() {
}));
assertThat(FunctionReturnDecoder.decode("0000000000000000000000000000000000000000000000000000000000000064ffffffffffffffffffffffffff" + "ffffffffffffffffffffffffffffffffffff9c0000000000000000000000000000000000000000000000000000" + "0000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000" + "000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000" + "000000000000000000000003616263000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000" + "000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000" + "00000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000" + "000000000000000000000000000000000000000000000003616263000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000036162" + "630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000361626300000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000" + "00000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000" + "000000000000000000e00000000000000000000000000000000000000000000000000000000000000003616263" + "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000036162630000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000361626300000000000000" + "00000000000000000000000000000000000000000000", function.getOutputParameters()), equalTo(Arrays.asList(new Uint256(100), new Int256(-100), new Utf8String("abc"), new DynamicArray<Type>(new Utf8String("abc"), new Utf8String("abc"), new Utf8String("abc")), new StaticArray3<Type>(new Utf8String("abc"), new Utf8String("abc"), new Utf8String("abc")))));
}
use of org.fisco.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.
the class FunctionReturnDecoderTest method testMixTypeDecode4.
@Test
public void testMixTypeDecode4() {
// function function(string,address,uint256,int256) constant
// returns(string,address,uint256,int256)
Function function = new Function("function", Collections.<Type>emptyList(), Arrays.asList(new TypeReference<Utf8String>() {
}, new TypeReference<Address>() {
}, new TypeReference<Uint256>() {
}, new TypeReference<Int256>() {
}));
assertThat(FunctionReturnDecoder.decode("00000000000000000000000000000000000000000000000000000000000000800000000" + "0000000000000000035ef07393b57464e93deb59175ff72e6499450cf000000000000000000000000" + "0000000000000000000000000000000000002b67fffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffd4990000000000000000000000000000000000000000000000000000000000" + "0000126161616661647366736661647366646173660000000000000000000000000000", function.getOutputParameters()), equalTo(Arrays.asList(new Utf8String("aaafadsfsfadsfdasf"), new Address("0x35ef07393b57464e93deb59175ff72e6499450cf"), new Uint256(11111), new Int256(-11111))));
}
use of org.fisco.bcos.web3j.abi.datatypes.generated.Int256 in project web3sdk by FISCO-BCOS.
the class CallContractTest method testSyncCallContract.
private static void testSyncCallContract(CallContract callContract, String address) {
CallResult contractResult;
contractResult = callContract.call(address, "getStringOld", new Utf8String("hello world"), new Int256(10086), new Bool(true));
List<TypeReference<?>> referencesList = Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {
});
List<Type> returnList1 = FunctionReturnDecoder.decode(contractResult.getOutput(), Utils.convert(referencesList));
System.out.println("call getStringOld: " + (String) returnList1.get(0).getValue());
TransactionReceipt receipt;
receipt = callContract.sendTransaction(gasPrice, gasLimit, address, "setAndget", new Utf8String("hello world"), new Int256(10086));
referencesList = Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {
}, new TypeReference<Int256>() {
});
List<Type> returnList2 = FunctionReturnDecoder.decode(receipt.getOutput(), Utils.convert(referencesList));
System.out.println("call setAndget: " + (String) returnList2.get(0).getValue() + ", " + (BigInteger) returnList2.get(1).getValue());
receipt = callContract.sendTransaction(address, "setAndget", new Utf8String("hello world"), new Int256(10086));
referencesList = Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {
}, new TypeReference<Int256>() {
});
List<Type> returnList3 = FunctionReturnDecoder.decode(receipt.getOutput(), Utils.convert(referencesList));
System.out.println("default call setAndget: " + (String) returnList3.get(0).getValue() + ", " + (BigInteger) returnList3.get(1).getValue());
contractResult = callContract.call(address, "getArray", new StaticArray2(typeMap(Arrays.asList(BigInteger.valueOf(-1), BigInteger.valueOf(2)), Int16.class)), new DynamicArray(typeMap(Arrays.asList(BigInteger.valueOf(2), BigInteger.valueOf(2)), Uint16.class)));
List<Type> returnList4 = callContract.decode(contractResult.getOutput(), new TypeReference<StaticArray2<Int16>>() {
}, new TypeReference<DynamicArray<Int16>>() {
});
System.out.println("call getArray: " + callContract.convertList((List<Type>) returnList4.get(0).getValue()) + ", " + callContract.convertList((List<Type>) returnList4.get(1).getValue()));
List<List<BigInteger>> dyadicArray = new ArrayList<List<BigInteger>>();
dyadicArray.add(Arrays.asList(BigInteger.valueOf(-1), BigInteger.valueOf(2)));
dyadicArray.add(Arrays.asList(BigInteger.valueOf(-1), BigInteger.valueOf(992)));
byte[] bytes = new byte[] { 'a', 'b' };
contractResult = callContract.call(address, "newTest", new StaticArray2(typeMap(dyadicArray, StaticArray2.class, Int256.class)), new DynamicBytes(bytes));
List<Type> returnList5 = callContract.decode(contractResult.getOutput(), new TypeReference<StaticArray2<StaticArray2<Int256>>>() {
}, new TypeReference<DynamicBytes>() {
});
System.out.println("call newTest: " + callContract.convertListList((List<StaticArray<Int256>>) returnList5.get(0).getValue()) + ", " + new String((byte[]) returnList5.get(1).getValue()) + ", " + dyadicArray);
}
Aggregations