From 1f1ab4ef60b98dd1006781d513f8d039929cb5a6 Mon Sep 17 00:00:00 2001 From: sakuyacatcat Date: Sat, 4 Nov 2023 23:55:11 +0900 Subject: [PATCH] feat: #27 Add Unit Test CI to `packages/contracts` - Add 'test' command to the Makefile - Add a unit test step to the contracts' CI - Fix compiler warnings - Change the job name in contracts CI --- .github/workflows/contracts-ci.yaml | 8 +++++++- packages/contracts/Makefile | 3 +++ packages/contracts/src/managers/ZKEIP1271Manager.sol | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/contracts-ci.yaml b/.github/workflows/contracts-ci.yaml index 3e6d0ad..0171749 100644 --- a/.github/workflows/contracts-ci.yaml +++ b/.github/workflows/contracts-ci.yaml @@ -1,12 +1,15 @@ name: Contracts CI on: + push: + paths: + - 'packages/contracts/**/*.sol' pull_request: paths: - 'packages/contracts/**/*.sol' jobs: - format: + contracts: runs-on: ubuntu-latest defaults: run: @@ -21,3 +24,6 @@ jobs: - name: Check Solidity formatting id: format run: make format_check + + - name: Execute Unit Test + run: make test diff --git a/packages/contracts/Makefile b/packages/contracts/Makefile index bcef3e4..564229a 100644 --- a/packages/contracts/Makefile +++ b/packages/contracts/Makefile @@ -8,6 +8,9 @@ format: format_check: forge fmt --check --root $(ROOT_DIR) +.PHONY: test +test: + forge test --root $(ROOT_DIR) setup: node ./script/circom-verifier-setup.js diff --git a/packages/contracts/src/managers/ZKEIP1271Manager.sol b/packages/contracts/src/managers/ZKEIP1271Manager.sol index 7b748ec..5f927a3 100644 --- a/packages/contracts/src/managers/ZKEIP1271Manager.sol +++ b/packages/contracts/src/managers/ZKEIP1271Manager.sol @@ -21,7 +21,7 @@ abstract contract ZKEIP1271Manager is ZKAuth, ZKOwnerManager { * @param signature Signature of the data * @return magicValue Magic value if the signature is valid or invalid id / invalid time range */ - function isValidSignature(bytes32 hash, bytes calldata signature) external view returns (bytes4 magicValue) { + function isValidSignature(bytes32 hash, bytes calldata signature) external pure returns (bytes4 magicValue) { // todo (hash, signature); return _INVALID_ID; @@ -36,7 +36,7 @@ abstract contract ZKEIP1271Manager is ZKAuth, ZKOwnerManager { */ function _isValidSignature(bytes32 hash, bytes calldata signature) internal - view + pure returns (uint256 validationData, bool isValid) { // todo