From a6c3cf76af7e675b8a12b96450a58a4d4cad65bf Mon Sep 17 00:00:00 2001 From: David Meister Date: Thu, 21 May 2026 06:43:51 +0000 Subject: [PATCH 1/4] feat: migrate from submodules to soldeer Replace the lib/rain.interpreter.interface submodule with a Soldeer dependency. Also pulls rain-math-float in as a Soldeer dep since the imports reference it directly. Forge build passes on the result. Adds publish-soldeer.yaml workflow so v* tags publish to Soldeer. --- .github/workflows/publish-soldeer.yaml | 9 +++++++++ .gitignore | 5 ++++- .gitmodules | 3 --- foundry.toml | 15 ++++++++++++--- lib/rain.interpreter.interface | 1 - remappings.txt | 3 +++ soldeer.lock | 20 ++++++++++++++++++++ src/interface/IRaindexV6.sol | 2 +- src/interface/deprecated/v4/IOrderBookV4.sol | 2 +- src/interface/deprecated/v5/IOrderBookV5.sol | 2 +- 10 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/publish-soldeer.yaml delete mode 100644 .gitmodules delete mode 160000 lib/rain.interpreter.interface create mode 100644 remappings.txt create mode 100644 soldeer.lock diff --git a/.github/workflows/publish-soldeer.yaml b/.github/workflows/publish-soldeer.yaml new file mode 100644 index 0000000..b57bdc2 --- /dev/null +++ b/.github/workflows/publish-soldeer.yaml @@ -0,0 +1,9 @@ +name: Publish to Soldeer +on: + push: + tags: + - "v*" +jobs: + publish: + uses: rainlanguage/rainix/.github/workflows/publish-soldeer.yaml@main + secrets: inherit diff --git a/.gitignore b/.gitignore index 7b33f59..5ae68ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ cache +dependencies out -.fixes \ No newline at end of file +.fixes +.env +.pre-commit-config.yaml diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 0072d20..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "lib/rain.interpreter.interface"] - path = lib/rain.interpreter.interface - url = https://github.com/rainlanguage/rain.interpreter.interface diff --git a/foundry.toml b/foundry.toml index 851f442..ab72efc 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,7 +1,7 @@ [profile.default] src = 'src' out = 'out' -libs = ['lib'] +libs = ['dependencies'] # See more config options https://github.com/foundry-rs/foundry/tree/master/config @@ -24,8 +24,17 @@ cbor_metadata = false evm_version = "cancun" remappings = [ - "rain.math.float/=lib/rain.interpreter.interface/lib/rain.math.float/src/" + "rain.interpreter.interface/=dependencies/rain-interpreter-interface-0.1.0/src/", + "rain.math.float/=dependencies/rain-math-float-0.1.1/src/", ] +[dependencies] +forge-std = "1.16.1" +rain-interpreter-interface = "0.1.0" +rain-math-float = "0.1.1" + +[soldeer] +recursive_deps = false + [fuzz] -runs = 2048 \ No newline at end of file +runs = 2048 diff --git a/lib/rain.interpreter.interface b/lib/rain.interpreter.interface deleted file mode 160000 index 5838655..0000000 --- a/lib/rain.interpreter.interface +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 58386557c270301d4eeaa0b101f2326b0cf4db68 diff --git a/remappings.txt b/remappings.txt new file mode 100644 index 0000000..047cd4a --- /dev/null +++ b/remappings.txt @@ -0,0 +1,3 @@ +forge-std-1.16.1/=dependencies/forge-std-1.16.1/ +rain-interpreter-interface-0.1.0/=dependencies/rain-interpreter-interface-0.1.0/ +rain-math-float-0.1.1/=dependencies/rain-math-float-0.1.1/ diff --git a/soldeer.lock b/soldeer.lock new file mode 100644 index 0000000..5caf483 --- /dev/null +++ b/soldeer.lock @@ -0,0 +1,20 @@ +[[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" + +[[dependencies]] +name = "rain-interpreter-interface" +version = "0.1.0" +url = "https://soldeer-revisions.s3.amazonaws.com/rain-interpreter-interface/0_1_0_12-05-2026_18:43:02_rain.interpreter.zip" +checksum = "887c4d5f1a87713c49f015b3fcdb295defbb495b126d15f9850c0ce72ef79639" +integrity = "c1b89f8a7ad02507ceb051b6c0f2750f6abe1ba99ffdfe1c9ac93905db90e75d" + +[[dependencies]] +name = "rain-math-float" +version = "0.1.1" +url = "https://soldeer-revisions.s3.amazonaws.com/rain-math-float/0_1_1_13-05-2026_13:48:34_rain.math.zip" +checksum = "322956f272ae3073ee02b0e7301b8834f08f2de62bcd6c309c44e946d7cd7056" +integrity = "dccdd4406a37db6af690872b805084a7dbe5211c57961a61ef083a7912ddbdc9" diff --git a/src/interface/IRaindexV6.sol b/src/interface/IRaindexV6.sol index 758404c..6360459 100644 --- a/src/interface/IRaindexV6.sol +++ b/src/interface/IRaindexV6.sol @@ -12,7 +12,7 @@ import { IInterpreterV4, //forge-lint: disable-next-line(unused-import) IInterpreterStoreV3 -} from "../../lib/rain.interpreter.interface/src/interface/IInterpreterCallerV4.sol"; +} from "rain.interpreter.interface/interface/IInterpreterCallerV4.sol"; /// Import unmodified structures from older versions of the Raindex interface. import { diff --git a/src/interface/deprecated/v4/IOrderBookV4.sol b/src/interface/deprecated/v4/IOrderBookV4.sol index 8d3b49d..3e9df21 100644 --- a/src/interface/deprecated/v4/IOrderBookV4.sol +++ b/src/interface/deprecated/v4/IOrderBookV4.sol @@ -11,7 +11,7 @@ import { IInterpreterV3, //forge-lint: disable-next-line(unused-import) IInterpreterStoreV2 -} from "../../../../lib/rain.interpreter.interface/src/interface/deprecated/v2/IInterpreterCallerV3.sol"; +} from "rain.interpreter.interface/interface/deprecated/v2/IInterpreterCallerV3.sol"; /// Import unmodified structures from older versions of `IOrderBook`. import {ClearStateChange, ClearConfig, IO} from "../v3/IOrderBookV3.sol"; diff --git a/src/interface/deprecated/v5/IOrderBookV5.sol b/src/interface/deprecated/v5/IOrderBookV5.sol index 8689efc..0981f38 100644 --- a/src/interface/deprecated/v5/IOrderBookV5.sol +++ b/src/interface/deprecated/v5/IOrderBookV5.sol @@ -11,7 +11,7 @@ import { IInterpreterV4, //forge-lint: disable-next-line(unused-import) IInterpreterStoreV3 -} from "../../../../lib/rain.interpreter.interface/src/interface/IInterpreterCallerV4.sol"; +} from "rain.interpreter.interface/interface/IInterpreterCallerV4.sol"; /// Import unmodified structures from older versions of `IOrderBook`. //forge-lint: disable-start(unused-import) From bff6a9716da95ce5097a3936d9281029ecb1aabf Mon Sep 17 00:00:00 2001 From: David Meister Date: Thu, 21 May 2026 06:52:34 +0000 Subject: [PATCH 2/4] chore: bump rainix to rainlanguage/rainix main + switch CI to reusable workflow --- .github/workflows/rainix.yaml | 46 ++---------- flake.lock | 131 ++++++++++++++++++++++++++-------- flake.nix | 19 ++--- 3 files changed, 118 insertions(+), 78 deletions(-) diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index 17487fe..612abd5 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -1,44 +1,6 @@ -name: Rainix CI +name: rainix on: [push] - jobs: - standard-tests: - 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 }} - DEPLOY_VERIFIER: '' - run: nix develop -c ${{ matrix.task }} \ No newline at end of file + rainix: + uses: rainlanguage/rainix/.github/workflows/rainix-sol.yaml@main + secrets: inherit diff --git a/flake.lock b/flake.lock index 133533e..c929fc9 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -75,11 +91,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1758705030, - "narHash": "sha256-zYM8PiEXANNrtjfyGUc7w37/D/kCynp0cQS+wCQ77GI=", + "lastModified": 1778486972, + "narHash": "sha256-iuy/TbK9AbghEld2VSFuxyAF30LkOGUUdtrvixLfE7M=", "owner": "shazow", "repo": "foundry.nix", - "rev": "b59a55014050110170023e3e1c277c1d4a2f055b", + "rev": "db117ae95a77b9ead24137c3ccb28896ae4fa4ec", "type": "github" }, "original": { @@ -88,6 +104,48 @@ "type": "github" } }, + "git-hooks-nix": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1778507602, + "narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "rainix", + "git-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1666753130, @@ -104,11 +162,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1758711836, - "narHash": "sha256-uBqPg7wNX2v6YUdTswH7wWU8wqb60cFZx0tHaWTGF30=", + "lastModified": 1770073757, + "narHash": "sha256-Vy+G+F+3E/Tl+GMNgiHl9Pah2DgShmIUBJXmbiQPHbI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47472570b1e607482890801aeaf29bfb749884f6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1778656924, + "narHash": "sha256-lKVrom9wOmpC3i7m+uBoGaBdW0PfH3QbLRG1XmuC6YA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46f97b78e825ae762c0224e3983c47687436a498", + "rev": "4ba039de0909446943c07e2b42bd2f0f4507072e", "type": "github" }, "original": { @@ -117,7 +191,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1744536153, "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", @@ -133,13 +207,13 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { - "lastModified": 1748662220, - "narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=", + "lastModified": 1777641297, + "narHash": "sha256-WNGcmeOZ8Tr9dq6ztCspYbzWFswr2mPebM9LpsfGxPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643", + "rev": "c6d65881c5624c9cae5ea6cedef24699b0c0a4c0", "type": "github" }, "original": { @@ -153,20 +227,21 @@ "inputs": { "flake-utils": "flake-utils_2", "foundry": "foundry", - "nixpkgs": "nixpkgs_2", + "git-hooks-nix": "git-hooks-nix", + "nixpkgs": "nixpkgs_3", "rust-overlay": "rust-overlay", "solc": "solc" }, "locked": { - "lastModified": 1758730752, - "narHash": "sha256-ZQ1INSsEWYgb1NdC5zo6nu1ObLzOCDI+wjiZ4222fQ8=", - "owner": "rainprotocol", + "lastModified": 1779209879, + "narHash": "sha256-9x9V41PmF1RQlM5R6SV6xbgVnP+qgW9mUyRC50RQ9G8=", + "owner": "rainlanguage", "repo": "rainix", - "rev": "cc7c9bbbd9b817aa3a6a5c994262e14fb0bc920c", + "rev": "d444279bc7346a6f4f7bd4a0b7f9900523b8f00e", "type": "github" }, "original": { - "owner": "rainprotocol", + "owner": "rainlanguage", "repo": "rainix", "type": "github" } @@ -179,14 +254,14 @@ }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1758681214, - "narHash": "sha256-8cW731vev6kfr58cILO2ZsjHwaPhm88dQ8Q6nTSjP9I=", + "lastModified": 1778642276, + "narHash": "sha256-bhk4lawR4ZnFhPtamB5WkCyvfgyZmsEUbWfT/3FRxFY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "b12ed88d8d33d4f3cbc842bf29fad93bb1437299", + "rev": "77265d2dc1e61b2abfd3b1d6609dbb66fe75e0a5", "type": "github" }, "original": { @@ -198,15 +273,15 @@ "solc": { "inputs": { "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "solc-macos-amd64-list-json": "solc-macos-amd64-list-json" }, "locked": { - "lastModified": 1756368702, - "narHash": "sha256-cqEHv7uCV0LibmQphyiXZ1+jYtGjMNb9Pae4tfcAcF8=", + "lastModified": 1777817996, + "narHash": "sha256-iI71iUhD7THLibl3w1JcQEhHmTwZMxChi70RTe33BAo=", "owner": "hellwolf", "repo": "solc.nix", - "rev": "d83e90df2fa8359a690f6baabf76099432193c3f", + "rev": "e3cf898cb804d5c0e5474b378a300fe8942e67d6", "type": "github" }, "original": { @@ -218,13 +293,13 @@ "solc-macos-amd64-list-json": { "flake": false, "locked": { - "narHash": "sha256-AvITkfpNYgCypXuLJyqco0li+unVw39BAfdOZvd/SPE=", + "narHash": "sha256-zzwwHA2qPotv7yp8mK7+y9BZhm7ytuFeCJVvKBBdBn4=", "type": "file", - "url": "https://github.com/argotorg/solc-bin/raw/26fc3fd/macosx-amd64/list.json" + "url": "https://github.com/argotorg/solc-bin/raw/902dfaf/macosx-amd64/list.json" }, "original": { "type": "file", - "url": "https://github.com/argotorg/solc-bin/raw/26fc3fd/macosx-amd64/list.json" + "url": "https://github.com/argotorg/solc-bin/raw/902dfaf/macosx-amd64/list.json" } }, "systems": { diff --git a/flake.nix b/flake.nix index fb24036..974f583 100644 --- a/flake.nix +++ b/flake.nix @@ -2,16 +2,19 @@ description = "Flake for development workflows."; inputs = { - rainix.url = "github:rainprotocol/rainix"; + rainix.url = "github:rainlanguage/rainix"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = {self, flake-utils, rainix }: - flake-utils.lib.eachDefaultSystem (system: - { - packages = rainix.packages.${system}; - devShells = rainix.devShells.${system}; - } - ); + outputs = + { + flake-utils, + rainix, + ... + }: + flake-utils.lib.eachDefaultSystem (system: { + packages = rainix.packages.${system}; + devShells = rainix.devShells.${system}; + }); } From b1f3f7b426c7af05a86d264342ac694fa8b2d3a2 Mon Sep 17 00:00:00 2001 From: David Meister Date: Thu, 21 May 2026 15:31:39 +0000 Subject: [PATCH 3/4] fix: appease reuse + slither in the bumped CI --- REUSE.toml | 28 +++++++++++++++------------- slither.config.json | 4 ++-- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/REUSE.toml b/REUSE.toml index 59cd08c..704eb07 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -2,19 +2,21 @@ version = 1 [[annotations]] path = [ - ".gas-snapshot", - ".github/workflows/**/", - ".gitignore", - ".gitmodules", - "CLAUDE.md", - "README.md", - "audit/**/", - "flake.lock", - "flake.nix", - "foundry.toml", - "slither.config.json", - "REUSE.toml", - "foundry.lock", + ".gas-snapshot", + ".github/workflows/**/", + ".gitignore", + ".gitmodules", + "CLAUDE.md", + "README.md", + "audit/**/", + "flake.lock", + "flake.nix", + "foundry.toml", + "slither.config.json", + "REUSE.toml", + "foundry.lock", + "remappings.txt", + "soldeer.lock", ] SPDX-FileCopyrightText = "Copyright (c) 2020 thedavidmeister" SPDX-License-Identifier = "LicenseRef-DCL-1.0" diff --git a/slither.config.json b/slither.config.json index 0b54370..0124090 100644 --- a/slither.config.json +++ b/slither.config.json @@ -1,4 +1,4 @@ { - "detectors_to_exclude": "assembly-usage,solc-version,unused-imports,pragma", - "filter_paths": "forge-std,openzeppelin,rain.math.float" + "detectors_to_exclude": "assembly-usage,solc-version,unused-imports,pragma,unindexed-event-address", + "filter_paths": "forge-std,openzeppelin,rain.math.float,dependencies" } From b7ffa9fcd4834c1c2470dbdba8b7fd2c241d2faa Mon Sep 17 00:00:00 2001 From: David Meister Date: Thu, 21 May 2026 15:45:19 +0000 Subject: [PATCH 4/4] fix: forge fmt the rewrited imports The relative-path -> remapped-path import rewrites in the soldeer migration commit left a few lines unformatted by forges default style. Re-running forge fmt cleans 5 files. --- src/interface/IRaindexV6.sol | 4 ++++ src/interface/deprecated/v3/IOrderBookV3.sol | 4 +--- src/interface/deprecated/v4/IOrderBookV4.sol | 11 ++++------- src/interface/deprecated/v5/IOrderBookV5.sol | 2 ++ .../deprecated/v5/IOrderBookV5ArbOrderTaker.sol | 5 ++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/interface/IRaindexV6.sol b/src/interface/IRaindexV6.sol index 6360459..9209f8c 100644 --- a/src/interface/IRaindexV6.sol +++ b/src/interface/IRaindexV6.sol @@ -6,10 +6,13 @@ import {IERC3156FlashLender} from "./ierc3156/IERC3156FlashLender.sol"; import { IInterpreterCallerV4, SignedContextV1, + //forge-lint: disable-next-line(unused-import) EvaluableV4, + //forge-lint: disable-next-line(unused-import) IInterpreterV4, + //forge-lint: disable-next-line(unused-import) IInterpreterStoreV3 } from "rain.interpreter.interface/interface/IInterpreterCallerV4.sol"; @@ -19,6 +22,7 @@ import { ClearStateChangeV2, ClearConfigV2, TaskV2, + //forge-lint: disable-next-line(unused-import) IOV2, OrderConfigV4, diff --git a/src/interface/deprecated/v3/IOrderBookV3.sol b/src/interface/deprecated/v3/IOrderBookV3.sol index 30c7ec1..56e4d06 100644 --- a/src/interface/deprecated/v3/IOrderBookV3.sol +++ b/src/interface/deprecated/v3/IOrderBookV3.sol @@ -495,9 +495,7 @@ interface IOrderBookV3 is IERC3156FlashLender, IInterpreterCallerV2 { /// vaults processed. /// @return totalOutput Total tokens taken from `msg.sender` and distributed /// between vaults. - function takeOrders(TakeOrdersConfigV2 calldata config) - external - returns (uint256 totalInput, uint256 totalOutput); + function takeOrders(TakeOrdersConfigV2 calldata config) external returns (uint256 totalInput, uint256 totalOutput); /// Allows `msg.sender` to match two live orders placed earlier by /// non-interactive parties and claim a bounty in the process. The clearer is diff --git a/src/interface/deprecated/v4/IOrderBookV4.sol b/src/interface/deprecated/v4/IOrderBookV4.sol index 3e9df21..d8b13c0 100644 --- a/src/interface/deprecated/v4/IOrderBookV4.sol +++ b/src/interface/deprecated/v4/IOrderBookV4.sol @@ -7,8 +7,10 @@ import { EvaluableV3, IInterpreterCallerV3, SignedContextV1, + //forge-lint: disable-next-line(unused-import) IInterpreterV3, + //forge-lint: disable-next-line(unused-import) IInterpreterStoreV2 } from "rain.interpreter.interface/interface/deprecated/v2/IInterpreterCallerV3.sol"; @@ -475,10 +477,7 @@ interface IOrderBookV4 is IERC3156FlashLender, IInterpreterCallerV3 { /// Is `0` if the order does not exist. /// @return ioRatio The input:output ratio of the order. Is `0` if the order /// does not exist. - function quote(Quote calldata quoteConfig) - external - view - returns (bool exists, uint256 outputMax, uint256 ioRatio); + function quote(Quote calldata quoteConfig) external view returns (bool exists, uint256 outputMax, uint256 ioRatio); /// Given an order config, deploys the expression and builds the full `Order` /// for the config, then records it as an active order. Delegated adding an @@ -560,9 +559,7 @@ interface IOrderBookV4 is IERC3156FlashLender, IInterpreterCallerV3 { /// vaults processed. /// @return totalOutput Total tokens taken from `msg.sender` and distributed /// between vaults. - function takeOrders2(TakeOrdersConfigV3 calldata config) - external - returns (uint256 totalInput, uint256 totalOutput); + function takeOrders2(TakeOrdersConfigV3 calldata config) external returns (uint256 totalInput, uint256 totalOutput); /// Allows `msg.sender` to match two live orders placed earlier by /// non-interactive parties and claim a bounty in the process. The clearer is diff --git a/src/interface/deprecated/v5/IOrderBookV5.sol b/src/interface/deprecated/v5/IOrderBookV5.sol index 0981f38..bc8fd3f 100644 --- a/src/interface/deprecated/v5/IOrderBookV5.sol +++ b/src/interface/deprecated/v5/IOrderBookV5.sol @@ -7,8 +7,10 @@ import { EvaluableV4, IInterpreterCallerV4, SignedContextV1, + //forge-lint: disable-next-line(unused-import) IInterpreterV4, + //forge-lint: disable-next-line(unused-import) IInterpreterStoreV3 } from "rain.interpreter.interface/interface/IInterpreterCallerV4.sol"; diff --git a/src/interface/deprecated/v5/IOrderBookV5ArbOrderTaker.sol b/src/interface/deprecated/v5/IOrderBookV5ArbOrderTaker.sol index 02bb271..90835b7 100644 --- a/src/interface/deprecated/v5/IOrderBookV5ArbOrderTaker.sol +++ b/src/interface/deprecated/v5/IOrderBookV5ArbOrderTaker.sol @@ -7,6 +7,7 @@ import { TakeOrdersConfigV4, IOrderBookV5, TaskV2, + //forge-lint: disable-next-line(unused-import) EvaluableV4 } from "./IOrderBookV5.sol"; @@ -22,7 +23,5 @@ interface IOrderBookV5ArbOrderTaker is IOrderBookV5OrderTaker { /// @param orderBook The orderbook to arb against. /// @param takeOrders Config for the orders to take. /// @param task Post-arb task to evaluate. - function arb4(IOrderBookV5 orderBook, TakeOrdersConfigV4 calldata takeOrders, TaskV2 calldata task) - external - payable; + function arb4(IOrderBookV5 orderBook, TakeOrdersConfigV4 calldata takeOrders, TaskV2 calldata task) external payable; }