Skip to content

Commit 9837e92

Browse files
authored
<fix>(codec): fix abi codec decode issue when static struct in dynamic struct scenario. (#941)
1 parent c1f78c7 commit 9837e92

File tree

2 files changed

+4
-64
lines changed

2 files changed

+4
-64
lines changed

.github/workflows/workflow.yml

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ ubuntu-20.04, ubuntu-22.04, windows-2019, macos-12 ]
18+
os: [ ubuntu-22.04, windows-2019, macos-latest ]
1919
steps:
20-
- uses: actions/checkout@v2
20+
- uses: actions/checkout@v3
2121
with:
2222
fetch-depth: 5
23-
- uses: actions/cache@v2
23+
- uses: actions/cache@v3
2424
id: deps_cache
2525
with:
2626
path: |
@@ -53,63 +53,3 @@ jobs:
5353
- name: run integration testing
5454
if: runner.os != 'Windows'
5555
run: /bin/bash .ci/ci_check.sh
56-
57-
build-centos:
58-
name: build-centos
59-
runs-on: ${{ matrix.os }}
60-
continue-on-error: true
61-
strategy:
62-
fail-fast: false
63-
matrix:
64-
os: [ ubuntu-20.04 ]
65-
container: docker.io/centos:7
66-
steps:
67-
- uses: actions/checkout@v2
68-
with:
69-
fetch-depth: 5
70-
- uses: actions/cache@v2
71-
id: deps_cache
72-
with:
73-
path: |
74-
~/.gradle/caches
75-
~/.gradle/wrapper
76-
~/.m2/repository
77-
~/.ccache
78-
~/.fisco
79-
key: build-${{ matrix.os }}-${{ github.base_ref }}-${{ hashFiles('.github/workflows/workflow.yml') }}
80-
restore-keys: |
81-
build-${{ matrix.os }}-${{ github.base_ref }}-${{ hashFiles('.github/workflows/workflow.yml') }}
82-
build-${{ matrix.os }}-${{ github.base_ref }}-
83-
build-${{ matrix.os }}-
84-
- name: Set up JDK 1.8.0.345
85-
uses: actions/setup-java@v3
86-
with:
87-
distribution: 'zulu'
88-
java-version: '8.0.345'
89-
- name: install CentOS dependencies
90-
run: |
91-
sed -i s/mirror.centos.org/mirrors.aliyun.com/g /etc/yum.repos.d/*.repo
92-
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
93-
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
94-
yum clean all
95-
yum makecache
96-
yum update -y
97-
yum install -y epel-release centos-release-scl wget which git openssl-devel openssl tree
98-
- name: Set up JDK 1.8.0.345
99-
uses: actions/setup-java@v3
100-
with:
101-
distribution: 'zulu'
102-
java-version: '8.0.345'
103-
- name: run build test
104-
run: /bin/bash gradlew build --info
105-
- name: run integration testing
106-
run: /bin/bash .ci/ci_check.sh && tree ./build/reports
107-
- name: upload unittest coverage
108-
run: curl -LO https://codecov.io/bash && /bin/bash ./bash
109-
# uses: codecov/codecov-action@v3
110-
# with:
111-
# token: ${{ secrets.CODECOV_TOKEN }}
112-
# files: ./build/reports/jacoco/test/jacocoTestReport.xml
113-
# flags: unittest
114-
# fail_ci_if_error: true
115-
# verbose: true

src/main/java/org/fisco/bcos/sdk/v3/codec/abi/TypeDecoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ private static <T extends Type> T decodeDynamicStructElements(
441441
TypeReference.create(declaredField));
442442
staticOffset +=
443443
Utils.staticStructNestedPublicFieldsFlatList(
444-
(Class<Type>) classType)
444+
(Class<Type>) declaredField)
445445
.size()
446446
* Type.MAX_BYTE_LENGTH;
447447
} else {

0 commit comments

Comments
 (0)