From 1f3409bddd1c800448317310869aa5ba53d2d694 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Thu, 28 Mar 2024 13:47:47 +0700 Subject: [PATCH 01/42] ci: add storage layout check --- .github/workflows/test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c05642a8..82f55e1d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,3 +55,9 @@ jobs: run: | forge test --no-match-path '*forking/*' -vvv id: test + + - name: Storage Layout Check + run: | + echo "Checking storage layout..." + lib/storage-delta/run.sh ${{ github.sha }} + id: storage-layout-check From b7d469e5b4140e1134d58ff30a71d41342e21c4e Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Thu, 28 Mar 2024 13:51:14 +0700 Subject: [PATCH 02/42] ci: add test ci for branch implement-feature --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 82f55e1d..49c30aaa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,6 +8,8 @@ on: - "release/*" - "feature/*" - "features/*" + - "implement-feature/**" + - "implement-feature/**/**" pull_request: branches: - mainnet From a7797479494bf904d623c77768940085933e54d5 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Thu, 28 Mar 2024 14:24:06 +0700 Subject: [PATCH 03/42] ci: fix ci --- .github/workflows/test.yml | 23 ++++++++++++++++------- contracts/mocks/MockBridge.sol | 1 + 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 49c30aaa..67f3181b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -53,13 +53,22 @@ jobs: forge build id: build - - name: Run Forge tests - run: | - forge test --no-match-path '*forking/*' -vvv - id: test - + # - name: Run Forge tests + # run: | + # forge test --no-match-path '*forking/*' -vvv + # id: test + + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.base.ref}} + + - name: Get latest commit hash of target branch + run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV + - name: Storage Layout Check run: | echo "Checking storage layout..." - lib/storage-delta/run.sh ${{ github.sha }} - id: storage-layout-check + echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" + echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" + lib/storage-delta/run.sh ${{ env.TARGET_COMMIT_HASH }} diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index b14dc6d3..f3c2ca58 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -6,6 +6,7 @@ import "@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol" import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { + uint256 private _collisionVariable; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From 3cf4d7e0db9e4a31cf573e482cd878d57e6e07b6 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 11:56:05 +0700 Subject: [PATCH 04/42] forge install: storage-delta a7d0053e7b68c2a501ae3b29a7fc7876a6ff0f9d --- lib/storage-delta | 1 + 1 file changed, 1 insertion(+) create mode 160000 lib/storage-delta diff --git a/lib/storage-delta b/lib/storage-delta new file mode 160000 index 00000000..a7d0053e --- /dev/null +++ b/lib/storage-delta @@ -0,0 +1 @@ +Subproject commit a7d0053e7b68c2a501ae3b29a7fc7876a6ff0f9d From 6522b5123a738af75f348db18cbef50f77c0d289 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 11:57:12 +0700 Subject: [PATCH 05/42] ci: update lib --- .github/workflows/test.yml | 8 ++++---- test.sh | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100755 test.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 67f3181b..205d3816 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,18 +57,18 @@ jobs: # run: | # forge test --no-match-path '*forking/*' -vvv # id: test - + - name: Checkout code uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.base.ref}} - + - name: Get latest commit hash of target branch run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV - + - name: Storage Layout Check run: | echo "Checking storage layout..." echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" - lib/storage-delta/run.sh ${{ env.TARGET_COMMIT_HASH }} + lib/storage-delta/run.sh ${{ env.TARGET_COMMIT_HASH }} --omit new --contracts contracts diff --git a/test.sh b/test.sh new file mode 100755 index 00000000..46e8415b --- /dev/null +++ b/test.sh @@ -0,0 +1,4 @@ + +bash --version +wait --help +wait -n \ No newline at end of file From cf241ba4570827d683c6dd4a2bb56b469c6a72c8 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 12:06:32 +0700 Subject: [PATCH 06/42] ci: add node action --- .github/workflows/test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 205d3816..04a467d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -63,6 +63,14 @@ jobs: with: ref: ${{ github.event.pull_request.base.ref}} + - name: Use Node.js + uses: actions/setup-node@v2 + with: + node-version: "14" # Specify the Node.js version + + - name: Install dependencies + run: npm ci + - name: Get latest commit hash of target branch run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV From 2b76b465831cc4320236bdc2063d690046cd1037 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 12:14:12 +0700 Subject: [PATCH 07/42] fix: npm install --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 04a467d5..7f9700f7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,7 +69,7 @@ jobs: node-version: "14" # Specify the Node.js version - name: Install dependencies - run: npm ci + run: npm install && npm ci - name: Get latest commit hash of target branch run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV From d54bf50a22712a1e0680d5f6f65b100cc8f288a1 Mon Sep 17 00:00:00 2001 From: "tu-do.ron" Date: Fri, 29 Mar 2024 12:25:33 +0700 Subject: [PATCH 08/42] Update test.yml Signed-off-by: tu-do.ron --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7f9700f7..4c23f0c1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -66,7 +66,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v2 with: - node-version: "14" # Specify the Node.js version + node-version: "18" # Specify the Node.js version - name: Install dependencies run: npm install && npm ci From 0cfd884b94b1a799c6d7111762cf0ad565f74dde Mon Sep 17 00:00:00 2001 From: "tu-do.ron" Date: Fri, 29 Mar 2024 12:33:24 +0700 Subject: [PATCH 09/42] Update test.yml Signed-off-by: tu-do.ron --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4c23f0c1..a6a028fb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -66,7 +66,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v2 with: - node-version: "18" # Specify the Node.js version + node-version: "16" # Specify the Node.js version - name: Install dependencies run: npm install && npm ci From 51e2a2560b46ae2d4f25c8aa776e3369f4540703 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 13:24:24 +0700 Subject: [PATCH 10/42] fix:ci --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a6a028fb..56e19178 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,7 +69,7 @@ jobs: node-version: "16" # Specify the Node.js version - name: Install dependencies - run: npm install && npm ci + run: npm install --force && npm ci - name: Get latest commit hash of target branch run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV From bf38c81ca23a34fb2926e4fb17e9f3ffa8c50465 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 13:33:19 +0700 Subject: [PATCH 11/42] fix: ci setup node --- .github/workflows/test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 56e19178..feb359b6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -63,10 +63,10 @@ jobs: with: ref: ${{ github.event.pull_request.base.ref}} - - name: Use Node.js - uses: actions/setup-node@v2 + - name: "Setup Node" + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 #v3.4.1 with: - node-version: "16" # Specify the Node.js version + node-version: v16.16.0 - name: Install dependencies run: npm install --force && npm ci From c75d1fa81b5c908fae8543bddb432e1dc20d31c6 Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 13:41:52 +0700 Subject: [PATCH 12/42] fix: ci remove install deps --- .github/workflows/test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index feb359b6..9206e591 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,9 +68,6 @@ jobs: with: node-version: v16.16.0 - - name: Install dependencies - run: npm install --force && npm ci - - name: Get latest commit hash of target branch run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV From 14b9c573cfdccfb9f85beef0ac9d59928af8516c Mon Sep 17 00:00:00 2001 From: TuDo1403 Date: Fri, 29 Mar 2024 14:30:25 +0700 Subject: [PATCH 13/42] forge install: storage-delta fb0da21984c298790bb82922264c9db75cde06d6 --- lib/storage-delta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/storage-delta b/lib/storage-delta index a7d0053e..fb0da219 160000 --- a/lib/storage-delta +++ b/lib/storage-delta @@ -1 +1 @@ -Subproject commit a7d0053e7b68c2a501ae3b29a7fc7876a6ff0f9d +Subproject commit fb0da21984c298790bb82922264c9db75cde06d6 From c8473d7ab0d6243fa6235024cbe1d3994b85dfd3 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 14:47:24 +0700 Subject: [PATCH 14/42] chore: install storage-delta via soldeer --- .github/workflows/test.yml | 3 ++- .gitignore | 3 ++- foundry.toml | 1 + remappings.txt | 3 ++- soldeer.lock | 6 ++++++ 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9206e591..f7b18484 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,7 +73,8 @@ jobs: - name: Storage Layout Check run: | + forge soldeer install echo "Checking storage layout..." echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" - lib/storage-delta/run.sh ${{ env.TARGET_COMMIT_HASH }} --omit new --contracts contracts + dependencies/@storage-delta-0.3.1/run.sh ${{ env.TARGET_COMMIT_HASH }} --omit new --contracts contracts diff --git a/.gitignore b/.gitignore index 7db535bd..ca76b48e 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ deployments/**/exported_address config/config.json config/config.yaml dependencies -deployments/ronin-mainnet-shadow \ No newline at end of file +deployments/ronin-mainnet-shadow +.storage_delta_cache diff --git a/foundry.toml b/foundry.toml index 1c744d38..6c392c81 100644 --- a/foundry.toml +++ b/foundry.toml @@ -63,3 +63,4 @@ ronin-mainnet-shadow = "http://35.192.217.237:8545" "@openzeppelin-v5" = { version = "5.0.2", url = "https://github.com/OpenZeppelin/openzeppelin-contracts/archive/refs/tags/v5.0.2.zip" } "@chainlink" = { version = "1.6.0", url = "https://github.com/smartcontractkit/chainlink/archive/refs/tags/v1.6.0.zip" } safe-smart-account = { version = "1.4.1", url = "https://github.com/safe-global/safe-smart-account/archive/refs/tags/v1.4.1.zip" } +"@storage-delta" = { version = "0.3.1", url = "https://github.com/TuDo1403/storage-delta/archive/refs/tags/0.3.1.zip" } diff --git a/remappings.txt b/remappings.txt index d9e8ba87..0dd7cae0 100644 --- a/remappings.txt +++ b/remappings.txt @@ -10,4 +10,5 @@ hardhat/=./node_modules/hardhat/ @fdk/=dependencies/@fdk-0.3.0-beta/script/ @contract-libs/=lib/foundry-deployment-kit/lib/contract-libs/src/ @chainlink/contracts/=dependencies/@chainlink-1.6.0/contracts/ -safe-smart-account/contracts/=dependencies/safe-smart-account-1.4.1/contracts/ \ No newline at end of file +safe-smart-account/contracts/=dependencies/safe-smart-account-1.4.1/contracts/ +@storage-delta-0.3.1=dependencies/@storage-delta-0.3.1 \ No newline at end of file diff --git a/soldeer.lock b/soldeer.lock index bbd6d406..17cea34c 100644 --- a/soldeer.lock +++ b/soldeer.lock @@ -40,3 +40,9 @@ name = "safe-smart-account" version = "1.4.1" source = "https://github.com/safe-global/safe-smart-account/archive/refs/tags/v1.4.1.zip" checksum = "84348d4a1cf975f5d013cf8bdb74b8713bcccb40fceb5a1e7fc9debd27489e99" + +[[dependencies]] +name = "@storage-delta" +version = "0.3.1" +source = "https://github.com/TuDo1403/storage-delta/archive/refs/tags/0.3.1.zip" +checksum = "6ff6dad83b29fcec375d314c876c8731f37742363576b883d146824a7a57ab52" From 57cbe84ca9b3fea18ee504ee8dcb55f1b96e7cc2 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 15:03:23 +0700 Subject: [PATCH 15/42] chore: test ci --- contracts/mocks/MockBridge.sol | 1 + 1 file changed, 1 insertion(+) diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index f3c2ca58..eedafef5 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,6 +7,7 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; + uint256 private _collisionVariable1; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From 37ffc4793faa172b25353936c81fa4032ef57b77 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 15:36:05 +0700 Subject: [PATCH 16/42] feat: ci commit storage layout change --- .github/workflows/test.yml | 16 ++++++++++++++++ contracts/mocks/MockBridge.sol | 2 ++ 2 files changed, 18 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f7b18484..d99f8921 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -78,3 +78,19 @@ jobs: echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" dependencies/@storage-delta-0.3.1/run.sh ${{ env.TARGET_COMMIT_HASH }} --omit new --contracts contracts + + - name: Check for storage_delta folder + id: check-folder + run: | + if [ -d "storage_delta" ]; then + echo "storage_delta_exists=true" >> $GITHUB_OUTPUT + fi + + - name: Commit and changes + if: steps.check-folder.outputs.storage_delta_exists == 'true' + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add storage_delta + git commit -m "Add contract layout changes [CI]" + git push \ No newline at end of file diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index eedafef5..a4b824fe 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -8,6 +8,8 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; uint256 private _collisionVariable1; + uint256 private _collisionVariable2; + /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From bac5f4e1ed530053e6cda6517dfdf098347a57d7 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 16:13:57 +0700 Subject: [PATCH 17/42] chore: fix ci get prev commit hash --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d99f8921..132ae5a8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,7 +69,7 @@ jobs: node-version: v16.16.0 - name: Get latest commit hash of target branch - run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD)" >> $GITHUB_ENV + run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD^)" >> $GITHUB_ENV - name: Storage Layout Check run: | From 6bee738b1a968eb3f4f5631ac0be17c3e4abc143 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 16:36:58 +0700 Subject: [PATCH 18/42] chore: test ci --- contracts/mocks/MockBridge.sol | 2 -- 1 file changed, 2 deletions(-) diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index a4b824fe..52b2c8b9 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,8 +7,6 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; - uint256 private _collisionVariable1; - uint256 private _collisionVariable2; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; From 403e6074e00741000f1f7f03bf834eca1a02e188 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 16:46:03 +0700 Subject: [PATCH 19/42] chore: fix prev commit hash --- .github/workflows/test.yml | 1 + contracts/mocks/MockBridge.sol | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 132ae5a8..50730fc7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,6 +32,7 @@ jobs: - uses: actions/checkout@v3 with: submodules: recursive + fetch-depth: 2 - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index 52b2c8b9..a4b824fe 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,6 +7,8 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; + uint256 private _collisionVariable1; + uint256 private _collisionVariable2; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; From a4baba77d2472b1ef8d9975c42968fe493cf45a9 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 16:59:20 +0700 Subject: [PATCH 20/42] chore: test ci --- .github/workflows/test.yml | 8 ++++++-- contracts/mocks/MockBridge.sol | 3 --- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 50730fc7..8755ffd7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -69,8 +69,12 @@ jobs: with: node-version: v16.16.0 - - name: Get latest commit hash of target branch - run: echo "TARGET_COMMIT_HASH=$(git rev-parse HEAD^)" >> $GITHUB_ENV + - name: Get previous commit hash of target branch + run: | + git fetch --depth=2 origin ${{ github.ref }} + PREV_COMMIT=$(git rev-parse HEAD~1) + echo "Previous commit: $PREV_COMMIT" + echo "TARGET_COMMIT_HASH=$PREV_COMMIT" >> $GITHUB_ENV - name: Storage Layout Check run: | diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index a4b824fe..f3c2ca58 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,9 +7,6 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; - uint256 private _collisionVariable1; - uint256 private _collisionVariable2; - /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From 539fafc64e294ca4cdece39629ea904d92375bc2 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 17:02:26 +0700 Subject: [PATCH 21/42] chore: fix get prev commit hash --- .github/workflows/test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8755ffd7..f7aa90ad 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,6 +33,13 @@ jobs: with: submodules: recursive fetch-depth: 2 + + - name: Get previous commit hash of target branch + run: | + git fetch --depth=2 origin ${{ github.ref }} + PREV_COMMIT=$(git rev-parse HEAD~1) + echo "Previous commit: $PREV_COMMIT" + echo "TARGET_COMMIT_HASH=$PREV_COMMIT" >> $GITHUB_ENV - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 @@ -69,13 +76,6 @@ jobs: with: node-version: v16.16.0 - - name: Get previous commit hash of target branch - run: | - git fetch --depth=2 origin ${{ github.ref }} - PREV_COMMIT=$(git rev-parse HEAD~1) - echo "Previous commit: $PREV_COMMIT" - echo "TARGET_COMMIT_HASH=$PREV_COMMIT" >> $GITHUB_ENV - - name: Storage Layout Check run: | forge soldeer install From d8d1531b7a699f30d75da1dc050e6c022304c0d6 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 17:11:23 +0700 Subject: [PATCH 22/42] chore: test ci --- contracts/mocks/MockBridge.sol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index f3c2ca58..67e8f696 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,6 +7,8 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; + uint256 private _collisionVariable1; + uint256 private _collisionVariable2; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From c1c2dcb2ec6a665eeaafc1797b7710924ebbdfb0 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Tue, 20 Aug 2024 17:24:31 +0700 Subject: [PATCH 23/42] chore: debug ci --- .github/workflows/test.yml | 13 +++++++++++++ contracts/mocks/MockBridge.sol | 2 -- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f7aa90ad..3756bc5b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -76,6 +76,19 @@ jobs: with: node-version: v16.16.0 + - name: Fetch more history + run: | + git fetch --unshallow || git fetch --all + + - name: Verify commit + run: | + if git cat-file -e d3148e01234d2e1ed1d100c82a9610432b129ac9; then + echo "Commit exists" + else + echo "Commit does not exist in current history" + git log --oneline -n 10 # Show last 10 commits + fi + - name: Storage Layout Check run: | forge soldeer install diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index 67e8f696..f3c2ca58 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,8 +7,6 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; - uint256 private _collisionVariable1; - uint256 private _collisionVariable2; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From 07995a034183436b6755eaa31f8f96db0fe584d6 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 20 Aug 2024 10:31:06 +0000 Subject: [PATCH 24/42] Add contract layout changes [CI] --- storage_delta/contracts/mocks/MockBridge.diff | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 storage_delta/contracts/mocks/MockBridge.diff diff --git a/storage_delta/contracts/mocks/MockBridge.diff b/storage_delta/contracts/mocks/MockBridge.diff new file mode 100644 index 00000000..199fc602 --- /dev/null +++ b/storage_delta/contracts/mocks/MockBridge.diff @@ -0,0 +1,14 @@ +--- storage_delta//contracts//mocks//MockBridge-OLD 2024-08-20 10:31:01.735393293 +0000 ++++ storage_delta//contracts//mocks//MockBridge-NEW 2024-08-20 10:31:01.735393293 +0000 +@@ -1,5 +1,5 @@ + 0 _collisionVariable uint256 +- 1 _collisionVariable1 uint256 +- 2 _collisionVariable2 uint256 +- 3 bridgeOperatorAddedBlock mapping(address => uint256) +- 4 bridgeOperators address[] +\ No newline at end of file ++🏁 1 bridgeOperatorAddedBlock mapping(address => uint256) ++🏁 2 bridgeOperators address[] ++đŸĒĻ ++đŸĒĻ +\ No newline at end of file From 0372562655064fdef2a05f71cd936a65a4da1f3d Mon Sep 17 00:00:00 2001 From: "tu-do.ron" Date: Tue, 20 Aug 2024 17:35:03 +0700 Subject: [PATCH 25/42] Delete test.sh Signed-off-by: tu-do.ron --- test.sh | 4 ---- 1 file changed, 4 deletions(-) delete mode 100755 test.sh diff --git a/test.sh b/test.sh deleted file mode 100755 index 46e8415b..00000000 --- a/test.sh +++ /dev/null @@ -1,4 +0,0 @@ - -bash --version -wait --help -wait -n \ No newline at end of file From ceaecc1d4b01a2209156c3e4509eaa7ac6262bcc Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 21:38:02 +0700 Subject: [PATCH 26/42] chore: test ci --- .github/workflows/test.yml | 49 ++++++++++++++++------------------ contracts/mocks/MockBridge.sol | 4 +++ lib/storage-delta | 1 - 3 files changed, 27 insertions(+), 27 deletions(-) delete mode 160000 lib/storage-delta diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3756bc5b..230b6309 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,6 +17,7 @@ on: - "release/*" - "feature/*" - "features/*" + - "feature/ci" env: FOUNDRY_PROFILE: ci @@ -32,15 +33,7 @@ jobs: - uses: actions/checkout@v3 with: submodules: recursive - fetch-depth: 2 - - - name: Get previous commit hash of target branch - run: | - git fetch --depth=2 origin ${{ github.ref }} - PREV_COMMIT=$(git rev-parse HEAD~1) - echo "Previous commit: $PREV_COMMIT" - echo "TARGET_COMMIT_HASH=$PREV_COMMIT" >> $GITHUB_ENV - + - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: @@ -58,7 +51,7 @@ jobs: - name: Run Forge build run: | forge --version - forge build + forge build --skip scripts id: build # - name: Run Forge tests @@ -66,36 +59,40 @@ jobs: # forge test --no-match-path '*forking/*' -vvv # id: test - - name: Checkout code - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.base.ref}} + - name: Get lastest commit hash of target branch + run: | + echo "TARGET_COMMIT_HASH=$(git rev-parse origin/${{ github.event.pull_request.base.ref }})" >> $GITHUB_ENV - name: "Setup Node" uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 #v3.4.1 with: node-version: v16.16.0 - - name: Fetch more history - run: | - git fetch --unshallow || git fetch --all + # - name: Fetch more history + # run: | + # git fetch --unshallow || git fetch --all - - name: Verify commit - run: | - if git cat-file -e d3148e01234d2e1ed1d100c82a9610432b129ac9; then - echo "Commit exists" - else - echo "Commit does not exist in current history" - git log --oneline -n 10 # Show last 10 commits - fi + # - name: Verify commit + # run: | + # if git cat-file -e d3148e01234d2e1ed1d100c82a9610432b129ac9; then + # echo "Commit exists" + # else + # echo "Commit does not exist in current history" + # git log --oneline -n 10 # Show last 10 commits + # fi - name: Storage Layout Check run: | forge soldeer install + echo "Checking storage layout..." + echo "Current branch: ${{ github.head_ref || github.ref_name }}" + echo "BASE_BRANCH: ${{ github.event.pull_request.base.ref }}" + echo "PR head commit (latest in source branch): ${{ github.event.pull_request.head.sha }}" echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" - dependencies/@storage-delta-0.3.1/run.sh ${{ env.TARGET_COMMIT_HASH }} --omit new --contracts contracts + + dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts - name: Check for storage_delta folder id: check-folder diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index f3c2ca58..8d02fa17 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,6 +7,10 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; + + uint256 private _collisionVariable1; + + uint256 private _collisionVariable2; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array diff --git a/lib/storage-delta b/lib/storage-delta deleted file mode 160000 index fb0da219..00000000 --- a/lib/storage-delta +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fb0da21984c298790bb82922264c9db75cde06d6 From 17e55746d06f8f7d1575b4b22dde3335a48d0b2c Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 21:57:20 +0700 Subject: [PATCH 27/42] chore: test ci --- .github/workflows/test.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 230b6309..3b0b9e9d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,11 +57,11 @@ jobs: # - name: Run Forge tests # run: | # forge test --no-match-path '*forking/*' -vvv - # id: test + # # id: test - - name: Get lastest commit hash of target branch - run: | - echo "TARGET_COMMIT_HASH=$(git rev-parse origin/${{ github.event.pull_request.base.ref }})" >> $GITHUB_ENV + # - name: Get lastest commit hash of target branch + # run: | + # echo "TARGET_COMMIT_HASH=$(git rev-parse origin/${{ github.event.pull_request.base.ref }})" >> $GITHUB_ENV - name: "Setup Node" uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 #v3.4.1 @@ -83,8 +83,6 @@ jobs: - name: Storage Layout Check run: | - forge soldeer install - echo "Checking storage layout..." echo "Current branch: ${{ github.head_ref || github.ref_name }}" echo "BASE_BRANCH: ${{ github.event.pull_request.base.ref }}" From 720acc7c509287e62aaeb21e03db851c91e5d5e7 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:04:57 +0700 Subject: [PATCH 28/42] chore: update lib for faster testing --- foundry.toml | 2 +- storage_delta/contracts/mocks/MockBridge.diff | 25 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/foundry.toml b/foundry.toml index 6c392c81..52511cf6 100644 --- a/foundry.toml +++ b/foundry.toml @@ -63,4 +63,4 @@ ronin-mainnet-shadow = "http://35.192.217.237:8545" "@openzeppelin-v5" = { version = "5.0.2", url = "https://github.com/OpenZeppelin/openzeppelin-contracts/archive/refs/tags/v5.0.2.zip" } "@chainlink" = { version = "1.6.0", url = "https://github.com/smartcontractkit/chainlink/archive/refs/tags/v1.6.0.zip" } safe-smart-account = { version = "1.4.1", url = "https://github.com/safe-global/safe-smart-account/archive/refs/tags/v1.4.1.zip" } -"@storage-delta" = { version = "0.3.1", url = "https://github.com/TuDo1403/storage-delta/archive/refs/tags/0.3.1.zip" } +"@storage-delta" = { version = "0.3.1", url = "https://github.com/tringuyenskymavis/storage-delta/archive/refs/tags/0.3.1.zip" } diff --git a/storage_delta/contracts/mocks/MockBridge.diff b/storage_delta/contracts/mocks/MockBridge.diff index 199fc602..685821eb 100644 --- a/storage_delta/contracts/mocks/MockBridge.diff +++ b/storage_delta/contracts/mocks/MockBridge.diff @@ -1,14 +1,13 @@ ---- storage_delta//contracts//mocks//MockBridge-OLD 2024-08-20 10:31:01.735393293 +0000 -+++ storage_delta//contracts//mocks//MockBridge-NEW 2024-08-20 10:31:01.735393293 +0000 -@@ -1,5 +1,5 @@ - 0 _collisionVariable uint256 -- 1 _collisionVariable1 uint256 -- 2 _collisionVariable2 uint256 -- 3 bridgeOperatorAddedBlock mapping(address => uint256) -- 4 bridgeOperators address[] -\ No newline at end of file -+🏁 1 bridgeOperatorAddedBlock mapping(address => uint256) -+🏁 2 bridgeOperators address[] -+đŸĒĻ -+đŸĒĻ +--- storage_delta//contracts//mocks//MockBridge-OLD 2024-08-21 22:03:09 ++++ storage_delta//contracts//mocks//MockBridge-NEW 2024-08-21 22:03:09 +@@ -1,4 +1,5 @@ +- 0 bridgeOperatorAddedBlock mapping(address => uint256) +- 1 bridgeOperators address[] +- +- ++🏴 0 _collisionVariable uint256 ++🏴 1 _collisionVariable1 uint256 ++🌱 2 _collisionVariable2 uint256 ++đŸŗī¸ 3 bridgeOperatorAddedBlock mapping(address => uint256) ++đŸŗī¸ 4 bridgeOperators address[] \ No newline at end of file From 42874737a23cb90466b5a9f664e3f96f91db0b80 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:09:47 +0700 Subject: [PATCH 29/42] chore: test ci --- contracts/mocks/MockBridge.sol | 4 ++-- storage_delta/contracts/mocks/MockBridge.diff | 13 ------------- 2 files changed, 2 insertions(+), 15 deletions(-) delete mode 100644 storage_delta/contracts/mocks/MockBridge.diff diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index 8d02fa17..cb71085a 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -7,10 +7,10 @@ import "../interfaces/IBridge.sol"; contract MockBridge is IBridge { uint256 private _collisionVariable; - uint256 private _collisionVariable1; - uint256 private _collisionVariable2; + address private _a; + address private _b; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array diff --git a/storage_delta/contracts/mocks/MockBridge.diff b/storage_delta/contracts/mocks/MockBridge.diff deleted file mode 100644 index 685821eb..00000000 --- a/storage_delta/contracts/mocks/MockBridge.diff +++ /dev/null @@ -1,13 +0,0 @@ ---- storage_delta//contracts//mocks//MockBridge-OLD 2024-08-21 22:03:09 -+++ storage_delta//contracts//mocks//MockBridge-NEW 2024-08-21 22:03:09 -@@ -1,4 +1,5 @@ -- 0 bridgeOperatorAddedBlock mapping(address => uint256) -- 1 bridgeOperators address[] -- -- -+🏴 0 _collisionVariable uint256 -+🏴 1 _collisionVariable1 uint256 -+🌱 2 _collisionVariable2 uint256 -+đŸŗī¸ 3 bridgeOperatorAddedBlock mapping(address => uint256) -+đŸŗī¸ 4 bridgeOperators address[] -\ No newline at end of file From 987ff4a0ee749505783cf77a2473aa600c6f1a23 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:15:03 +0700 Subject: [PATCH 30/42] chore: test ci --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3b0b9e9d..b489a655 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -89,7 +89,7 @@ jobs: echo "PR head commit (latest in source branch): ${{ github.event.pull_request.head.sha }}" echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" - + git fetch --unshallow || git fetch --all dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts - name: Check for storage_delta folder From 03cd466d6e21cc42558fd9b3736816a003c9b8aa Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:24:15 +0700 Subject: [PATCH 31/42] chore: test ci --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b489a655..0dc4765c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -106,4 +106,4 @@ jobs: git config --local user.name "GitHub Action" git add storage_delta git commit -m "Add contract layout changes [CI]" - git push \ No newline at end of file + git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file From afec77775efb9b085d4ec4250c9b7f1c7ebe3628 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:36:33 +0700 Subject: [PATCH 32/42] chore: clean up CI and test again --- .github/workflows/test.yml | 19 ------------------- contracts/mocks/MockBridge.sol | 2 -- 2 files changed, 21 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0dc4765c..408892fb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -59,36 +59,17 @@ jobs: # forge test --no-match-path '*forking/*' -vvv # # id: test - # - name: Get lastest commit hash of target branch - # run: | - # echo "TARGET_COMMIT_HASH=$(git rev-parse origin/${{ github.event.pull_request.base.ref }})" >> $GITHUB_ENV - - name: "Setup Node" uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 #v3.4.1 with: node-version: v16.16.0 - # - name: Fetch more history - # run: | - # git fetch --unshallow || git fetch --all - - # - name: Verify commit - # run: | - # if git cat-file -e d3148e01234d2e1ed1d100c82a9610432b129ac9; then - # echo "Commit exists" - # else - # echo "Commit does not exist in current history" - # git log --oneline -n 10 # Show last 10 commits - # fi - - name: Storage Layout Check run: | echo "Checking storage layout..." echo "Current branch: ${{ github.head_ref || github.ref_name }}" echo "BASE_BRANCH: ${{ github.event.pull_request.base.ref }}" - echo "PR head commit (latest in source branch): ${{ github.event.pull_request.head.sha }}" echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" - echo "TARGET_COMMIT_HASH: ${{ env.TARGET_COMMIT_HASH }}" git fetch --unshallow || git fetch --all dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts diff --git a/contracts/mocks/MockBridge.sol b/contracts/mocks/MockBridge.sol index cb71085a..67e8f696 100644 --- a/contracts/mocks/MockBridge.sol +++ b/contracts/mocks/MockBridge.sol @@ -9,8 +9,6 @@ contract MockBridge is IBridge { uint256 private _collisionVariable; uint256 private _collisionVariable1; uint256 private _collisionVariable2; - address private _a; - address private _b; /// @dev Mapping from validator address => last block that the bridge operator is added mapping(address => uint256) public bridgeOperatorAddedBlock; /// @dev Bridge operators array From ed1a6842c7717e5ed5084cc1b583b661f6b80e2c Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:51:10 +0700 Subject: [PATCH 33/42] chore: just check storage with pull request event --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 408892fb..606b4e94 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -74,6 +74,7 @@ jobs: dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts - name: Check for storage_delta folder + if: github.event_name == 'pull_request' id: check-folder run: | if [ -d "storage_delta" ]; then From ee5a2a8f91b3da3066908499ea11c9741dbcea63 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 22:58:08 +0700 Subject: [PATCH 34/42] chore: fix ci --- .github/workflows/test.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 606b4e94..f831524a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,6 @@ on: - "release/*" - "feature/*" - "features/*" - - "feature/ci" env: FOUNDRY_PROFILE: ci @@ -51,7 +50,7 @@ jobs: - name: Run Forge build run: | forge --version - forge build --skip scripts + forge build id: build # - name: Run Forge tests From 231bdb36df96f92d0801f9fba4c75e667d1b48bb Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 23:29:55 +0700 Subject: [PATCH 35/42] chore: fix remapping --- remappings.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/remappings.txt b/remappings.txt index 0dd7cae0..efe4f12c 100644 --- a/remappings.txt +++ b/remappings.txt @@ -11,4 +11,5 @@ hardhat/=./node_modules/hardhat/ @contract-libs/=lib/foundry-deployment-kit/lib/contract-libs/src/ @chainlink/contracts/=dependencies/@chainlink-1.6.0/contracts/ safe-smart-account/contracts/=dependencies/safe-smart-account-1.4.1/contracts/ -@storage-delta-0.3.1=dependencies/@storage-delta-0.3.1 \ No newline at end of file +@storage-delta-0.3.1=dependencies/@storage-delta-0.3.1 +script/=script/ \ No newline at end of file From f97462fa7def87d139e16c902bbb97f0e5f75148 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Wed, 21 Aug 2024 23:48:05 +0700 Subject: [PATCH 36/42] chore: fix ci --- .github/workflows/test.yml | 2 +- remappings.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f831524a..37877f68 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,7 +50,7 @@ jobs: - name: Run Forge build run: | forge --version - forge build + forge build --skip scripts id: build # - name: Run Forge tests diff --git a/remappings.txt b/remappings.txt index efe4f12c..ddb2c03d 100644 --- a/remappings.txt +++ b/remappings.txt @@ -12,4 +12,3 @@ hardhat/=./node_modules/hardhat/ @chainlink/contracts/=dependencies/@chainlink-1.6.0/contracts/ safe-smart-account/contracts/=dependencies/safe-smart-account-1.4.1/contracts/ @storage-delta-0.3.1=dependencies/@storage-delta-0.3.1 -script/=script/ \ No newline at end of file From 47bc216c1f691e9f602df2bbed3498a105aef739 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Thu, 22 Aug 2024 09:47:01 +0700 Subject: [PATCH 37/42] chore: fix ci --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 37877f68..ba2b2a29 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,7 +50,7 @@ jobs: - name: Run Forge build run: | forge --version - forge build --skip scripts + forge build id: build # - name: Run Forge tests @@ -64,6 +64,7 @@ jobs: node-version: v16.16.0 - name: Storage Layout Check + if: github.event_name == 'pull_request' run: | echo "Checking storage layout..." echo "Current branch: ${{ github.head_ref || github.ref_name }}" @@ -73,7 +74,6 @@ jobs: dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts - name: Check for storage_delta folder - if: github.event_name == 'pull_request' id: check-folder run: | if [ -d "storage_delta" ]; then From ce875e8629a1e3c12f2c5a97777b764f22db5231 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Thu, 22 Aug 2024 10:11:45 +0700 Subject: [PATCH 38/42] chore: fix ci --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba2b2a29..acda301e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,7 +50,7 @@ jobs: - name: Run Forge build run: | forge --version - forge build + forge build --skip scripts id: build # - name: Run Forge tests From 73c3ab3e0a9005460e6a03aff33437b937f2406e Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Thu, 22 Aug 2024 11:03:42 +0700 Subject: [PATCH 39/42] chore: test ci --- .github/workflows/test.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index acda301e..ee83de27 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -80,11 +80,11 @@ jobs: echo "storage_delta_exists=true" >> $GITHUB_OUTPUT fi - - name: Commit and changes - if: steps.check-folder.outputs.storage_delta_exists == 'true' - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add storage_delta - git commit -m "Add contract layout changes [CI]" - git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file + # - name: Commit and changes + # if: steps.check-folder.outputs.storage_delta_exists == 'true' + # run: | + # git config --local user.email "action@github.com" + # git config --local user.name "GitHub Action" + # git add storage_delta + # git commit -m "Add contract layout changes [CI]" + # git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file From 59f1889f8641c6c90e51ab98ea233bc9ff2b0ab0 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Thu, 22 Aug 2024 11:09:53 +0700 Subject: [PATCH 40/42] chore: test ci --- .github/workflows/test.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ee83de27..acda301e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -80,11 +80,11 @@ jobs: echo "storage_delta_exists=true" >> $GITHUB_OUTPUT fi - # - name: Commit and changes - # if: steps.check-folder.outputs.storage_delta_exists == 'true' - # run: | - # git config --local user.email "action@github.com" - # git config --local user.name "GitHub Action" - # git add storage_delta - # git commit -m "Add contract layout changes [CI]" - # git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file + - name: Commit and changes + if: steps.check-folder.outputs.storage_delta_exists == 'true' + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add storage_delta + git commit -m "Add contract layout changes [CI]" + git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file From c5aec2a3a8ba0d5b822160fb8117766970256f80 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Thu, 22 Aug 2024 13:35:50 +0700 Subject: [PATCH 41/42] chore: seperate test and change storage workflow --- .../workflows/create-storage-change-log.yml | 75 +++++++++++++++++++ .github/workflows/test.yml | 38 ++-------- 2 files changed, 81 insertions(+), 32 deletions(-) create mode 100644 .github/workflows/create-storage-change-log.yml diff --git a/.github/workflows/create-storage-change-log.yml b/.github/workflows/create-storage-change-log.yml new file mode 100644 index 00000000..6a91cddb --- /dev/null +++ b/.github/workflows/create-storage-change-log.yml @@ -0,0 +1,75 @@ +name: Create Storage Change Log + +on: + pull_request: + branches: + - mainnet + - testnet + - "release/*" + - "feature/*" + - "features/*" + +env: + FOUNDRY_PROFILE: ci + +jobs: + check: + strategy: + fail-fast: true + + name: Foundry project + runs-on: [self-hosted, dockerize] + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Update package with soldeer + run: forge soldeer update + + - name: Recursively update dependencies + run: | + chmod +x ./update-deps.sh + ./update-deps.sh + id: update-deps + + - name: Run Forge build + run: | + forge --version + forge build --skip scripts + id: build + + - name: "Setup Node" + uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 #v3.4.1 + with: + node-version: v16.16.0 + + - name: Storage Layout Check + run: | + echo "Checking storage layout..." + echo "Current branch: ${{ github.head_ref || github.ref_name }}" + echo "BASE_BRANCH: ${{ github.event.pull_request.base.ref }}" + echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" + git fetch --unshallow || git fetch --all + dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts + + - name: Check for storage_delta folder + id: check-folder + run: | + if [ -d "storage_delta" ]; then + echo "storage_delta_exists=true" >> $GITHUB_OUTPUT + fi + + - name: Commit and changes + if: steps.check-folder.outputs.storage_delta_exists == 'true' + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add storage_delta + git commit -m "Add contract layout changes [CI]" + git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index acda301e..cc0cceee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,41 +50,15 @@ jobs: - name: Run Forge build run: | forge --version - forge build --skip scripts + forge build id: build - # - name: Run Forge tests - # run: | - # forge test --no-match-path '*forking/*' -vvv - # # id: test + - name: Run Forge tests + run: | + forge test --no-match-path '*forking/*' -vvv + id: test - name: "Setup Node" uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 #v3.4.1 with: - node-version: v16.16.0 - - - name: Storage Layout Check - if: github.event_name == 'pull_request' - run: | - echo "Checking storage layout..." - echo "Current branch: ${{ github.head_ref || github.ref_name }}" - echo "BASE_BRANCH: ${{ github.event.pull_request.base.ref }}" - echo "CURRENT_COMMIT_HASH: ${{ github.sha }}" - git fetch --unshallow || git fetch --all - dependencies/@storage-delta-0.3.1/run.sh ${{ github.event.pull_request.base.sha }} --omit new --contracts contracts - - - name: Check for storage_delta folder - id: check-folder - run: | - if [ -d "storage_delta" ]; then - echo "storage_delta_exists=true" >> $GITHUB_OUTPUT - fi - - - name: Commit and changes - if: steps.check-folder.outputs.storage_delta_exists == 'true' - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add storage_delta - git commit -m "Add contract layout changes [CI]" - git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file + node-version: v16.16.0 \ No newline at end of file From 38ab08b22e4f9689fc86fdafc360af669f606445 Mon Sep 17 00:00:00 2001 From: tringuyenskymavis Date: Thu, 22 Aug 2024 13:57:13 +0700 Subject: [PATCH 42/42] chore: change commits order --- .../workflows/create-storage-change-log.yml | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-storage-change-log.yml b/.github/workflows/create-storage-change-log.yml index 6a91cddb..7a6a4a7b 100644 --- a/.github/workflows/create-storage-change-log.yml +++ b/.github/workflows/create-storage-change-log.yml @@ -41,7 +41,7 @@ jobs: - name: Run Forge build run: | forge --version - forge build --skip scripts + forge build --skip scripts tests id: build - name: "Setup Node" @@ -72,4 +72,24 @@ jobs: git config --local user.name "GitHub Action" git add storage_delta git commit -m "Add contract layout changes [CI]" - git push origin HEAD:${{ github.head_ref || github.ref_name }} \ No newline at end of file + git push origin HEAD:${{ github.head_ref || github.ref_name }} + + current_commit=$(git rev-parse HEAD) + previous_commit=$(git rev-parse HEAD~1) + + # Move HEAD to the previous commit + git reset --soft HEAD~2 + + # Stage the changes in storage_delta + git add storage_delta + + # Amend the previous commit + git commit --amend --no-edit + + # Force push the changes + git push --force origin HEAD:${{ github.head_ref || github.ref_name }} + + # Move HEAD back to the original commit + git cherry-pick $previous_commit + git cherry-pick $current_commit +