diff --git a/.github/workflows/publish-soldeer.yaml b/.github/workflows/publish-soldeer.yaml new file mode 100644 index 0000000..066aa41 --- /dev/null +++ b/.github/workflows/publish-soldeer.yaml @@ -0,0 +1,8 @@ +name: Publish to Soldeer +on: + push: + tags: ["v*"] +jobs: + publish: + uses: rainlanguage/rainix/.github/workflows/publish-soldeer.yaml@main + secrets: inherit diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index 7c4695c..827ab30 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -1,43 +1,6 @@ -name: Rainix CI +name: rainix-sol on: [push] - jobs: - rainix: - strategy: - matrix: - os: [ubuntu-latest] - task: [rainix-sol-test, rainix-sol-static, rainix-sol-legal] - fail-fast: false - runs-on: ${{ matrix.os }} - env: - DEPLOYMENT_KEY: ${{ github.ref == 'refs/heads/main' && secrets.PRIVATE_KEY || secrets.PRIVATE_KEY_DEV }} - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - fetch-depth: 0 - - - uses: nixbuild/nix-quick-install-action@v30 - with: - nix_conf: | - keep-env-derivations = true - keep-outputs = true - - name: Restore and save Nix store - uses: nix-community/cache-nix-action@v6 - with: - # restore and save a cache using this key - primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} - # if there's no cache hit, restore a cache by this prefix - restore-prefixes-first-match: nix-${{ runner.os }}- - # collect garbage until the Nix store size (in bytes) is at most this number - # before trying to save a new cache - # 1G = 1073741824 - gc-max-store-size-linux: 1G - - - run: nix develop -c rainix-sol-prelude - - name: Run ${{ matrix.task }} - env: - ETH_RPC_URL: ${{ secrets.CI_DEPLOY_RPC_URL }} - ETHERSCAN_API_KEY: ${{ secrets.EXPLORER_VERIFICATION_KEY }} - RPC_URL_FLARE_FORK: ${{ secrets.RPC_URL_FLARE_FORK }} - run: nix develop -c ${{ matrix.task }} \ No newline at end of file + rainix-sol: + uses: rainlanguage/rainix/.github/workflows/rainix-sol.yaml@main + secrets: inherit diff --git a/.gitignore b/.gitignore index 668aefc..1d00391 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ cache -out \ No newline at end of file +out +dependencies \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 888d42d..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "lib/forge-std"] - path = lib/forge-std - url = https://github.com/foundry-rs/forge-std diff --git a/.soldeerignore b/.soldeerignore new file mode 100644 index 0000000..e6669e8 --- /dev/null +++ b/.soldeerignore @@ -0,0 +1,28 @@ +.DS_Store +.cargo +.coderabbit.yaml +.devcontainer.json +.envrc +.gas-snapshot +.git +.github +.gitignore +.gitmodules +.pre-commit-config.yaml +.prettierignore +.soldeerignore +.vscode +CLAUDE.md +/audit +/cache +/dependencies +/flake.lock +/flake.nix +/foundry.lock +/foundry.toml +/lib +/out +/remappings.txt +/slither.config.json +/soldeer.lock +/REUSE.toml diff --git a/REUSE.toml b/REUSE.toml index ba14949..c75c80f 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -5,14 +5,15 @@ path = [ ".github/workflows/**/", ".gas-snapshot", ".gitignore", - ".gitmodules", + ".soldeerignore", "audit/**/", "README.md", "flake.lock", "flake.nix", "foundry.toml", + "remappings.txt", "slither.config.json", - "foundry.lock", + "soldeer.lock", ] SPDX-FileCopyrightText = "Copyright (c) 2020 Rain Open Source Software Ltd" SPDX-License-Identifier = "LicenseRef-DCL-1.0" diff --git a/foundry.lock b/foundry.lock deleted file mode 100644 index eb03d76..0000000 --- a/foundry.lock +++ /dev/null @@ -1,5 +0,0 @@ -{ - "lib/forge-std": { - "rev": "1801b0541f4fda118a10798fd3486bb7051c5dd6" - } -} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index 9928ae6..e4a7620 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,4 +1,5 @@ [profile.default] +libs = ['dependencies'] # See more config options https://github.com/foundry-rs/foundry/tree/master/config @@ -10,4 +11,10 @@ optimizer_runs = 100000 evm_version = "cancun" bytecode_hash = "none" -cbor_metadata = false \ No newline at end of file +cbor_metadata = false + +[dependencies] +forge-std = "1.16.1" + +[soldeer] +recursive_deps = false diff --git a/lib/forge-std b/lib/forge-std deleted file mode 160000 index 1801b05..0000000 --- a/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1801b0541f4fda118a10798fd3486bb7051c5dd6 diff --git a/remappings.txt b/remappings.txt new file mode 100644 index 0000000..f4f4742 --- /dev/null +++ b/remappings.txt @@ -0,0 +1 @@ +forge-std-1.16.1/=dependencies/forge-std-1.16.1/ diff --git a/soldeer.lock b/soldeer.lock new file mode 100644 index 0000000..e9184e4 --- /dev/null +++ b/soldeer.lock @@ -0,0 +1,6 @@ +[[dependencies]] +name = "forge-std" +version = "1.16.1" +url = "https://soldeer-revisions.s3.amazonaws.com/forge-std/1_16_1_08-05-2026_08:51:16_forge-std-1.16.zip" +checksum = "839b61832925c7152c7b6dffbfa4998d9e606211179bd8f604733124e8a7cb57" +integrity = "60e55d10150354ca4a1e2985c5456c834b92b82ef85ab0e1d92a7786cddbd219" diff --git a/test/src/concrete/VerifyAlwaysApproved.accountStatusAtTime.t.sol b/test/src/concrete/VerifyAlwaysApproved.accountStatusAtTime.t.sol index ff84e89..d2c3005 100644 --- a/test/src/concrete/VerifyAlwaysApproved.accountStatusAtTime.t.sol +++ b/test/src/concrete/VerifyAlwaysApproved.accountStatusAtTime.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test} from "forge-std/Test.sol"; +import {Test} from "forge-std-1.16.1/src/Test.sol"; import {VerifyAlwaysApproved} from "src/concrete/VerifyAlwaysApproved.sol"; import {VerifyStatus, VERIFY_STATUS_APPROVED} from "src/interface/IVerifyV1.sol";