From 24f410f1f7e0435913104f93a78c0ec9dcb4db74 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:20:14 +0400 Subject: [PATCH 01/12] bump nix --- flake.lock | 59 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 894a168..b88de52 100644 --- a/flake.lock +++ b/flake.lock @@ -75,11 +75,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1758705030, - "narHash": "sha256-zYM8PiEXANNrtjfyGUc7w37/D/kCynp0cQS+wCQ77GI=", + "lastModified": 1769324704, + "narHash": "sha256-aef15vEgiMEls1hTMt46rJuKNSO2cIOfiP99patq9yc=", "owner": "shazow", "repo": "foundry.nix", - "rev": "b59a55014050110170023e3e1c277c1d4a2f055b", + "rev": "e830409ba1bdecdc5ef9a1ec92660fc2da9bc68d", "type": "github" }, "original": { @@ -102,13 +102,29 @@ "type": "indirect" } }, + "nixpkgs-old": { + "locked": { + "lastModified": 1749104371, + "narHash": "sha256-m2NmOPd6XgBiskmUq/BS9Xxuf3z0ebnGVfSKNAO5NEM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "48975d7f9b9960ed33c4e8561bcce20cc0c2de5b", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "48975d7f9b9960ed33c4e8561bcce20cc0c2de5b", + "type": "github" + } + }, "nixpkgs_2": { "locked": { - "lastModified": 1758711836, - "narHash": "sha256-uBqPg7wNX2v6YUdTswH7wWU8wqb60cFZx0tHaWTGF30=", + "lastModified": 1769364508, + "narHash": "sha256-Wy8EVYSLq5Fb/rYH3LRxAMCnW75f9hOg2562AXVFmPk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "46f97b78e825ae762c0224e3983c47687436a498", + "rev": "6077bc4fb29be43d525984f63b69d37b9b1e62fe", "type": "github" }, "original": { @@ -135,11 +151,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1748662220, - "narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=", + "lastModified": 1766653575, + "narHash": "sha256-TPgxCS7+hWc4kPhzkU5dD2M5UuPhLuuaMNZ/IpwKQvI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643", + "rev": "3c1016e6acd16ad96053116d0d3043029c9e2649", "type": "github" }, "original": { @@ -154,15 +170,16 @@ "flake-utils": "flake-utils_2", "foundry": "foundry", "nixpkgs": "nixpkgs_2", + "nixpkgs-old": "nixpkgs-old", "rust-overlay": "rust-overlay", "solc": "solc" }, "locked": { - "lastModified": 1760460761, - "narHash": "sha256-IHvwnmphDaOyZnzvObwOoDQlA9nzym2ZUxe9K/5vs0U=", + "lastModified": 1770274701, + "narHash": "sha256-00kymonJVHUtCBBaXMqmVF3b78dtDdXJg8K7P2U9lbA=", "owner": "rainprotocol", "repo": "rainix", - "rev": "add0d8a1fd76ce0e65b962c952e9252257876465", + "rev": "51c1c74a0e6bc5c49336b02ef97684d01e1e8ad4", "type": "github" }, "original": { @@ -182,11 +199,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1758681214, - "narHash": "sha256-8cW731vev6kfr58cILO2ZsjHwaPhm88dQ8Q6nTSjP9I=", + "lastModified": 1769309768, + "narHash": "sha256-AbOIlNO+JoqRJkK1VrnDXhxuX6CrdtIu2hSuy4pxi3g=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "b12ed88d8d33d4f3cbc842bf29fad93bb1437299", + "rev": "140c9dc582cb73ada2d63a2180524fcaa744fad5", "type": "github" }, "original": { @@ -202,11 +219,11 @@ "solc-macos-amd64-list-json": "solc-macos-amd64-list-json" }, "locked": { - "lastModified": 1756368702, - "narHash": "sha256-cqEHv7uCV0LibmQphyiXZ1+jYtGjMNb9Pae4tfcAcF8=", + "lastModified": 1768831671, + "narHash": "sha256-0mmlYRtZK+eomevkQCCH7PL8QlSuALZQsjLroCWGE08=", "owner": "hellwolf", "repo": "solc.nix", - "rev": "d83e90df2fa8359a690f6baabf76099432193c3f", + "rev": "80ad871b93d15c7bccf71617f78f73c2d291a9c7", "type": "github" }, "original": { @@ -218,13 +235,13 @@ "solc-macos-amd64-list-json": { "flake": false, "locked": { - "narHash": "sha256-AvITkfpNYgCypXuLJyqco0li+unVw39BAfdOZvd/SPE=", + "narHash": "sha256-P+ZslplK4cQ/wnV/wykVKb+yTCviI0eylA3sk9uHmRo=", "type": "file", - "url": "https://github.com/argotorg/solc-bin/raw/26fc3fd/macosx-amd64/list.json" + "url": "https://github.com/argotorg/solc-bin/raw/a11f1ad/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/a11f1ad/macosx-amd64/list.json" } }, "systems": { From e11ca3b0f0ae530c9e9b8557f4f5c6f39dd55c08 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:21:51 +0400 Subject: [PATCH 02/12] forge bump --- foundry.lock | 2 +- lib/forge-std | 2 +- lib/rain.math.float | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/foundry.lock b/foundry.lock index 9386f22..a325d50 100644 --- a/foundry.lock +++ b/foundry.lock @@ -1,6 +1,6 @@ { "lib/forge-std": { - "rev": "b8f065fda83b8cd94a6b2fec8fcd911dc3b444fd" + "rev": "1801b0541f4fda118a10798fd3486bb7051c5dd6" }, "lib/openzeppelin-contracts": { "rev": "fcbae5394ae8ad52d8e580a3477db99814b9d565" diff --git a/lib/forge-std b/lib/forge-std index b8f065f..1801b05 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit b8f065fda83b8cd94a6b2fec8fcd911dc3b444fd +Subproject commit 1801b0541f4fda118a10798fd3486bb7051c5dd6 diff --git a/lib/rain.math.float b/lib/rain.math.float index fd7640f..150f48b 160000 --- a/lib/rain.math.float +++ b/lib/rain.math.float @@ -1 +1 @@ -Subproject commit fd7640f6bb06ebf33fd45f5c02f0afc06dcea5d7 +Subproject commit 150f48bb909dd5f8970726d515c87c5257107699 From 9e1a7485bf952038aa5bc2dc19abcbb2ac8506cc Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:24:01 +0400 Subject: [PATCH 03/12] bump intorastring --- foundry.lock | 2 +- lib/rain.intorastring | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index a325d50..cc95ab9 100644 --- a/foundry.lock +++ b/foundry.lock @@ -6,7 +6,7 @@ "rev": "fcbae5394ae8ad52d8e580a3477db99814b9d565" }, "lib/rain.intorastring": { - "rev": "f92fa66a5f8601bee55692488a198c0a79715707" + "rev": "a494f480aa480539b524a255a151d55f667b372f" }, "lib/rain.lib.hash": { "rev": "9677b7063fc9ae8c580636760474719d910c2134" diff --git a/lib/rain.intorastring b/lib/rain.intorastring index f92fa66..a494f48 160000 --- a/lib/rain.intorastring +++ b/lib/rain.intorastring @@ -1 +1 @@ -Subproject commit f92fa66a5f8601bee55692488a198c0a79715707 +Subproject commit a494f480aa480539b524a255a151d55f667b372f From 05e4aacc6e020abd84cb58e4045a7c060073f5fb Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:25:38 +0400 Subject: [PATCH 04/12] bump hash --- foundry.lock | 2 +- lib/rain.lib.hash | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index cc95ab9..262e7ce 100644 --- a/foundry.lock +++ b/foundry.lock @@ -9,7 +9,7 @@ "rev": "a494f480aa480539b524a255a151d55f667b372f" }, "lib/rain.lib.hash": { - "rev": "9677b7063fc9ae8c580636760474719d910c2134" + "rev": "a4f6df6fb74b7d14d94fb8f0477888cc23616bc3" }, "lib/rain.lib.typecast": { "rev": "1eaa22e7290f97903daed752aa28d0d646e0199b" diff --git a/lib/rain.lib.hash b/lib/rain.lib.hash index 9677b70..a4f6df6 160000 --- a/lib/rain.lib.hash +++ b/lib/rain.lib.hash @@ -1 +1 @@ -Subproject commit 9677b7063fc9ae8c580636760474719d910c2134 +Subproject commit a4f6df6fb74b7d14d94fb8f0477888cc23616bc3 From 63f83da7baa9819726727b8f721214d8333d75b6 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:26:45 +0400 Subject: [PATCH 05/12] typecast bump --- foundry.lock | 2 +- lib/rain.lib.typecast | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index 262e7ce..4597c45 100644 --- a/foundry.lock +++ b/foundry.lock @@ -12,7 +12,7 @@ "rev": "a4f6df6fb74b7d14d94fb8f0477888cc23616bc3" }, "lib/rain.lib.typecast": { - "rev": "1eaa22e7290f97903daed752aa28d0d646e0199b" + "rev": "fe4b2a4c05632e394b0643990d6de39658fb8fb5" }, "lib/rain.math.binary": { "rev": "f44f846a43928ba0a7ed4a7bb810a8933e23cce1" diff --git a/lib/rain.lib.typecast b/lib/rain.lib.typecast index 1eaa22e..fe4b2a4 160000 --- a/lib/rain.lib.typecast +++ b/lib/rain.lib.typecast @@ -1 +1 @@ -Subproject commit 1eaa22e7290f97903daed752aa28d0d646e0199b +Subproject commit fe4b2a4c05632e394b0643990d6de39658fb8fb5 From 47337f73c4fec510c85a267017e1145daa933058 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:36:39 +0400 Subject: [PATCH 06/12] bump typecast --- foundry.lock | 2 +- lib/rain.lib.typecast | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index 4597c45..e4887b2 100644 --- a/foundry.lock +++ b/foundry.lock @@ -12,7 +12,7 @@ "rev": "a4f6df6fb74b7d14d94fb8f0477888cc23616bc3" }, "lib/rain.lib.typecast": { - "rev": "fe4b2a4c05632e394b0643990d6de39658fb8fb5" + "rev": "32c07c3cbc6de578c1750cefd714248de04b9c6d" }, "lib/rain.math.binary": { "rev": "f44f846a43928ba0a7ed4a7bb810a8933e23cce1" diff --git a/lib/rain.lib.typecast b/lib/rain.lib.typecast index fe4b2a4..32c07c3 160000 --- a/lib/rain.lib.typecast +++ b/lib/rain.lib.typecast @@ -1 +1 @@ -Subproject commit fe4b2a4c05632e394b0643990d6de39658fb8fb5 +Subproject commit 32c07c3cbc6de578c1750cefd714248de04b9c6d From 18fa6f26e44c1fb0e289ed0dceee5b7b93958ed3 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:37:46 +0400 Subject: [PATCH 07/12] binary --- foundry.lock | 2 +- lib/rain.math.binary | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index e4887b2..ff5dbad 100644 --- a/foundry.lock +++ b/foundry.lock @@ -15,7 +15,7 @@ "rev": "32c07c3cbc6de578c1750cefd714248de04b9c6d" }, "lib/rain.math.binary": { - "rev": "f44f846a43928ba0a7ed4a7bb810a8933e23cce1" + "rev": "122a490bb1869c7533f108cb8b371d75de9db60f" }, "lib/rain.math.float": { "rev": "150f48bb909dd5f8970726d515c87c5257107699" diff --git a/lib/rain.math.binary b/lib/rain.math.binary index f44f846..122a490 160000 --- a/lib/rain.math.binary +++ b/lib/rain.math.binary @@ -1 +1 @@ -Subproject commit f44f846a43928ba0a7ed4a7bb810a8933e23cce1 +Subproject commit 122a490bb1869c7533f108cb8b371d75de9db60f From 398136e2ee93bd7d875f9cc9fc7890668e81577f Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:38:41 +0400 Subject: [PATCH 08/12] float update --- foundry.lock | 2 +- lib/rain.math.float | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index ff5dbad..42fef25 100644 --- a/foundry.lock +++ b/foundry.lock @@ -18,7 +18,7 @@ "rev": "122a490bb1869c7533f108cb8b371d75de9db60f" }, "lib/rain.math.float": { - "rev": "150f48bb909dd5f8970726d515c87c5257107699" + "rev": "1cf3969996be4cde836b77972b257b4eee7bd6d9" }, "lib/rain.sol.codegen": { "rev": "bd7993b3f6b301e5a667ff687f25b80fdda878cd" diff --git a/lib/rain.math.float b/lib/rain.math.float index 150f48b..1cf3969 160000 --- a/lib/rain.math.float +++ b/lib/rain.math.float @@ -1 +1 @@ -Subproject commit 150f48bb909dd5f8970726d515c87c5257107699 +Subproject commit 1cf3969996be4cde836b77972b257b4eee7bd6d9 From b8254c464e3a11f9913831469f1517e4afbbc2f5 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:39:34 +0400 Subject: [PATCH 09/12] codegen bump --- foundry.lock | 2 +- lib/rain.sol.codegen | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index 42fef25..b5e186d 100644 --- a/foundry.lock +++ b/foundry.lock @@ -21,7 +21,7 @@ "rev": "1cf3969996be4cde836b77972b257b4eee7bd6d9" }, "lib/rain.sol.codegen": { - "rev": "bd7993b3f6b301e5a667ff687f25b80fdda878cd" + "rev": "dfe95884edfde3d4faf51046dc392aa9221bb0a7" }, "lib/rain.solmem": { "rev": "f28da2f09d42d154783cb53c138a7ef2f3a9eb4a" diff --git a/lib/rain.sol.codegen b/lib/rain.sol.codegen index bd7993b..dfe9588 160000 --- a/lib/rain.sol.codegen +++ b/lib/rain.sol.codegen @@ -1 +1 @@ -Subproject commit bd7993b3f6b301e5a667ff687f25b80fdda878cd +Subproject commit dfe95884edfde3d4faf51046dc392aa9221bb0a7 From cd6d65821190d2fce9beadb1eff103912a05bb82 Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:40:20 +0400 Subject: [PATCH 10/12] solmem bump --- foundry.lock | 2 +- lib/rain.solmem | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry.lock b/foundry.lock index b5e186d..a0c9220 100644 --- a/foundry.lock +++ b/foundry.lock @@ -24,6 +24,6 @@ "rev": "dfe95884edfde3d4faf51046dc392aa9221bb0a7" }, "lib/rain.solmem": { - "rev": "f28da2f09d42d154783cb53c138a7ef2f3a9eb4a" + "rev": "2e47e41af85a711d837b2518656db0efdae814c2" } } \ No newline at end of file diff --git a/lib/rain.solmem b/lib/rain.solmem index f28da2f..2e47e41 160000 --- a/lib/rain.solmem +++ b/lib/rain.solmem @@ -1 +1 @@ -Subproject commit f28da2f09d42d154783cb53c138a7ef2f3a9eb4a +Subproject commit 2e47e41af85a711d837b2518656db0efdae814c2 From 9943fdd99517fbf21ea39ca61eb78fde7fc75e5b Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:41:32 +0400 Subject: [PATCH 11/12] fmt --- src/interface/IInterpreterCallerV3.sol | 9 +++++---- src/interface/IInterpreterV3.sol | 8 ++++++++ src/interface/deprecated/IInterpreterExternV1.sol | 5 +---- src/interface/unstable/IInterpreterCallerV4.sol | 9 +++++---- src/interface/unstable/IInterpreterV4.sol | 12 ++++++++---- src/lib/caller/LibContext.sol | 4 +++- src/lib/deprecated/caller/LibEncodedDispatch.sol | 4 ++-- .../bytecode/LibBytecode.checkNoOOBPointers.t.sol | 4 +--- .../src/lib/bytecode/LibBytecode.sourcePointer.t.sol | 6 +----- test/src/lib/bytecode/LibBytecodeSlow.sol | 5 ++--- 10 files changed, 36 insertions(+), 30 deletions(-) diff --git a/src/interface/IInterpreterCallerV3.sol b/src/interface/IInterpreterCallerV3.sol index 95d8f02..7acf436 100644 --- a/src/interface/IInterpreterCallerV3.sol +++ b/src/interface/IInterpreterCallerV3.sol @@ -7,15 +7,16 @@ pragma solidity ^0.8.18; import {IParserV2} from "./IParserV2.sol"; import {IInterpreterStoreV2} from "./IInterpreterStoreV2.sol"; import {IInterpreterV3} from "./IInterpreterV3.sol"; -import -// Exported for convenience. -//forge-lint: disable-start(unused-import) -{ +import { + + // Exported for convenience. + //forge-lint: disable-start(unused-import) SignedContextV1, SIGNED_CONTEXT_SIGNER_OFFSET, SIGNED_CONTEXT_CONTEXT_OFFSET, SIGNED_CONTEXT_SIGNATURE_OFFSET } from "./deprecated/IInterpreterCallerV2.sol"; + //forge-lint: disable-end /// Struct over the return of `IParserV2.parse2` which MAY be more convenient to diff --git a/src/interface/IInterpreterV3.sol b/src/interface/IInterpreterV3.sol index 7eaaeef..580c597 100644 --- a/src/interface/IInterpreterV3.sol +++ b/src/interface/IInterpreterV3.sol @@ -5,28 +5,36 @@ pragma solidity ^0.8.18; import { IInterpreterStoreV2, FullyQualifiedNamespace, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) StateNamespace, SourceIndexV2, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) DEFAULT_STATE_NAMESPACE, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) Operand, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_CONSTANT, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_CONTEXT, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_EXTERN, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_UNKNOWN, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_STACK diff --git a/src/interface/deprecated/IInterpreterExternV1.sol b/src/interface/deprecated/IInterpreterExternV1.sol index d0f0bbe..4108894 100644 --- a/src/interface/deprecated/IInterpreterExternV1.sol +++ b/src/interface/deprecated/IInterpreterExternV1.sol @@ -19,8 +19,5 @@ interface IInterpreterExternV1 { /// Analogous to the opcode/operand in the interpreter. /// @param inputs The array of inputs for the dispatched logic. /// @return outputs The result of the dispatched logic. - function extern(ExternDispatch dispatch, uint256[] memory inputs) - external - view - returns (uint256[] memory outputs); + function extern(ExternDispatch dispatch, uint256[] memory inputs) external view returns (uint256[] memory outputs); } diff --git a/src/interface/unstable/IInterpreterCallerV4.sol b/src/interface/unstable/IInterpreterCallerV4.sol index 71c9fc7..ddb5309 100644 --- a/src/interface/unstable/IInterpreterCallerV4.sol +++ b/src/interface/unstable/IInterpreterCallerV4.sol @@ -7,15 +7,16 @@ pragma solidity ^0.8.18; import {IParserV2} from "../IParserV2.sol"; import {IInterpreterStoreV3} from "./IInterpreterStoreV3.sol"; import {IInterpreterV4} from "./IInterpreterV4.sol"; -import -// Exported for convenience. -//forge-lint: disable-start(unused-import) -{ +import { + + // Exported for convenience. + //forge-lint: disable-start(unused-import) SignedContextV1, SIGNED_CONTEXT_SIGNER_OFFSET, SIGNED_CONTEXT_CONTEXT_OFFSET, SIGNED_CONTEXT_SIGNATURE_OFFSET } from "../IInterpreterCallerV3.sol"; + //forge-lint: disable-end /// @param interpreter Will evaluate the expression. diff --git a/src/interface/unstable/IInterpreterV4.sol b/src/interface/unstable/IInterpreterV4.sol index 6ee60ab..b1279f6 100644 --- a/src/interface/unstable/IInterpreterV4.sol +++ b/src/interface/unstable/IInterpreterV4.sol @@ -4,25 +4,32 @@ pragma solidity ^0.8.25; import { FullyQualifiedNamespace, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) StateNamespace, SourceIndexV2, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) DEFAULT_STATE_NAMESPACE, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_CONSTANT, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_CONTEXT, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_EXTERN, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_UNKNOWN, + // Exported for convenience. //forge-lint: disable-next-line(unused-import) OPCODE_STACK @@ -91,8 +98,5 @@ interface IInterpreterV4 { /// unless/until they are set to something else in the evaluated logic. /// - Numbers are treated as packed Rain decimal floats, NOT fixed point /// decimals. - function eval4(EvalV4 calldata eval) - external - view - returns (StackItem[] calldata stack, bytes32[] calldata writes); + function eval4(EvalV4 calldata eval) external view returns (StackItem[] calldata stack, bytes32[] calldata writes); } diff --git a/src/lib/caller/LibContext.sol b/src/lib/caller/LibContext.sol index e3749db..d28b3bf 100644 --- a/src/lib/caller/LibContext.sol +++ b/src/lib/caller/LibContext.sol @@ -192,7 +192,9 @@ library LibContext { // a single encoded output. !SignatureChecker.isValidSignatureNow( signedContexts[i].signer, - MessageHashUtils.toEthSignedMessageHash(LibHashNoAlloc.hashWords(signedContexts[i].context)), + MessageHashUtils.toEthSignedMessageHash( + LibHashNoAlloc.hashWords(signedContexts[i].context) + ), signedContexts[i].signature ) ) { diff --git a/src/lib/deprecated/caller/LibEncodedDispatch.sol b/src/lib/deprecated/caller/LibEncodedDispatch.sol index dca32b2..3589cc7 100644 --- a/src/lib/deprecated/caller/LibEncodedDispatch.sol +++ b/src/lib/deprecated/caller/LibEncodedDispatch.sol @@ -29,8 +29,8 @@ library LibEncodedDispatch { // values to uint16. return EncodedDispatch.wrap( (uint256(uint160(expression)) << 0x20) | (uint256(uint16(SourceIndexV2.unwrap(sourceIndex))) << 0x10) - // forge-lint: disable-next-line(unsafe-typecast) - | uint256(uint16(maxOutputs)) + // forge-lint: disable-next-line(unsafe-typecast) + | uint256(uint16(maxOutputs)) ); } diff --git a/test/src/lib/bytecode/LibBytecode.checkNoOOBPointers.t.sol b/test/src/lib/bytecode/LibBytecode.checkNoOOBPointers.t.sol index 8618aff..61a7d3b 100644 --- a/test/src/lib/bytecode/LibBytecode.checkNoOOBPointers.t.sol +++ b/test/src/lib/bytecode/LibBytecode.checkNoOOBPointers.t.sol @@ -48,9 +48,7 @@ contract LibBytecodeCheckNoOOBPointersTest is BytecodeTest { /// If the relative offsets are truncated the bytecode fails as /// `TruncatedHeaderOffsets`. - function testCheckNoOOBPointersOffsetsTruncated(bytes memory bytecode, uint8 sourceCount, uint256 length) - external - { + function testCheckNoOOBPointersOffsetsTruncated(bytes memory bytecode, uint8 sourceCount, uint256 length) external { vm.assume(sourceCount > 0); vm.assume(bytecode.length > 0); bytecode[0] = bytes1(sourceCount); diff --git a/test/src/lib/bytecode/LibBytecode.sourcePointer.t.sol b/test/src/lib/bytecode/LibBytecode.sourcePointer.t.sol index 96e8e9f..17ae3df 100644 --- a/test/src/lib/bytecode/LibBytecode.sourcePointer.t.sol +++ b/test/src/lib/bytecode/LibBytecode.sourcePointer.t.sol @@ -8,11 +8,7 @@ import {LibBytecodeSlow} from "test/src/lib/bytecode/LibBytecodeSlow.sol"; import {Pointer} from "rain.solmem/lib/LibPointer.sol"; contract LibBytecodeSourcePointerTest is BytecodeTest { - function sourcePointerExternal(bytes memory bytecode, uint256 sourceIndex) - external - pure - returns (Pointer pointer) - { + function sourcePointerExternal(bytes memory bytecode, uint256 sourceIndex) external pure returns (Pointer pointer) { return LibBytecode.sourcePointer(bytecode, sourceIndex); } diff --git a/test/src/lib/bytecode/LibBytecodeSlow.sol b/test/src/lib/bytecode/LibBytecodeSlow.sol index a9743a2..71231aa 100644 --- a/test/src/lib/bytecode/LibBytecodeSlow.sol +++ b/test/src/lib/bytecode/LibBytecodeSlow.sol @@ -29,9 +29,8 @@ library LibBytecodeSlow { } function sourcePointerSlow(bytes memory bytecode, uint256 sourceIndex) internal pure returns (Pointer) { - return bytecode.dataPointer().unsafeAddBytes( - sourceRelativeOffsetSlow(bytecode, sourceIndex) + 1 + sourceCountSlow(bytecode) * 2 - ); + return bytecode.dataPointer() + .unsafeAddBytes(sourceRelativeOffsetSlow(bytecode, sourceIndex) + 1 + sourceCountSlow(bytecode) * 2); } /// source count is the top byte of the first word of the source header. From bdfc55dbc7f38c2e1d50d9bd95a0a6a99e38611e Mon Sep 17 00:00:00 2001 From: thedavidmeister Date: Tue, 10 Feb 2026 22:52:34 +0400 Subject: [PATCH 12/12] debug