From 609d2e5f259aeb07b9579fb0ea0c01dd36b482d0 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 06 Aug 2024 16:04:48 +0800 Subject: [PATCH] 逻辑 --- src/main/java/cc/mrbird/febs/dapp/chain/EthUsdtContract.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/chain/EthUsdtContract.java b/src/main/java/cc/mrbird/febs/dapp/chain/EthUsdtContract.java index 14658e9..d0e23d4 100644 --- a/src/main/java/cc/mrbird/febs/dapp/chain/EthUsdtContract.java +++ b/src/main/java/cc/mrbird/febs/dapp/chain/EthUsdtContract.java @@ -127,6 +127,8 @@ public static final String FUNC_TOUZHU = "touzhu"; + public static final String FUNC_CUNCHU = "received"; + public static final String FUNC_TRANSFER = "transfer"; public static final String FUNC_TRANSFERFROM = "transferFrom"; @@ -146,6 +148,10 @@ public static final Event TRANSFER_EVENT = new Event("Transfer", Arrays.<TypeReference<?>>asList(new TypeReference<Address>(true) {}, new TypeReference<Address>(true) {}, new TypeReference<Uint256>() {})); + ; + + public static final Event CUNCHU_EVENT = new Event("received", + Arrays.<TypeReference<?>>asList(new TypeReference<Address>(true) {}, new TypeReference<Uint256>() {}, new TypeReference<Utf8String>() {})); ; @Deprecated @@ -296,6 +302,43 @@ } public Flowable<TransferEventResponse> transferEventFlowable(EthFilter filter) { + return web3j.ethLogFlowable(filter).map(new Function<Log, TransferEventResponse>() { + @Override + public TransferEventResponse apply(Log log) { + EventValuesWithLog eventValues = extractEventParametersWithLog(TRANSFER_EVENT, log); + TransferEventResponse typedResponse = new TransferEventResponse(); + if(eventValues!=null){ + typedResponse.log = log; + typedResponse.from = (String) eventValues.getIndexedValues().get(0).getValue(); + typedResponse.to = (String) eventValues.getIndexedValues().get(1).getValue(); + typedResponse.tokens = (BigInteger) eventValues.getNonIndexedValues().get(0).getValue(); + } + + return typedResponse; + } + }); + } + + + + public Flowable<ReceivePeopleEventResponse> receivePeopleEventFlowable(EthFilter filter) { + return web3j.ethLogFlowable(filter).map(new Function<Log, ReceivePeopleEventResponse>() { + @Override + public ReceivePeopleEventResponse apply(Log log) { + EventValuesWithLog eventValues = extractEventParametersWithLog(CUNCHU_EVENT, log); + ReceivePeopleEventResponse typedResponse = new ReceivePeopleEventResponse(); + if(eventValues!=null){ + typedResponse.log = log; + typedResponse.from = (String) eventValues.getIndexedValues().get(0).getValue(); + typedResponse.tokens = (BigInteger) eventValues.getNonIndexedValues().get(0).getValue(); + typedResponse.regFlow = (String) eventValues.getNonIndexedValues().get(1).getValue(); + } + return typedResponse; + } + }); + } + + public Flowable<TransferEventResponse> transferEventFlowable(Web3j web3j, EthFilter filter) { return web3j.ethLogFlowable(filter).map(new Function<Log, TransferEventResponse>() { @Override public TransferEventResponse apply(Log log) { @@ -717,4 +760,12 @@ public BigInteger tokens; } + + public static class ReceivePeopleEventResponse extends BaseEventResponse { + public String from; + + public BigInteger tokens; + + public String regFlow; + } } -- Gitblit v1.9.1