Search in sources :

Example 1 with EventValues

use of org.bcos.web3j.abi.EventValues in project web3sdk by FISCO-BCOS.

the class Contract method extractEventParameters.

protected static List<EventValues> extractEventParameters(Event event, TransactionReceipt transactionReceipt) {
    List<Log> logs = transactionReceipt.getLogs();
    List<EventValues> values = new ArrayList<>();
    for (Log log : logs) {
        EventValues eventValues = extractEventParameters(event, log);
        if (eventValues != null) {
            values.add(eventValues);
        }
    }
    return values;
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) Log(org.bcos.web3j.protocol.core.methods.response.Log) ArrayList(java.util.ArrayList)

Example 2 with EventValues

use of org.bcos.web3j.abi.EventValues in project web3sdk by FISCO-BCOS.

the class Ok method getEventOrderLogEvents.

public List<EventOrderLogEventResponse> getEventOrderLogEvents(TransactionReceipt transactionReceipt) {
    final Event event = new Event("eventOrderLog", Arrays.<TypeReference<?>>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<StaticArray<Bytes32>>() {
    }, new TypeReference<StaticArray<Int256>>() {
    }, new TypeReference<Int256>() {
    }));
    List<EventValues> valueList = extractEventParameters(event, transactionReceipt);
    ArrayList<EventOrderLogEventResponse> responses = new ArrayList<EventOrderLogEventResponse>(valueList.size());
    for (EventValues eventValues : valueList) {
        EventOrderLogEventResponse typedResponse = new EventOrderLogEventResponse();
        typedResponse.msg = (StaticArray<Bytes32>) eventValues.getNonIndexedValues().get(0);
        typedResponse.msg2 = (StaticArray<Int256>) eventValues.getNonIndexedValues().get(1);
        typedResponse.hello = (Int256) eventValues.getNonIndexedValues().get(2);
        responses.add(typedResponse);
    }
    return responses;
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) Int256(org.bcos.web3j.abi.datatypes.generated.Int256) ArrayList(java.util.ArrayList) Event(org.bcos.web3j.abi.datatypes.Event) TypeReference(org.bcos.web3j.abi.TypeReference) Bytes32(org.bcos.web3j.abi.datatypes.generated.Bytes32)

Example 3 with EventValues

use of org.bcos.web3j.abi.EventValues in project web3sdk by FISCO-BCOS.

the class Ok method eventOrderLogEventObservable.

public Observable<EventOrderLogEventResponse> eventOrderLogEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
    final Event event = new Event("eventOrderLog", Arrays.<TypeReference<?>>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<StaticArray<Bytes32>>() {
    }, new TypeReference<StaticArray<Int256>>() {
    }, new TypeReference<Int256>() {
    }));
    EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
    filter.addSingleTopic(EventEncoder.encode(event));
    return web3j.ethLogObservable(filter).map(new Func1<Log, EventOrderLogEventResponse>() {

        @Override
        public EventOrderLogEventResponse call(Log log) {
            EventValues eventValues = extractEventParameters(event, log);
            EventOrderLogEventResponse typedResponse = new EventOrderLogEventResponse();
            typedResponse.msg = (StaticArray<Bytes32>) eventValues.getNonIndexedValues().get(0);
            typedResponse.msg2 = (StaticArray<Int256>) eventValues.getNonIndexedValues().get(1);
            typedResponse.hello = (Int256) eventValues.getNonIndexedValues().get(2);
            return typedResponse;
        }
    });
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) StaticArray(org.bcos.web3j.abi.datatypes.StaticArray) Int256(org.bcos.web3j.abi.datatypes.generated.Int256) EthFilter(org.bcos.web3j.protocol.core.methods.request.EthFilter) Log(org.bcos.web3j.protocol.core.methods.response.Log) Event(org.bcos.web3j.abi.datatypes.Event) TypeReference(org.bcos.web3j.abi.TypeReference) Bytes32(org.bcos.web3j.abi.datatypes.generated.Bytes32)

Example 4 with EventValues

use of org.bcos.web3j.abi.EventValues in project web3sdk by FISCO-BCOS.

