From d11b57b6a0908007b9d16050ccee7fb57e6e8c55 Mon Sep 17 00:00:00 2001 From: ywy2090 <912554887@qq.com> Date: Wed, 8 Jun 2022 20:35:46 +0800 Subject: [PATCH] update web3sdk version (#191) * update web3sdk version * update fisco-bcos version * update web3sdk to fix merkle proof failed bug --- .ci/ci_check.sh | 2 +- build.gradle | 4 ++-- .../com/webank/wecross/stub/bcos/BCOSDriver.java | 4 +++- .../wecross/stub/bcos/verify/MerkleValidation.java | 12 +++++++++--- .../stub/bcos/contract/ProofVerifierUtilityTest.java | 8 ++++---- 5 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.ci/ci_check.sh b/.ci/ci_check.sh index 5f0a421b..5b7688c0 100755 --- a/.ci/ci_check.sh +++ b/.ci/ci_check.sh @@ -10,7 +10,7 @@ echo " Not SM ============>>>> " echo " Not SM ============>>>> " # download build_chain.sh to build fisco-bcos block chain -curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.6.0/build_chain.sh && chmod u+x build_chain.sh +curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.8.0/build_chain.sh && chmod u+x build_chain.sh echo "127.0.0.1:4 agency1 1,2,3" > ipconf bash build_chain.sh -f ipconf ./nodes/127.0.0.1/fisco-bcos -v diff --git a/build.gradle b/build.gradle index 10d4eea5..63445542 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ plugins { apply plugin: 'com.github.johnrengelman.shadow' group 'com.webank.wecross' -version '1.2.1' +version '1.2.2' sourceCompatibility = 1.8 targetCompatibility = 1.8 @@ -84,7 +84,7 @@ dependencies { implementation 'com.google.guava:guava:30.1-jre' implementation 'org.yaml:snakeyaml:1.27' - implementation ('org.fisco-bcos:web3sdk:2.6.4') { + implementation ('org.fisco-bcos:web3sdk:2.6.5') { exclude group: "org.ethereum" exclude group: "org.fisco-bcos", module: "tcnative" exclude group: "io.netty" diff --git a/src/main/java/com/webank/wecross/stub/bcos/BCOSDriver.java b/src/main/java/com/webank/wecross/stub/bcos/BCOSDriver.java index bff6ba70..b4fdac6d 100644 --- a/src/main/java/com/webank/wecross/stub/bcos/BCOSDriver.java +++ b/src/main/java/com/webank/wecross/stub/bcos/BCOSDriver.java @@ -767,7 +767,8 @@ private void asyncSendTransactionByProxy( .getTransactionHash(), block .getBlockHeader(), - receipt); + receipt, + nodeVersion); } transactionResponse @@ -1060,6 +1061,7 @@ public void asyncGetTransaction( transactionHash, blockManager, proof, + nodeVersion, verifyException -> { if (Objects.nonNull(verifyException)) { callback.onResponse(verifyException, null); diff --git a/src/main/java/com/webank/wecross/stub/bcos/verify/MerkleValidation.java b/src/main/java/com/webank/wecross/stub/bcos/verify/MerkleValidation.java index b066e4be..f88f011f 100644 --- a/src/main/java/com/webank/wecross/stub/bcos/verify/MerkleValidation.java +++ b/src/main/java/com/webank/wecross/stub/bcos/verify/MerkleValidation.java @@ -17,14 +17,18 @@ public class MerkleValidation { * @throws BCOSStubException */ public static void verifyTransactionReceiptProof( - String hash, BlockHeader blockHeader, TransactionReceipt transactionReceipt) + String hash, + BlockHeader blockHeader, + TransactionReceipt transactionReceipt, + String nodeVersion) throws BCOSStubException { // verify transaction if (!MerkleProofUtility.verifyTransactionReceipt( blockHeader.getReceiptRoot(), transactionReceipt, - transactionReceipt.getReceiptProof())) { + transactionReceipt.getReceiptProof(), + nodeVersion)) { throw new BCOSStubException( BCOSStatusCode.TransactionReceiptProofVerifyFailed, BCOSStatusCode.getStatusMessage( @@ -63,6 +67,7 @@ public static void verifyTransactionProof( String hash, BlockManager blockManager, TransactionProof transactionProof, + String nodeVersion, VerifyCallback callback) { blockManager.asyncGetBlock( blockNumber, @@ -81,7 +86,8 @@ public static void verifyTransactionProof( // verify transaction if (!MerkleProofUtility.verifyTransactionReceipt( block.getBlockHeader().getReceiptRoot(), - transactionProof.getReceiptAndProof())) { + transactionProof.getReceiptAndProof(), + nodeVersion)) { callback.onResponse( new BCOSStubException( BCOSStatusCode.TransactionReceiptProofVerifyFailed, diff --git a/src/test/java/com/webank/wecross/stub/bcos/contract/ProofVerifierUtilityTest.java b/src/test/java/com/webank/wecross/stub/bcos/contract/ProofVerifierUtilityTest.java index d26c0548..65aff3f3 100644 --- a/src/test/java/com/webank/wecross/stub/bcos/contract/ProofVerifierUtilityTest.java +++ b/src/test/java/com/webank/wecross/stub/bcos/contract/ProofVerifierUtilityTest.java @@ -93,11 +93,11 @@ public void verifyTransactionReceiptTest() { assertTrue( MerkleProofUtility.verifyTransactionReceipt( - block.getReceiptsRoot(), receiptAndProof)); + block.getReceiptsRoot(), receiptAndProof, null)); assertTrue( MerkleProofUtility.verifyTransactionReceipt( - block0.getReceiptsRoot(), receiptAndProof0)); + block0.getReceiptsRoot(), receiptAndProof0, null)); } @Test @@ -121,10 +121,10 @@ public void verifyTransactionWithProofTest() { public void verifyTransactionReceiptWithProofTest() { assertTrue( MerkleProofUtility.verifyTransactionReceipt( - block.getReceiptsRoot(), receipt, receipt.getReceiptProof())); + block.getReceiptsRoot(), receipt, receipt.getReceiptProof(), null)); assertTrue( MerkleProofUtility.verifyTransactionReceipt( - block0.getReceiptsRoot(), receipt0, receipt0.getReceiptProof())); + block0.getReceiptsRoot(), receipt0, receipt0.getReceiptProof(), null)); } }