From 92e681652c6daa51647d75c96da0864a64c0a3ca Mon Sep 17 00:00:00 2001 From: bxq2011hust Date: Wed, 15 May 2024 10:38:50 +0800 Subject: [PATCH] fix Unpack failed because of tx failed --- .ci/integration_test.sh | 2 +- .github/workflows/coverage.yml | 6 ++++-- .github/workflows/workflow.yml | 2 +- tools/download_csdk_lib.sh | 2 +- v3/abi/bind/base.go | 3 +++ .../auth/auth_manager_service_test.go | 21 ++++++++++--------- 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.ci/integration_test.sh b/.ci/integration_test.sh index 924a8f32..4c0c3949 100755 --- a/.ci/integration_test.sh +++ b/.ci/integration_test.sh @@ -2,7 +2,7 @@ set -e -c_sdk_version="v3.5.0" +c_sdk_version="v3.7.0" start_time=15 macOS= ldflags="-ldflags=\"-r /usr/local/lib/\"" diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 01e39d92..498feca1 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -22,8 +22,10 @@ jobs: - name: generate code coverage report run: bash .ci/generate_coverage.sh - name: upload code coverage to Codecov - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v4 with: file: ./v3/coverage.txt name: go-sdk code coverage - fail_ci_if_error: true \ No newline at end of file + fail_ci_if_error: true + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index d8c128c4..d12aa010 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - go: ["1.21"] + go: ["1.21", "1.22"] steps: - uses: actions/checkout@v2 with: diff --git a/tools/download_csdk_lib.sh b/tools/download_csdk_lib.sh index d59b594e..62114519 100755 --- a/tools/download_csdk_lib.sh +++ b/tools/download_csdk_lib.sh @@ -4,7 +4,7 @@ set -e install_path="/usr/local/lib/" version="3.6.0" OS="linux" -versions=(3.2.0 3.4.0 3.5.0 3.6.0) +versions=(3.2.0 3.4.0 3.5.0 3.6.0 3.7.0) LOG_WARN() { diff --git a/v3/abi/bind/base.go b/v3/abi/bind/base.go index 91e71f52..0872ba90 100755 --- a/v3/abi/bind/base.go +++ b/v3/abi/bind/base.go @@ -192,6 +192,9 @@ func (c *BoundContract) TransactWithResult(opts *TransactOpts, result interface{ if err != nil { return tx, receipt, err } + if receipt.Status != types.Success { + return tx, receipt, fmt.Errorf("transact failed, receipt status: %d, message: %s", receipt.Status, receipt.GetErrorMessage()) + } err = c.abi.Unpack(result, method, common.FromHex(receipt.GetOutput())) if err != nil { return tx, receipt, err diff --git a/v3/precompiled/auth/auth_manager_service_test.go b/v3/precompiled/auth/auth_manager_service_test.go index 7b33b6a1..5042a6b1 100644 --- a/v3/precompiled/auth/auth_manager_service_test.go +++ b/v3/precompiled/auth/auth_manager_service_test.go @@ -38,7 +38,7 @@ var ( func getClient(t *testing.T) *client.Client { // privatekey of 0x83309d045a19c44dc3722d15a6abd472f95866ac privateKey, _ := hex.DecodeString("b89d42f12290070f235fb8fb61dcf96e3b11516c5d4f6333f26e49bb955f8b62") - config := &client.Config{IsSMCrypto: false, GroupID: "group0", + config := &client.Config{IsSMCrypto: false, GroupID: "group0", DisableSsl: false, PrivateKey: privateKey, Host: "127.0.0.1", Port: 20200, TLSCaFile: "./ca.crt", TLSKeyFile: "./sdk.key", TLSCertFile: "./sdk.crt"} c, err := client.DialContext(context.Background(), config) @@ -433,21 +433,22 @@ func TestVoteProposal(t *testing.T) { service.UpdateGovernor(accountAddress_common, weight) lastProposalNum, _ := service.ProposalCount() - lastProposalStatus, _ := service.GetProposalStatus(lastProposalNum) + // lastProposalStatus, _ := service.GetProposalStatus(lastProposalNum) agree := false _, err := service.VoteProposal(*lastProposalNum, agree) - if err != nil { + + if err == nil || err.Error() != "AuthManagerService VoteProposal failed, err: transact failed, receipt status: 16, message: receipt error code: 16, receipt error message: revert instruction, Already voted" { t.Fatalf("TestVoteProposal failed: %v", err) } - proposalInfo, err := service.GetProposalInfo(lastProposalNum) - againstVoters := proposalInfo.AgainstVoters + // proposalInfo, err := service.GetProposalInfo(lastProposalNum) + // againstVoters := proposalInfo.AgainstVoters - lastProposalNewStatus, _ := service.GetProposalStatus(lastProposalNum) + // lastProposalNewStatus, _ := service.GetProposalStatus(lastProposalNum) - t.Logf("lastProposalNum: %v\n", lastProposalNum) - t.Logf("lastProposalStatus: %v\n", lastProposalStatus) - t.Logf("againstVoters: %v\n", againstVoters) - t.Logf("lastProposalNewStatus: %v\n", lastProposalNewStatus) + // t.Logf("lastProposalNum: %v\n", lastProposalNum) + // t.Logf("lastProposalStatus: %v\n", lastProposalStatus) + // t.Logf("againstVoters: %v\n", againstVoters) + // t.Logf("lastProposalNewStatus: %v\n", lastProposalNewStatus) }