diff --git a/.github/workflows/pr-assessment.yaml b/.github/workflows/pr-assessment.yaml index 71c5461..18e484f 100644 --- a/.github/workflows/pr-assessment.yaml +++ b/.github/workflows/pr-assessment.yaml @@ -3,7 +3,6 @@ on: pull_request: types: - closed - jobs: assess-pr-size-on-merge: uses: rainlanguage/github-chore/.github/workflows/pr-assessment.yml@main diff --git a/foundry.toml b/foundry.toml index 88f3184..d9b2917 100644 --- a/foundry.toml +++ b/foundry.toml @@ -15,10 +15,10 @@ evm_version = "cancun" fuzz.runs = 1024 [dependencies] -forge-std = "1.16.1" -"@openzeppelin-contracts" = "5.6.1" +forge-std = "1.17.0" +"@openzeppelin-contracts" = "5.7.0" "rain-math-saturating" = "0.1.10" -"rain-string" = "0.2.0" +"rain-string" = "0.3.9" [soldeer] recursive_deps = false diff --git a/remappings.txt b/remappings.txt index 80b3f8d..b0ee899 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,4 +1,4 @@ -@openzeppelin-contracts-5.6.1/=dependencies/@openzeppelin-contracts-5.6.1/ -forge-std-1.16.1/=dependencies/forge-std-1.16.1/ +@openzeppelin-contracts-5.7.0/=dependencies/@openzeppelin-contracts-5.7.0/ +forge-std-1.17.0/=dependencies/forge-std-1.17.0/ rain-math-saturating-0.1.10/=dependencies/rain-math-saturating-0.1.10/ -rain-string-0.2.0/=dependencies/rain-string-0.2.0/ +rain-string-0.3.9/=dependencies/rain-string-0.3.9/ diff --git a/soldeer.lock b/soldeer.lock index b3ac1b5..449b490 100644 --- a/soldeer.lock +++ b/soldeer.lock @@ -1,16 +1,16 @@ [[dependencies]] name = "@openzeppelin-contracts" -version = "5.6.1" -url = "https://soldeer-revisions.s3.amazonaws.com/@openzeppelin-contracts/5_6_1_15-03-2026_09:19:50_contracts.zip" -checksum = "a3b6bc661be858c7c27f60a1708cbebe8c71034b4cc1e9fe270d0a05b069352f" -integrity = "bce03af7ada1eee21a7fff393f238bcd7cd75a022a4db55ffb6b0dbb32433d35" +version = "5.7.0" +url = "https://soldeer-revisions.s3.amazonaws.com/@openzeppelin-contracts/5_7_0_29-07-2026_19:34:46_contracts.zip" +checksum = "fe08a24bc34334b2976c6ad69a0d74bdfa63de8a5c8528579060f25a11fb5cd5" +integrity = "3e13bc4d96bdef6e35f6b1e0dc0e455843a958edc597750dff20ca50295b767d" [[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" +version = "1.17.0" +url = "https://soldeer-revisions.s3.amazonaws.com/forge-std/1_17_0_01-10-2026_10:59:49_forge-std-1.17.zip" +checksum = "a77ad38d5fbef0ec10d1f4d191698e5fbaa2bffbee5d1aced91a39da5e9b908c" +integrity = "fa706c8a7caf3426c90f75e6aafa3224b0a6c899b490800cf6944e4ec42f9344" [[dependencies]] name = "rain-math-saturating" @@ -21,7 +21,7 @@ integrity = "c45986d57624470fd89d5ceaab94f8a1ae575f159a50e21d66eef2eb755bfceb" [[dependencies]] name = "rain-string" -version = "0.2.0" -url = "https://soldeer-revisions.s3.amazonaws.com/rain-string/0_2_0_09-05-2026_21:16:31_rain.zip" -checksum = "847b9366128c5dcc5849c6938ae7ac92561ed8185bf304f1b1eb9ef59d77954e" -integrity = "7cb6ee638b59b840ea59e014e2610fdccc30a1593e763590e298314f00700561" +version = "0.3.9" +url = "https://soldeer-revisions.s3.amazonaws.com/rain-string/0_3_9_25-08-2026_10:18:31_rain.zip" +checksum = "fbeecc1f85d4449728c600abe78667db8367df5c391591195fe3bfc6bffd868e" +integrity = "898116147f72443a8c34315abbeb9906d8a4665fdcbb39e6ad70ddd84354db53" diff --git a/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol b/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol index 2ddb1dd..ba786c1 100644 --- a/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol +++ b/src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity ^0.8.25; -import {Math} from "@openzeppelin-contracts-5.6.1/utils/math/Math.sol"; +import {Math} from "@openzeppelin-contracts-5.7.0/utils/math/Math.sol"; import {FIXED_POINT_ONE} from "./FixedPointDecimalConstants.sol"; diff --git a/src/lib/LibFixedPointDecimalStrings.sol b/src/lib/LibFixedPointDecimalStrings.sol index 78760b5..366524a 100644 --- a/src/lib/LibFixedPointDecimalStrings.sol +++ b/src/lib/LibFixedPointDecimalStrings.sol @@ -7,12 +7,12 @@ pragma solidity ^0.8.25; import {FIXED_POINT_ONE} from "./FixedPointDecimalConstants.sol"; // Exported for convenience. //forge-lint: disable-next-line(unused-import) -import {Strings} from "@openzeppelin-contracts-5.6.1/utils/Strings.sol"; +import {Strings} from "@openzeppelin-contracts-5.7.0/utils/Strings.sol"; // Exported for convenience. //forge-lint: disable-next-line(unused-import) -import {LibParseChar} from "rain-string-0.2.0/src/lib/parse/LibParseChar.sol"; +import {LibParseChar} from "rain-string-0.3.9/src/lib/parse/LibParseChar.sol"; // Exported for convenience. //forge-lint: disable-next-line(unused-import) -import {CMASK_NUMERIC_0_9, CMASK_DECIMAL_POINT} from "rain-string-0.2.0/src/lib/parse/LibParseCMask.sol"; +import {CMASK_NUMERIC_0_9, CMASK_DECIMAL_POINT} from "rain-string-0.3.9/src/lib/parse/LibParseCMask.sol"; library LibFixedPointDecimalStrings {} diff --git a/src/lib/format/LibFixedPointDecimalFormat.sol b/src/lib/format/LibFixedPointDecimalFormat.sol index 5bf761f..aa94605 100644 --- a/src/lib/format/LibFixedPointDecimalFormat.sol +++ b/src/lib/format/LibFixedPointDecimalFormat.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.25; import {FIXED_POINT_ONE} from "../FixedPointDecimalConstants.sol"; -import {Strings} from "@openzeppelin-contracts-5.6.1/utils/Strings.sol"; +import {Strings} from "@openzeppelin-contracts-5.7.0/utils/Strings.sol"; library LibFixedPointDecimalFormat { /// @notice Convert a fixed point decimal to a string representation. diff --git a/src/lib/parse/LibFixedPointDecimalParse.sol b/src/lib/parse/LibFixedPointDecimalParse.sol index eeb733d..9d8bfb8 100644 --- a/src/lib/parse/LibFixedPointDecimalParse.sol +++ b/src/lib/parse/LibFixedPointDecimalParse.sol @@ -4,10 +4,10 @@ pragma solidity ^0.8.25; import {FIXED_POINT_ONE} from "../FixedPointDecimalConstants.sol"; import {ParseDecimalPrecisionLoss, ParseDecimalInvalidString} from "../../error/ErrParse.sol"; -import {LibParseDecimal} from "rain-string-0.2.0/src/lib/parse/LibParseDecimal.sol"; -import {CMASK_NUMERIC_0_9, CMASK_DECIMAL_POINT, CMASK_ZERO} from "rain-string-0.2.0/src/lib/parse/LibParseCMask.sol"; -import {LibParseChar} from "rain-string-0.2.0/src/lib/parse/LibParseChar.sol"; -import {ParseDecimalOverflow} from "rain-string-0.2.0/src/error/ErrParse.sol"; +import {LibParseDecimal} from "rain-string-0.3.9/src/lib/parse/LibParseDecimal.sol"; +import {CMASK_NUMERIC_0_9, CMASK_DECIMAL_POINT, CMASK_ZERO} from "rain-string-0.3.9/src/lib/parse/LibParseCMask.sol"; +import {LibParseChar} from "rain-string-0.3.9/src/lib/parse/LibParseChar.sol"; +import {ParseDecimalOverflow} from "rain-string-0.3.9/src/error/ErrParse.sol"; library LibFixedPointDecimalParse { /// Converts a decimal string to a fixed point decimal. Returns error diff --git a/test/src/lib/FixedPointDecimalArithmeticOpenZeppelin.t.sol b/test/src/lib/FixedPointDecimalArithmeticOpenZeppelin.t.sol index 992e963..bccefe3 100644 --- a/test/src/lib/FixedPointDecimalArithmeticOpenZeppelin.t.sol +++ b/test/src/lib/FixedPointDecimalArithmeticOpenZeppelin.t.sol @@ -2,8 +2,8 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test} from "forge-std-1.16.1/src/Test.sol"; -import {Math} from "@openzeppelin-contracts-5.6.1/utils/math/Math.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; +import {Math} from "@openzeppelin-contracts-5.7.0/utils/math/Math.sol"; import {LibFixedPointDecimalArithmeticOpenZeppelin} from "src/lib/LibFixedPointDecimalArithmeticOpenZeppelin.sol"; import {LibWillOverflow} from "src/lib/LibWillOverflow.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.decimalOrIntToInt.t.sol b/test/src/lib/FixedPointDecimalScale.decimalOrIntToInt.t.sol index b9b9459..6c7744c 100644 --- a/test/src/lib/FixedPointDecimalScale.decimalOrIntToInt.t.sol +++ b/test/src/lib/FixedPointDecimalScale.decimalOrIntToInt.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-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {DECIMAL_MAX_SAFE_INT, FIXED_POINT_ONE} from "src/lib/FixedPointDecimalConstants.sol"; import {IntegerOverflow, ErrScaleDownPrecisionLoss} from "src/error/ErrScale.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.scale18.t.sol b/test/src/lib/FixedPointDecimalScale.scale18.t.sol index ee66785..f13977a 100644 --- a/test/src/lib/FixedPointDecimalScale.scale18.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scale18.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test, stdError} from "forge-std-1.16.1/src/Test.sol"; +import {Test, stdError} from "forge-std-1.17.0/src/Test.sol"; import {LibWillOverflow, FLAG_MAX_INT} from "src/lib/LibWillOverflow.sol"; import { LibFixedPointDecimalScale, diff --git a/test/src/lib/FixedPointDecimalScale.scaleBy.t.sol b/test/src/lib/FixedPointDecimalScale.scaleBy.t.sol index 258f582..e84baab 100644 --- a/test/src/lib/FixedPointDecimalScale.scaleBy.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scaleBy.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test, stdError, stdMath} from "forge-std-1.16.1/src/Test.sol"; +import {Test, stdError, stdMath} from "forge-std-1.17.0/src/Test.sol"; import {FLAG_MAX_INT, FLAG_ROUND_UP, FLAG_SATURATE, LibWillOverflow} from "src/lib/LibWillOverflow.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {LibFixedPointDecimalScaleSlow} from "test/lib/LibFixedPointDecimalScaleSlow.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.scaleDown.t.sol b/test/src/lib/FixedPointDecimalScale.scaleDown.t.sol index 767ee61..fc4eceb 100644 --- a/test/src/lib/FixedPointDecimalScale.scaleDown.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scaleDown.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-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {LibWillOverflow, OVERFLOW_RESCALE_OOMS} from "src/lib/LibWillOverflow.sol"; import {LibFixedPointDecimalScaleSlow} from "test/lib/LibFixedPointDecimalScaleSlow.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.scaleDownRoundUp.t.sol b/test/src/lib/FixedPointDecimalScale.scaleDownRoundUp.t.sol index d586f95..85ae0e1 100644 --- a/test/src/lib/FixedPointDecimalScale.scaleDownRoundUp.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scaleDownRoundUp.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-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {OVERFLOW_RESCALE_OOMS} from "src/lib/LibWillOverflow.sol"; import {LibFixedPointDecimalScaleSlow} from "test/lib/LibFixedPointDecimalScaleSlow.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.scaleToIntegerLossless.t.sol b/test/src/lib/FixedPointDecimalScale.scaleToIntegerLossless.t.sol index 39f2be8..a291415 100644 --- a/test/src/lib/FixedPointDecimalScale.scaleToIntegerLossless.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scaleToIntegerLossless.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-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {ErrScaleDownPrecisionLoss} from "src/error/ErrScale.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.scaleUp.t.sol b/test/src/lib/FixedPointDecimalScale.scaleUp.t.sol index 8f257a9..8583e93 100644 --- a/test/src/lib/FixedPointDecimalScale.scaleUp.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scaleUp.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test, stdError} from "forge-std-1.16.1/src/Test.sol"; +import {Test, stdError} from "forge-std-1.17.0/src/Test.sol"; import {LibWillOverflow, OVERFLOW_RESCALE_OOMS} from "src/lib/LibWillOverflow.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {LibFixedPointDecimalScaleSlow} from "test/lib/LibFixedPointDecimalScaleSlow.sol"; diff --git a/test/src/lib/FixedPointDecimalScale.scaleUpSaturating.t.sol b/test/src/lib/FixedPointDecimalScale.scaleUpSaturating.t.sol index 635d696..240db07 100644 --- a/test/src/lib/FixedPointDecimalScale.scaleUpSaturating.t.sol +++ b/test/src/lib/FixedPointDecimalScale.scaleUpSaturating.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-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibWillOverflow} from "src/lib/LibWillOverflow.sol"; import {LibFixedPointDecimalScale} from "src/lib/LibFixedPointDecimalScale.sol"; import {LibFixedPointDecimalScaleSlow} from "test/lib/LibFixedPointDecimalScaleSlow.sol"; diff --git a/test/src/lib/FixedPointDecimalScaleN.t.sol b/test/src/lib/FixedPointDecimalScaleN.t.sol index 2f9a98e..db356c0 100644 --- a/test/src/lib/FixedPointDecimalScaleN.t.sol +++ b/test/src/lib/FixedPointDecimalScaleN.t.sol @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test, stdError} from "forge-std-1.16.1/src/Test.sol"; +import {Test, stdError} from "forge-std-1.17.0/src/Test.sol"; import {LibWillOverflow, FLAG_MAX_INT, FLAG_SATURATE, FLAG_ROUND_UP} from "src/lib/LibWillOverflow.sol"; import {LibFixedPointDecimalScale, FIXED_POINT_DECIMALS} from "src/lib/LibFixedPointDecimalScale.sol"; import {LibFixedPointDecimalScaleSlow} from "test/lib/LibFixedPointDecimalScaleSlow.sol"; diff --git a/test/src/lib/format/LibFixedPointDecimalFormat.fixedPointToDecimalString.t.sol b/test/src/lib/format/LibFixedPointDecimalFormat.fixedPointToDecimalString.t.sol index a993a1e..878b658 100644 --- a/test/src/lib/format/LibFixedPointDecimalFormat.fixedPointToDecimalString.t.sol +++ b/test/src/lib/format/LibFixedPointDecimalFormat.fixedPointToDecimalString.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-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibFixedPointDecimalParse} from "src/lib/parse/LibFixedPointDecimalParse.sol"; import {LibFixedPointDecimalFormat} from "src/lib/format/LibFixedPointDecimalFormat.sol"; diff --git a/test/src/lib/parse/LibFixedPointDecimalParse.decimalStringToFixedPoint.t.sol b/test/src/lib/parse/LibFixedPointDecimalParse.decimalStringToFixedPoint.t.sol index fbec331..6e04e22 100644 --- a/test/src/lib/parse/LibFixedPointDecimalParse.decimalStringToFixedPoint.t.sol +++ b/test/src/lib/parse/LibFixedPointDecimalParse.decimalStringToFixedPoint.t.sol @@ -2,11 +2,11 @@ // SPDX-FileCopyrightText: Copyright (c) 2020 Rain Open Source Software Ltd pragma solidity =0.8.25; -import {Test} from "forge-std-1.16.1/src/Test.sol"; +import {Test} from "forge-std-1.17.0/src/Test.sol"; import {LibFixedPointDecimalParse} from "src/lib/parse/LibFixedPointDecimalParse.sol"; import {ParseDecimalInvalidString, ParseDecimalPrecisionLoss} from "src/error/ErrParse.sol"; -import {ParseEmptyDecimalString, ParseDecimalOverflow} from "rain-string-0.2.0/src/error/ErrParse.sol"; +import {ParseEmptyDecimalString, ParseDecimalOverflow} from "rain-string-0.3.9/src/error/ErrParse.sol"; contract LibFixedPointDecimalParseTest is Test { function checkDecimalStringToFixedPoint(string memory value, uint256 expected) internal pure {