the class CAAction method logMessageEventObservable.

public Observable<LogMessageEventResponse> logMessageEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
    final Event event = new Event("LogMessage", Arrays.<TypeReference<?>>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {
    }, new TypeReference<Uint256>() {
    }, new TypeReference<Utf8String>() {
    }));
    EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
    filter.addSingleTopic(EventEncoder.encode(event));
    return web3j.ethLogObservable(filter).map(new Func1<Log, LogMessageEventResponse>() {

        @Override
        public LogMessageEventResponse call(Log log) {
            EventValues eventValues = extractEventParameters(event, log);
            LogMessageEventResponse typedResponse = new LogMessageEventResponse();
            typedResponse.addr = (Address) eventValues.getNonIndexedValues().get(0);
            typedResponse.code = (Uint256) eventValues.getNonIndexedValues().get(1);
            typedResponse.msg = (Utf8String) eventValues.getNonIndexedValues().get(2);
            return typedResponse;
        }
    });
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) EthFilter(org.bcos.web3j.protocol.core.methods.request.EthFilter) Utf8String(org.bcos.web3j.abi.datatypes.Utf8String) Address(org.bcos.web3j.abi.datatypes.Address) Log(org.bcos.web3j.protocol.core.methods.response.Log) Event(org.bcos.web3j.abi.datatypes.Event) TypeReference(org.bcos.web3j.abi.TypeReference) Uint256(org.bcos.web3j.abi.datatypes.generated.Uint256)

Example 5 with EventValues

use of org.bcos.web3j.abi.EventValues in project web3sdk by FISCO-BCOS.

the class CAAction method getLogMessageEvents.

public static List<LogMessageEventResponse> getLogMessageEvents(TransactionReceipt transactionReceipt) {
    final Event event = new Event("LogMessage", Arrays.<TypeReference<?>>asList(), Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {
    }, new TypeReference<Uint256>() {
    }, new TypeReference<Utf8String>() {
    }));
    List<EventValues> valueList = extractEventParameters(event, transactionReceipt);
    ArrayList<LogMessageEventResponse> responses = new ArrayList<LogMessageEventResponse>(valueList.size());
    for (EventValues eventValues : valueList) {
        LogMessageEventResponse typedResponse = new LogMessageEventResponse();
        typedResponse.addr = (Address) eventValues.getNonIndexedValues().get(0);
        typedResponse.code = (Uint256) eventValues.getNonIndexedValues().get(1);
        typedResponse.msg = (Utf8String) eventValues.getNonIndexedValues().get(2);
        responses.add(typedResponse);
    }
    return responses;
}
Also used : EventValues(org.bcos.web3j.abi.EventValues) ArrayList(java.util.ArrayList) Event(org.bcos.web3j.abi.datatypes.Event) TypeReference(org.bcos.web3j.abi.TypeReference)

Aggregations

EventValues (org.bcos.web3j.abi.EventValues)29 TypeReference (org.bcos.web3j.abi.TypeReference)27 Event (org.bcos.web3j.abi.datatypes.Event)26 ArrayList (java.util.ArrayList)16 Log (org.bcos.web3j.protocol.core.methods.response.Log)14 EthFilter (org.bcos.web3j.protocol.core.methods.request.EthFilter)13 Utf8String (org.bcos.web3j.abi.datatypes.Utf8String)12 Uint256 (org.bcos.web3j.abi.datatypes.generated.Uint256)11 Address (org.bcos.web3j.abi.datatypes.Address)9 Bytes32 (org.bcos.web3j.abi.datatypes.generated.Bytes32)2 Int256 (org.bcos.web3j.abi.datatypes.generated.Int256)2 MethodSpec (com.squareup.javapoet.MethodSpec)1 ParameterizedTypeName (com.squareup.javapoet.ParameterizedTypeName)1 List (java.util.List)1 StaticArray (org.bcos.web3j.abi.datatypes.StaticArray)1 Type (org.bcos.web3j.abi.datatypes.Type)1 TransactionReceipt (org.bcos.web3j.protocol.core.methods.response.TransactionReceipt)1