use of org.fisco.bcos.web3j.abi.datatypes.Utf8String in project web3sdk by FISCO-BCOS.
the class ABIObject method newObject.
// clone itself
public ABIObject newObject() {
ABIObject abiObject = new ABIObject(this.type);
// value
abiObject.setValueType(this.getValueType());
abiObject.setName(this.getName());
if (this.getNumericValue() != null) {
abiObject.setNumericValue(new NumericType(this.getNumericValue().getTypeAsString(), this.getNumericValue().getValue()) {
@Override
public boolean dynamicType() {
return false;
}
@Override
public int offset() {
return 1;
}
});
}
if (this.getBoolValue() != null) {
abiObject.setBoolValue(new Bool(this.getBoolValue().getValue()));
}
if (this.getStringValue() != null) {
abiObject.setStringValue(new Utf8String(this.getStringValue().getValue()));
}
if (this.getDynamicBytesValue() != null) {
abiObject.setDynamicBytesValue(new DynamicBytes(this.getDynamicBytesValue().getValue()));
}
if (this.getAddressValue() != null) {
abiObject.setAddressValue(new Address(this.getAddressValue().toUint160()));
}
if (this.getBytesValue() != null) {
abiObject.setBytesValue(new Bytes(this.getBytesValue().getValue().length, this.getBytesValue().getValue()));
}
// list
abiObject.setListType(this.getListType());
abiObject.setListLength(this.getListLength());
if (this.getListValueType() != null) {
abiObject.setListValueType(this.getListValueType().newObject());
}
if (this.listValues != null) {
for (ABIObject obj : this.listValues) {
abiObject.listValues.add(obj.newObject());
}
}
// tuple
if (this.structFields != null) {
for (ABIObject obj : this.structFields) {
abiObject.structFields.add(obj.newObject());
}
}
return abiObject;
}
use of org.fisco.bcos.web3j.abi.datatypes.Utf8String in project web3sdk by FISCO-BCOS.
the class ABICodecJsonWrapper method encode.
public ABIObject encode(ABIObject template, List<String> inputs) throws IOException {
ABIObject abiObject = template.newObject();
// check parameters match
if (inputs.size() != abiObject.getStructFields().size()) {
errorReport("arguments size", String.valueOf(abiObject.getStructFields().size()), String.valueOf(inputs.size()));
}
for (int i = 0; i < abiObject.getStructFields().size(); ++i) {
ABIObject argObject = abiObject.getStructFields().get(i).newObject();
String value = inputs.get(i);
switch(argObject.getType()) {
case VALUE:
{
try {
switch(argObject.getValueType()) {
case BOOL:
{
argObject.setBoolValue(new Bool(Boolean.valueOf(value)));
break;
}
case UINT:
{
argObject.setNumericValue(new Uint256(Numeric.decodeQuantity(value)));
break;
}
case INT:
{
argObject.setNumericValue(new Int256(Numeric.decodeQuantity(value)));
break;
}
case ADDRESS:
{
argObject.setAddressValue(new Address(value));
break;
}
case BYTES:
{
// Binary data requires base64 encoding
byte[] bytesValue = Base64.getDecoder().decode(value);
argObject.setBytesValue(new Bytes(bytesValue.length, bytesValue));
break;
}
case DBYTES:
{
// Binary data requires base64 encoding
byte[] bytesValue = Base64.getDecoder().decode(value);
argObject.setDynamicBytesValue(new DynamicBytes(bytesValue));
break;
}
case STRING:
{
argObject.setStringValue(new Utf8String(value));
break;
}
default:
{
throw new UnsupportedOperationException("Unrecognized valueType: " + argObject.getValueType());
}
}
} catch (Exception e) {
logger.error(" e: ", e);
errorReport("ROOT", e.getMessage());
}
break;
}
case STRUCT:
case LIST:
{
JsonNode argNode = objectMapper.readTree(value.getBytes());
argObject = encodeNode("ROOT", argObject, argNode);
break;
}
}
abiObject.getStructFields().set(i, argObject);
}
return abiObject;
}
use of org.fisco.bcos.web3j.abi.datatypes.Utf8String in project web3sdk by FISCO-BCOS.
the class TypeDecoder method decodeUtf8String.
static Utf8String decodeUtf8String(String input, int offset) {
DynamicBytes dynamicBytesResult = decodeDynamicBytes(input, offset);
byte[] bytes = dynamicBytesResult.getValue();
return new Utf8String(new String(bytes, StandardCharsets.UTF_8));
}
use of org.fisco.bcos.web3j.abi.datatypes.Utf8String in project web3sdk by FISCO-BCOS.
the class Permission method getRemoveInput.
public Tuple2<String, String> getRemoveInput(TransactionReceipt transactionReceipt) {
String data = transactionReceipt.getInput().substring(10);
final Function function = new Function(FUNC_REMOVE, Arrays.<Type>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<Utf8String>() {
}, new TypeReference<Utf8String>() {
}));
List<Type> results = FunctionReturnDecoder.decode(data, function.getOutputParameters());
;
return new Tuple2<String, String>((String) results.get(0).getValue(), (String) results.get(1).getValue());
}
use of org.fisco.bcos.web3j.abi.datatypes.Utf8String in project web3sdk by FISCO-BCOS.
the class TransactionDecoderTest method main.
public static void main(String[] args) throws BaseException, IOException {
/*
event TestEventDArrayParams(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<DynamicArray<Uint256>>() {
}, new TypeReference<DynamicArray<Int256>>() {
}, new TypeReference<DynamicArray<Bool>>() {
}, new TypeReference<DynamicArray<Address>>() {
}, new TypeReference<DynamicArray<Bytes32>>() {
}, new TypeReference<DynamicArray<Utf8String>>() {
}, new TypeReference<DynamicArray<DynamicBytes>>() {
});
Event event = new Event("TestEventDArrayParams", eventTypeList);
List<Type> eventDataParams1 = Arrays.asList(new DynamicArray<Uint256>(new Uint256(11111), new Uint256(22222), new Uint256(33333)), new DynamicArray<Int256>(new Int256(-1111111), new Int256(-3333333), new Int256(-2222222)), new DynamicArray<Bool>(new Bool(false), new Bool(true), new Bool(false)), new DynamicArray<Address>(new Address("0x692a70d2e424a56d2c6c27aa97d1a86395877b3a"), new Address("0x692a70d2e424a56d2c6c27aa97d1a86395877b3a")), new DynamicArray<Bytes32>(new Bytes32("abcdefghiabcdefghiabcdefghiabhji".getBytes()), new Bytes32("abcdefghiabcdefghiabcdefghiabhji".getBytes())), new DynamicArray<Utf8String>(new Utf8String(""), new Utf8String("章鱼小丸子ljjkl;adjsfkljlkjl"), new Utf8String("章鱼小丸子ljjkl;adjsfkljlkjl")), new DynamicArray<DynamicBytes>(new DynamicBytes("".getBytes()), new DynamicBytes("sadfljkjkljkl".getBytes()), new DynamicBytes("章鱼小丸子ljjkl;adjsfkljlkjl".getBytes())));
List<Type> eventDataParams2 = Arrays.asList(new DynamicArray<Uint256>(new Uint256(0), new Uint256(0), new Uint256(0)), new DynamicArray<Int256>(new Int256(0), new Int256(0), new Int256(0)), new DynamicArray<Bool>(new Bool(false), new Bool(true), new Bool(false)), new DynamicArray<Address>(new Address("0x0"), new Address("0x0")), new DynamicArray<Bytes32>(new Bytes32(" ".getBytes()), new Bytes32(" ".getBytes())), new DynamicArray<Utf8String>(new Utf8String(""), new Utf8String(""), new Utf8String("")), new DynamicArray<DynamicBytes>(new DynamicBytes("".getBytes()), new DynamicBytes("".getBytes()), new DynamicBytes("".getBytes())));
List<Type> eventDataParams3 = Arrays.asList(new DynamicArray<Uint256>(new Uint256(0), new Uint256(0), new Uint256(0), new Uint256(11111), new Uint256(22222), new Uint256(33333)), new DynamicArray<Int256>(new Int256(0), new Int256(0), new Int256(0), new Int256(-1111111), new Int256(-3333333), new Int256(-2222222)), new DynamicArray<Bool>(new Bool(false), new Bool(true), new Bool(false), new Bool(false)), new DynamicArray<Address>(new Address("0x0"), new Address("0x0"), new Address("0x692a70d2e424a56d2c6c27aa97d1a86395877b3a"), new Address("0x692a70d2e424a56d2c6c27aa97d1a86395877b3a")), new DynamicArray<Bytes32>(new Bytes32("abcdefghiabcdefghiabcdefghiabhji".getBytes()), new Bytes32("abcdefghiabcdefghiabcdefghiabhji".getBytes()), new Bytes32(" ".getBytes()), new Bytes32(" ".getBytes())), new DynamicArray<Utf8String>(new Utf8String(""), new Utf8String("章鱼小丸子ljjkl;adjsfkljlkjl"), new Utf8String("章鱼小丸子ljjkl;adjsfkljlkjl"), new Utf8String(""), new Utf8String(""), new Utf8String("")), new DynamicArray<DynamicBytes>(new DynamicBytes("".getBytes()), new DynamicBytes("sadfljkjkljkl".getBytes()), new DynamicBytes("章鱼小丸子ljjkl;adjsfkljlkjl".getBytes()), new DynamicBytes("".getBytes()), new DynamicBytes("".getBytes()), new DynamicBytes("".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));
// System.out.println("111 => " + decode.decodeEventReturnJson(logList1));
assertThat(decode.decodeEventReturnJson(logList1), is("{\"TestEventDArrayParams(uint256[],int256[],bool[],address[],bytes32[],string[],bytes[])\":[[{\"name\":\"_u\",\"type\":\"uint256[]\",\"data\":[11111,22222,33333],\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[-1111111,-3333333,-2222222],\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false],\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\"],\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32[]\",\"data\":[\"abcdefghiabcdefghiabcdefghiabhji\",\"abcdefghiabcdefghiabcdefghiabhji\"],\"indexed\":false},{\"name\":\"_s\",\"type\":\"string[]\",\"data\":[\"\",\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\"],\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes[]\",\"data\":[\"\",\"sadfljkjkljkl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\"],\"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));
// System.out.println("222 => " + decode.decodeEventReturnJson(logList2));
assertThat(decode.decodeEventReturnJson(logList2), is("{\"TestEventDArrayParams(uint256[],int256[],bool[],address[],bytes32[],string[],bytes[])\":[[{\"name\":\"_u\",\"type\":\"uint256[]\",\"data\":[11111,22222,33333],\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[-1111111,-3333333,-2222222],\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false],\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\"],\"indexed\":false},{\"name\":\"_bs32\",\"type\":\"bytes32[]\",\"data\":[\"abcdefghiabcdefghiabcdefghiabhji\",\"abcdefghiabcdefghiabcdefghiabhji\"],\"indexed\":false},{\"name\":\"_s\",\"type\":\"string[]\",\"data\":[\"\",\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\"],\"indexed\":false},{\"name\":\"_bs\",\"type\":\"bytes[]\",\"data\":[\"\",\"sadfljkjkljkl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\"],\"indexed\":false}],[{\"name\":\"_u\",\"type\":\"uint256[]\",\"data\":[0,0,0],\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[0,0,0],\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false],\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x0000000000000000000000000000000000000000\",\"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\":[0,0,0],\"indexed\":false},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[0,0,0],\"indexed\":false},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false],\"indexed\":false},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x0000000000000000000000000000000000000000\",\"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));
// System.out.println("333 => " + decode.decodeEventReturnJson(logList3));
assertThat(decode.decodeEventReturnJson(logList3), is("{\"TestEventDArrayParams(uint256[],int256[],bool[],address[],bytes32[],string[],bytes[])\":[[{\"name\":\"_u\",\"type\":\"uint256[]\",\"data\":[11111,22222,33333]},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[-1111111,-3333333,-2222222]},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false]},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\"]},{\"name\":\"_bs32\",\"type\":\"bytes32[]\",\"data\":[\"abcdefghiabcdefghiabcdefghiabhji\",\"abcdefghiabcdefghiabcdefghiabhji\"]},{\"name\":\"_s\",\"type\":\"string[]\",\"data\":[\"\",\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\"]},{\"name\":\"_bs\",\"type\":\"bytes[]\",\"data\":[\"\",\"sadfljkjkljkl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\"]}],[{\"name\":\"_u\",\"type\":\"uint256[]\",\"data\":[0,0,0]},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[0,0,0]},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false]},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000\"]},{\"name\":\"_bs32\",\"type\":\"bytes32[]\",\"data\":[\"\",\"\"]},{\"name\":\"_s\",\"type\":\"string[]\",\"data\":[\"\",\"\",\"\"]},{\"name\":\"_bs\",\"type\":\"bytes[]\",\"data\":[\"\",\"\",\"\"]}],[{\"name\":\"_u\",\"type\":\"uint256[]\",\"data\":[0,0,0,11111,22222,33333]},{\"name\":\"_i\",\"type\":\"int256[]\",\"data\":[0,0,0,-1111111,-3333333,-2222222]},{\"name\":\"_b\",\"type\":\"bool[]\",\"data\":[false,true,false,false]},{\"name\":\"_addr\",\"type\":\"address[]\",\"data\":[\"0x0000000000000000000000000000000000000000\",\"0x0000000000000000000000000000000000000000\",\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\",\"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a\"]},{\"name\":\"_bs32\",\"type\":\"bytes32[]\",\"data\":[\"abcdefghiabcdefghiabcdefghiabhji\",\"abcdefghiabcdefghiabcdefghiabhji\",\"\",\"\"]},{\"name\":\"_s\",\"type\":\"string[]\",\"data\":[\"\",\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"\",\"\",\"\"]},{\"name\":\"_bs\",\"type\":\"bytes[]\",\"data\":[\"\",\"sadfljkjkljkl\",\"章鱼小丸子ljjkl;adjsfkljlkjl\",\"\",\"\",\"\"]}]]}"));
}
Aggregations