From 0351eb9a74425aba2b9a36820eb32b5ee48f6976 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Wed, 14 Feb 2024 16:33:39 +0800 Subject: [PATCH 01/28] Upstream `PortalTest.test_withdrawal_paused` with lemmas, update expected output --- .../integration/test-data/foundry-prove-all | 1 + .../test-data/foundry-prove-skip-legacy | 1 + .../test-data/foundry/src/Portal.sol | 57 ++ .../test-data/foundry/test/PortalTest.t.sol | 28 + .../test-data/pausability-lemmas.k | 931 ++++++++++++++++++ .../test-data/show/contracts.k.expected | 293 ++++++ .../test-data/show/foundry.k.expected | 28 +- .../test-data/{lemmas.k => sum-to-n-lemmas.k} | 0 src/tests/integration/test_foundry_prove.py | 4 +- 9 files changed, 1340 insertions(+), 3 deletions(-) create mode 100644 src/tests/integration/test-data/foundry/src/Portal.sol create mode 100644 src/tests/integration/test-data/foundry/test/PortalTest.t.sol create mode 100644 src/tests/integration/test-data/pausability-lemmas.k rename src/tests/integration/test-data/{lemmas.k => sum-to-n-lemmas.k} (100%) diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index 19e8a648e..33a258e88 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -181,6 +181,7 @@ PlainPrankTest.test_startPrankWithOrigin_true() PlainPrankTest.test_startPrank_zeroAddress_true() PlainPrankTest.test_stopPrank_notExistent() PlainPrankTest.test_prank_expectRevert() +PortalTest.test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) PrankTest.testAddAsOwner(uint256) PrankTest.testAddStartPrank(uint256) PrankTest.testFailAddPrank(uint256) diff --git a/src/tests/integration/test-data/foundry-prove-skip-legacy b/src/tests/integration/test-data/foundry-prove-skip-legacy index 50bfd915e..826edecca 100644 --- a/src/tests/integration/test-data/foundry-prove-skip-legacy +++ b/src/tests/integration/test-data/foundry-prove-skip-legacy @@ -180,6 +180,7 @@ PlainPrankTest.test_prank_zeroAddress_true() PlainPrankTest.test_startPrank_true() PlainPrankTest.test_startPrankWithOrigin_true() PlainPrankTest.test_startPrank_zeroAddress_true() +PortalTest.test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) PrankTestMsgSender.test_msgsender_setup() PrankTestOrigin.test_origin_setup() PrankTest.testAddAsOwner(uint256) diff --git a/src/tests/integration/test-data/foundry/src/Portal.sol b/src/tests/integration/test-data/foundry/src/Portal.sol new file mode 100644 index 000000000..061ad3e3b --- /dev/null +++ b/src/tests/integration/test-data/foundry/src/Portal.sol @@ -0,0 +1,57 @@ +pragma solidity ^0.8.13; + +library Types { + struct OutputRootProof { + bytes32 version; + bytes32 stateRoot; + bytes32 messagePasserStorageRoot; + bytes32 latestBlockhash; + } + + struct WithdrawalTransaction { + uint256 nonce; + address sender; + address target; + uint256 value; + uint256 gasLimit; + bytes data; + } +} + +contract Portal { + bool paused; + + /// @notice Emitted when a withdrawal transaction is proven. + /// @param from Address that triggered the withdrawal transaction. + /// @param to Address that the withdrawal transaction is directed to. + event WithdrawalProven(address indexed from, address indexed to); + + /// @notice Reverts when paused. + modifier whenNotPaused() { + require(paused == false, "OptimismPortal: paused"); + _; + } + + // TODO: supplementary function for easier verification + function pause() external { + paused = true; + } + + /// @notice Proves a withdrawal transaction. + /// @param _tx Withdrawal transaction to finalize. + /// @param _l2OutputIndex L2 output index to prove against. + /// @param _outputRootProof Inclusion proof of the L2ToL1MessagePasser contract's storage root. + /// @param _withdrawalProof Inclusion proof of the withdrawal in L2ToL1MessagePasser contract. + function proveWithdrawalTransaction( + Types.WithdrawalTransaction memory _tx, + uint256 _l2OutputIndex, + Types.OutputRootProof calldata _outputRootProof, + bytes[] calldata _withdrawalProof + ) + external + whenNotPaused + { + // Emit a `WithdrawalProven` event. + emit WithdrawalProven(_tx.sender, _tx.target); + } +} diff --git a/src/tests/integration/test-data/foundry/test/PortalTest.t.sol b/src/tests/integration/test-data/foundry/test/PortalTest.t.sol new file mode 100644 index 000000000..50fe3e72c --- /dev/null +++ b/src/tests/integration/test-data/foundry/test/PortalTest.t.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity =0.8.13; + +import "forge-std/Test.sol"; +import "../src/Portal.sol"; + +contract PortalTest is Test { + Portal portalContract; + + function setUp() public { + portalContract = new Portal(); + } + + /// @custom:kontrol-length-equals _withdrawalProof: 10, + /// @custom:kontrol-length-equals _withdrawalProof[]: 600, + function test_withdrawal_paused( + Types.WithdrawalTransaction memory _tx, + uint256 _l2OutputIndex, + Types.OutputRootProof calldata _outputRootProof, + bytes[] calldata _withdrawalProof + ) + external + { + portalContract.pause(); + vm.expectRevert(); + portalContract.proveWithdrawalTransaction(_tx, _l2OutputIndex, _outputRootProof, _withdrawalProof); + } +} \ No newline at end of file diff --git a/src/tests/integration/test-data/pausability-lemmas.k b/src/tests/integration/test-data/pausability-lemmas.k new file mode 100644 index 000000000..971077785 --- /dev/null +++ b/src/tests/integration/test-data/pausability-lemmas.k @@ -0,0 +1,931 @@ +requires "evm.md" +requires "foundry.md" + +module PAUSABILITY-LEMMAS [symbolic] + imports BOOL + imports FOUNDRY + imports INFINITE-GAS + imports INT-SYMBOLIC + imports MAP-SYMBOLIC + imports SET-SYMBOLIC + + syntax StepSort ::= Int + | Bool + | Bytes + | Set + // ------------------------ + + syntax KItem ::= runLemma ( StepSort ) + | doneLemma( StepSort ) + // -------------------------------------- + rule runLemma(T) => doneLemma(T) ... + + // We need to enforce some limit on the length of bytearrays + // and indices into bytearrays in order to avoid chop-reasoning + syntax Int ::= "maxBytesLength" [alias] + rule maxBytesLength => 9223372036854775808 + + // + // Arithmetic + // + + rule ((X up/Int Y) *Int Y) true + requires X false + [simplification] + + rule A modInt B => A + requires 0 <=Int A andBool A A ==Int B requires B <=Int A [simplification, concrete(A)] + // rule { A <=Int B #Equals true } => { A #Equals B } requires B <=Int A [simplification, concrete(A)] + // rule { true #Equals A <=Int B } => { A #Equals B } requires B <=Int A [simplification, concrete(A)] + + rule ( A +Int B ) -Int B => A [simplification] + rule ( ( A +Int B ) +Int C ) -Int B => A +Int C [simplification] + + rule ( ( A +Int B ) +Int ( C +Int D ) ) => ( A +Int C +Int ( B +Int D ) ) [simplification, concrete(B, D)] + + rule A +Int B <=Int C +Int D => A <=Int C +Int (D -Int B) requires D >=Int B [simplification(60), concrete(B, D)] + rule A +Int B <=Int C +Int D => A +Int (B -Int D) <=Int C requires B A /Int C ==Int B + requires A modInt C ==Int 0 + [simplification, concrete(A, C)] + + // + // Bool + // + + rule false ==Bool X => notBool X [simplification] + rule X ==Bool false => notBool X [simplification] + + rule notBool X ==Bool notBool Y => X ==Bool Y [simplification] + rule { notBool X #Equals notBool Y } => { X #Equals Y } [simplification] + + rule bool2Word ( X ) => 1 requires X [simplification] + rule bool2Word ( X ) => 0 requires notBool X [simplification] + + rule bool2Word ( X ) ==Int bool2Word ( Y ) => X ==Bool Y [simplification] + rule { bool2Word ( X ) #Equals bool2Word ( Y ) } => { X #Equals Y } [simplification] + + // + // ML + // + + rule { true #Equals X ==K Y } => { X #Equals Y } [simplification] + rule { true #Equals X:Int ==Int Y:Int } => { X #Equals Y } [simplification] + rule { false #Equals X ==K Y } => #Not ( { X #Equals Y } ) [simplification] + rule { false #Equals X:Int ==Int Y:Int } => #Not ( { X #Equals Y } ) [simplification] + + rule { true #Equals notBool X:Bool } => { false #Equals X } [simplification] + rule { false #Equals notBool X:Bool } => { true #Equals X } [simplification] + + rule { X ==K Y #Equals true } => { X #Equals Y } [simplification] + rule { X:Int ==Int Y:Int #Equals true } => { X #Equals Y } [simplification] + rule { X ==K Y #Equals false } => #Not ( { X #Equals Y } ) [simplification] + rule { X:Int ==Int Y:Int #Equals false } => #Not ( { X #Equals Y } ) [simplification] + + rule { notBool X:Bool #Equals true } => { false #Equals X } [simplification] + rule { notBool X:Bool #Equals false } => { true #Equals X } [simplification] + + rule #Not ( { X #Equals 0 } ) => { X #Equals 1 } requires #rangeBool ( X ) [simplification] + rule #Not ( { X #Equals 1 } ) => { X #Equals 0 } requires #rangeBool ( X ) [simplification] + + // + // &Int + // + + // Commutativity + rule A &Int B ==Int B &Int A => true [simplification, smt-lemma] + rule { A &Int B #Equals B &Int A } => #Top [simplification] + + // Distributivity of &Int and |Int + rule A &Int (B |Int C) => (A &Int B) |Int (A &Int C) + [concrete(A, B), simplification] + + rule A &Int (B |Int C) => (A &Int B) |Int (A &Int C) + [concrete(A, C), simplification] + + // &Int on non-negative integers remains non-negative + rule 0 <=Int (X &Int Y) => true + requires 0 <=Int X + andBool 0 <=Int Y + [simplification, smt-lemma] + + // Result of &Int cannot be greater than the operands + rule (X &Int Y) <=Int Z => true + requires 0 <=Int X + andBool 0 <=Int Y + andBool (X <=Int Z orBool Y <=Int Z) + [simplification] + + // Anything negative is true + requires 0 <=Int X andBool 0 <=Int Y + andBool A #asWord ( #range(BA, 31, 1) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt16 &Int #asWord ( BA ) => #asWord ( #range(BA, 30, 2) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt24 &Int #asWord ( BA ) => #asWord ( #range(BA, 29, 3) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt32 &Int #asWord ( BA ) => #asWord ( #range(BA, 28, 4) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt40 &Int #asWord ( BA ) => #asWord ( #range(BA, 27, 5) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt48 &Int #asWord ( BA ) => #asWord ( #range(BA, 26, 6) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt56 &Int #asWord ( BA ) => #asWord ( #range(BA, 25, 7) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt64 &Int #asWord ( BA ) => #asWord ( #range(BA, 24, 8) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt72 &Int #asWord ( BA ) => #asWord ( #range(BA, 23, 9) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt80 &Int #asWord ( BA ) => #asWord ( #range(BA, 22, 10) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt88 &Int #asWord ( BA ) => #asWord ( #range(BA, 21, 11) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt96 &Int #asWord ( BA ) => #asWord ( #range(BA, 20, 12) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt104 &Int #asWord ( BA ) => #asWord ( #range(BA, 19, 13) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt112 &Int #asWord ( BA ) => #asWord ( #range(BA, 18, 14) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt120 &Int #asWord ( BA ) => #asWord ( #range(BA, 17, 15) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt128 &Int #asWord ( BA ) => #asWord ( #range(BA, 16, 16) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt136 &Int #asWord ( BA ) => #asWord ( #range(BA, 15, 17) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt144 &Int #asWord ( BA ) => #asWord ( #range(BA, 14, 18) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt152 &Int #asWord ( BA ) => #asWord ( #range(BA, 13, 19) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt160 &Int #asWord ( BA ) => #asWord ( #range(BA, 12, 20) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt168 &Int #asWord ( BA ) => #asWord ( #range(BA, 11, 21) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt176 &Int #asWord ( BA ) => #asWord ( #range(BA, 10, 22) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt184 &Int #asWord ( BA ) => #asWord ( #range(BA, 9, 23) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt192 &Int #asWord ( BA ) => #asWord ( #range(BA, 8, 24) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt200 &Int #asWord ( BA ) => #asWord ( #range(BA, 7, 25) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt208 &Int #asWord ( BA ) => #asWord ( #range(BA, 6, 26) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt216 &Int #asWord ( BA ) => #asWord ( #range(BA, 5, 27) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt224 &Int #asWord ( BA ) => #asWord ( #range(BA, 4, 28) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt232 &Int #asWord ( BA ) => #asWord ( #range(BA, 3, 29) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt240 &Int #asWord ( BA ) => #asWord ( #range(BA, 2, 30) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt248 &Int #asWord ( BA ) => #asWord ( #range(BA, 1, 31) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule maxUInt256 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 32) ) requires lengthBytes(BA) ==Int 32 [simplification] + + // Deconstruction of (notMaxUInt &Int ...) + rule notMaxUInt8 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 31) +Bytes #buf ( 1, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt16 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 30) +Bytes #buf ( 2, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt32 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 28) +Bytes #buf ( 4, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt64 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 24) +Bytes #buf ( 8, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt96 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 20) +Bytes #buf ( 12, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt128 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 16) +Bytes #buf ( 16, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt160 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 12) +Bytes #buf ( 20, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt192 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 8) +Bytes #buf ( 24, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt208 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 6) +Bytes #buf ( 26, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt224 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 4) +Bytes #buf ( 28, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt240 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 2) +Bytes #buf ( 30, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + rule notMaxUInt248 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 1) +Bytes #buf ( 31, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] + + // Irrelevance of lower bits + rule notMaxUInt8 &Int (X |Int (maxUInt8 &Int _)) => notMaxUInt8 &Int X [simplification] + rule notMaxUInt16 &Int (X |Int (maxUInt16 &Int _)) => notMaxUInt16 &Int X [simplification] + rule notMaxUInt32 &Int (X |Int (maxUInt32 &Int _)) => notMaxUInt32 &Int X [simplification] + rule notMaxUInt64 &Int (X |Int (maxUInt64 &Int _)) => notMaxUInt64 &Int X [simplification] + rule notMaxUInt96 &Int (X |Int (maxUInt96 &Int _)) => notMaxUInt96 &Int X [simplification] + rule notMaxUInt128 &Int (X |Int (maxUInt128 &Int _)) => notMaxUInt128 &Int X [simplification] + rule notMaxUInt160 &Int (X |Int (maxUInt160 &Int _)) => notMaxUInt160 &Int X [simplification] + rule notMaxUInt192 &Int (X |Int (maxUInt192 &Int _)) => notMaxUInt192 &Int X [simplification] + rule notMaxUInt208 &Int (X |Int (maxUInt208 &Int _)) => notMaxUInt208 &Int X [simplification] + rule notMaxUInt224 &Int (X |Int (maxUInt224 &Int _)) => notMaxUInt224 &Int X [simplification] + rule notMaxUInt240 &Int (X |Int (maxUInt240 &Int _)) => notMaxUInt240 &Int X [simplification] + rule notMaxUInt248 &Int (X |Int (maxUInt248 &Int _)) => notMaxUInt248 &Int X [simplification] + + // &Int yields zero for notMax and operand in appropriate range + rule [bitwise-and-zero]: + X &Int Y => 0 + requires #rangeUInt(256, X) + andBool pow256 -Int X ==Int 2 ^Int log2Int(pow256 -Int X) + andBool 0 <=Int Y andBool Y #asWord ( #buf ( 32 -Int (Y /Int 8) , X ) +Bytes #buf ( Y /Int 8 , 0 ) ) + requires 0 <=Int X andBool X true + requires 0 <=Int X &Int Y + andBool 0 <=Int Z + [simplification] + + rule Z false + requires #rangeUInt(256, X) + andBool #rangeUInt(256, Y) + andBool #rangeUInt(256, Z) + andBool ((Y true + requires #rangeUInt(256, X) + andBool #rangeUInt(256, Y) + andBool #rangeUInt(256, Z) + andBool ((Y X &Int #asWord ( Z ) + requires X >Int T => X &Int #asWord ( Z ) >>Int T + requires X X modInt 2 [simplification] + + // + // |Int + // + + // Commutativity + rule A |Int B ==Int B |Int A => true [simplification, smt-lemma] + rule { A |Int B #Equals B |Int A } => #Top [simplification] + + // Non-zeroedness of |Int + rule X |Int _ ==Int 0 => false + requires 0 + #asWord ( BA1 +Bytes #buf ( lengthBytes(BA2), A |Int #asWord ( BA2 ) ) ) + requires A + #asWord ( + #buf ( lengthBytes(BA1), (A >>Int (8 *Int lengthBytes(BA2))) |Int #asWord ( BA1 ) ) + +Bytes + #buf ( lengthBytes(BA2), (A modInt (2 ^Int (8 *Int lengthBytes(BA2)))) |Int #asWord ( BA2 ) ) + ) + requires 0 <=Int A + [simplification(40), concrete(A, BA1)] + + // Prepend 4 bytes (used for function selectors) + rule A |Int #asWord ( BUF ) => #asWord ( #range ( #buf ( 32 , A ) , 0 , 4 ) +Bytes BUF ) + requires notMaxUInt224 &Int A ==Int A + andBool lengthBytes ( BUF ) ==Int 28 + [simplification, concrete(A)] + + // Irrelevance of lower bits for >>Int + rule (X |Int Y) >>Int Z => X >>Int Z + requires 0 <=Int Z + andBool 0 <=Int Y andBool Y true [simplification, smt-lemma] + rule { A xorInt B #Equals B xorInt A } => #Top [simplification] + + // Non-negativity of xorInt + rule [bitwise-xor-geq-zero]: + 0 <=Int (A xorInt B) => true + requires 0 <=Int A andBool 0 <=Int B + [simplification] + + // xorInt + rule [bitwise-xor-lt-pow256]: + (A xorInt B) true + requires 0 <=Int A andBool A maxUInt256 -Int X + requires #rangeUInt ( 256 , X ) + [simplification] + + // + // Arithmetic + // + + // Reflexivity of <=Int + rule A <=Int A => true [simplification] + + // Cancellativity #1 + rule A +Int B -Int B +Int C => A +Int C [simplification] + + // Cancellativity #2 + rule A -Int B +Int C -Int D +Int B +Int E => A -Int D +Int C +Int E [simplification] + + // Cancellativity #3 + rule ( A +Int B ) +Int C <=Int ( D +Int B ) +Int E => A +Int C <=Int D +Int E [simplification] + + // Cancellativity #4 + rule A +Int B <=Int ( A +Int C ) +Int D => B <=Int C +Int D [simplification] + + // Cancellativity #5 + rule A +Int ( (B -Int A) +Int C ) => B +Int C [simplification] + + // Cancellativity #6 + rule (A -Int B) -Int (C -Int B) => A -Int C [simplification] + + // Distributivity of minInt against +Int + rule minInt ( A:Int +Int B:Int, C:Int +Int B:Int ) => minInt ( A, C ) +Int B [simplification] + + // Definition of maxInt + rule maxInt(I1:Int, I2:Int) => I2 requires I1 <=Int I2 [simplification] + rule maxInt(I1:Int, I2:Int) => I1 requires I1 >Int I2 [simplification] + + // Maximum is not greater than if both operands are not greater than + rule maxInt(A:Int, B:Int) <=Int X:Int => A <=Int X andBool B <=Int X [simplification] + + // Cutting impossible branches + rule { A:Int #Equals B:Int *Int X:Int +Int C:Int } => #Bottom + requires A 32 *Int A +Int 32 *Int B + [simplification] + + // Matching resolutions + + rule { 32 *Int A:Int +Int X:Int #Equals 32 *Int B:Int +Int Y:Int } => + { B #Equals A +Int 1 } + requires X -Int Y ==Int 32 + [simplification] + + rule { A:Int *Int X:Int +Int B #Equals A *Int Y:Int +Int B } => + { X #Equals Y } + requires A =/=Int 0 + [simplification] + + rule { B #Equals A *Int Y:Int +Int B } => + { 0 #Equals Y } + requires A =/=Int 0 + [simplification] + + // Chop custom simplification + rule chop ( lengthBytes ( X ) +Int 115792089237316195423570985008687907853269984665640564039457584007913129640009 ) => + lengthBytes ( X ) +Int 73 + [simplification] + + // Chop custom simplification + rule 0 ==Int chop (A:Int +Int B:Int) => A ==Int pow256 -Int B + requires 0 { A #Equals pow256 -Int B } + requires 0 true + requires 32 *Int A -Int 9 false + requires ( 2 ^Int (Y *Int 8) ) *Int Z #Bottom + requires ( 2 ^Int (Y *Int 8) ) *Int Z true + requires 0 <=Int A + andBool 0 <=Int X + [simplification] + + // Lukso-specific bit-shift arithmetic + rule pow96 <=Int (A < true + requires 0 <=Int A + [simplification] + + // Range bit-shift arithmetic + rule (A < true + requires A true + requires A <=Int 0 + andBool 0 <=Int B + andBool 0 <=Int C + [simplification, concrete(A)] + + rule A +Int B true + requires A true + requires A <=Int 0 + andBool 0 <=Int B andBool 0 <=Int C + andBool (0 false + requires #range(A1, 0, minInt(lengthBytes(A1), lengthBytes(A2))) + =/=K + #range(A2, 0, minInt(lengthBytes(A1), lengthBytes(A2))) + andBool lengthBytes(A1 +Bytes B1) ==Int lengthBytes(A2 +Bytes B2) + [concrete(A1, A2), simplification] + + rule A +Bytes (B +Bytes C) => (A +Bytes B) +Bytes C + [concrete(A, B), simplification] + + rule (A +Bytes B) +Bytes C => A +Bytes (B +Bytes C) + [concrete(B, C), simplification] + + rule A +Bytes (B +Bytes C) +Bytes D => (A +Bytes B) +Bytes C +Bytes D + [concrete(A, B), simplification] + + rule (A +Bytes B) +Bytes (C +Bytes D) => A +Bytes (B +Bytes C) +Bytes D + [concrete(B, C), simplification] + + // + // lengthBytes + // + + // Size of paddings + rule lengthBytes ( padRightBytes ( BA:Bytes, WIDTH, _ ) ) => + lengthBytes(BA) +Int WIDTH + requires 0 <=Int WIDTH + [simplification] + + // Upper bound on (pow256 - 32) &Int lengthBytes(X) + rule notMaxUInt5 &Int Y <=Int Y => true + requires 0 <=Int Y + [simplification] + + // Bounds on notMaxUInt5 &Int ( X +Int 31 ) + rule X <=Int notMaxUInt5 &Int ( X +Int 31 ) => true requires 0 <=Int X [simplification] + rule X <=Int notMaxUInt5 &Int ( Y +Int 31 ) => true requires X <=Int 0 andBool 0 <=Int Y [simplification, concrete(X)] + rule X <=Int ( notMaxUInt5 &Int ( X +Int 31 ) ) +Int Y => true requires 0 <=Int X andBool 0 <=Int Y [simplification, concrete(Y)] + + rule notMaxUInt5 &Int X +Int 31 true requires 0 <=Int X andBool X +Int 32 <=Int Y [simplification, concrete(Y)] + + rule notMaxUInt5 &Int X +Int 31 true requires 0 <=Int X [simplification] + + // Specialised simplification + rule notMaxUInt5 &Int ( notMaxUInt5 &Int lengthBytes ( VV6__data_3c5818c8:Bytes ) +Int 31 ) +Int 63 => ( notMaxUInt5 &Int lengthBytes ( VV6__data_3c5818c8:Bytes ) +Int 31 ) +Int 32 + [simplification] + + // + // #buf + // + + // Invertibility of #buf and #asWord + rule #buf ( WIDTH , #asWord ( BA:Bytes ) ) => BA + requires lengthBytes(BA) ==K WIDTH + [simplification] + + // Local injectivity for 8 bits + rule { #buf ( 8 , A:Int ) #Equals #buf ( 8 , B:Int ) } => { A #Equals B } + requires 0 <=Int A andBool A { A #Equals B } + requires 0 <=Int A andBool A { X #Equals Y } + requires 0 <=Int N + andBool 0 <=Int X + andBool 0 <=Int Y + andBool X X ==Int Y + requires 0 <=Int N + andBool 0 <=Int X + andBool 0 <=Int Y + andBool X #Top + requires X ==K Y + [simplification] + + // Bounds: inherited from KEVM with smt-lemma + rule 0 <=Int #asWord(_BA) => true [simplification, smt-lemma] + rule #asWord(_BA) true [simplification, smt-lemma] + + // Invertibility of #buf with #asWord + rule #buf ( 32 , #asWord ( X ) ) => X requires lengthBytes ( X ) ==Int 32 [simplification] + rule #asWord ( #buf ( 32 , X ) ) => X requires #rangeUInt ( 256 , X ) [simplification] + + // #asWord ignores leading zeros + rule #asWord ( BA1 +Bytes BA2 ) => #asWord ( BA2 ) + requires #asInteger(BA1) ==Int 0 + [simplification, concrete(BA1)] + + // true + requires 0 false + requires #asWord ( BA1 ) <Int X + orBool X -Int #asWord ( BA1 ) <=Int 2 ^Int ( 8 *Int lengthBytes(BA2) ) + [simplification(40), concrete(BA1)] + + // #asWord is not smaller-or-equal to the target if the leading bytes alone are greater than the target + rule #asWord ( BA1 +Bytes BA2 ) <=Int X => false + requires #asWord ( BA1 ) <Int X + [simplification, concrete(BA1)] + + // #asWord is smaller-or-equal to the target if the trailing bytes are smaller than the difference between the target and leading bytes + rule #asWord ( BA1 +Bytes BA2 ) <=Int X => true + requires X -Int #asWord ( BA1 ) <=Int 2 ^Int ( 8 *Int lengthBytes(BA2) ) -Int 1 + [simplification, concrete(BA1)] + + // and otherwise is not smaller-or-equal + rule #asWord ( BA1 +Bytes BA2 ) <=Int X => false + requires X true + requires lengthBytes( BA1 +Bytes BA2 ) ==Int 32 + andBool X <=Int #asWord( BA1 ) < true + requires lengthBytes( BA1 +Bytes BA2) ==Int 32 + andBool X -Int #asWord( BA1 ) <Int 2 ^Int ( 8 *Int lengthBytes(BA2) ) -Int 1 + [concrete(BA1, X), simplification] + + // and greater + rule X true + requires lengthBytes( BA1 +Bytes BA2 ) ==Int 32 + andBool X + #asWord(B) ==Int C -Int ( #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B)) ) ) + [concrete(A, C), simplification, comm] + + rule { #asWord ( A +Bytes B ) #Equals C } => + { #asWord(B) #Equals C -Int ( #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B)) ) ) } + [concrete(A, C), simplification, comm] + + rule #asWord ( A +Bytes B ) ==Int C:Int => + C -Int #asWord(B) ==Int #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B))) + [concrete(B, C), simplification, comm] + + rule { #asWord ( A +Bytes B ) #Equals C:Int } => + { C -Int #asWord(B) #Equals #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B))) } + [concrete(B, C), simplification, comm] + + // Equality and #range + rule #asWord ( #range ( #buf ( 32 , _X:Int ) , S:Int , W:Int ) ) ==Int Y:Int => false + requires S +Int W <=Int 32 + andBool (2 ^Int (8 *Int W)) <=Int Y + [concrete(S, W, Y), simplification] + + // #asWord is equality + rule #asWord ( #range ( #buf (SIZE, X), START, WIDTH) ) => X + requires 0 <=Int SIZE andBool 0 <=Int X andBool 0 <=Int START andBool 0 <=Int WIDTH + andBool SIZE ==Int START +Int WIDTH + andBool X true [simplification] + + // + // #padRightToWidth + // + + rule #padRightToWidth (W, X) => X +Bytes #buf(W -Int lengthBytes(X), 0) + [concrete(W), simplification] + + // + // #range(M, START, WIDTH) + // + + // Parameter equality + rule { #range (A, B, C) #Equals #range (A, B, D) } => #Top + requires C ==Int D + [simplification] + + // + // Bytes indexing and update + // + + rule B:Bytes [ X:Int ] => #asWord ( #range (B, X, 1) ) + requires X <=Int lengthBytes(B) + [simplification(40)] + + // Empty update has no effect + rule B:Bytes [ START:Int := b"" ] => B + requires 0 <=Int START andBool START <=Int lengthBytes(B) + [simplification] + + // Consecutive quasi-contiguous byte-array update + rule B [ S1 := B1 ] [ S2 := B2 ] => B [ S1 := #range(B1, 0, S2 -Int S1) +Bytes B2 ] + requires 0 <=Int S1 andBool S1 <=Int S2 andBool S2 <=Int S1 +Int lengthBytes(B1) + [simplification] + + // Parameter equality: byte-array update + rule { B1:Bytes [ S1:Int := B2:Bytes ] #Equals B3:Bytes [ S2:Int := B4:Bytes ] } => #Top + requires B1 ==K B3 andBool S1 ==Int S2 andBool B2 ==K B4 + [simplification] + + // + // #memoryUsageUpdate + // + + rule { #memoryUsageUpdate ( A , B , C ) #Equals #memoryUsageUpdate ( D , E , F ) } => #Top + requires A ==Int D andBool B ==Int E andBool C ==Int F + [simplification] + + // + // keccak + // + + // keccak does not equal a concrete value + rule [keccak-eq-conc-false]: keccak(_A) ==Int _B => false [symbolic(_A), concrete(_B), simplification, comm] + rule [keccak-neq-conc-true]: keccak(_A) =/=Int _B => true [symbolic(_A), concrete(_B), simplification, comm] + + rule [keccak-eq-conc-false-ml]: { keccak(_A) #Equals _B } => #Bottom [symbolic(_A), concrete(_B), simplification, comm] + + // corollary of `keccak-eq-conc-false` + rule [keccak-eq-conc-false-extended]: + ( ( keccak ( _X ) +Int A ) modInt pow256 ) ==Int _Y => false + requires 0 A ==K B [simplification] + + // keccak has no "fixpoint" + rule [keccak-no-fix-eq-false]: #buf(32, keccak(X)) ==K X => false [simplification] + rule [keccak-no-fix-neq-true]: #buf(32, keccak(X)) =/=K X => true [simplification] + + // disequality of keccak under shifting + rule ( ( keccak ( _X ) +Int A ) modInt pow256 ) ==Int keccak ( _Y ) => false + requires 0 pow256 -Int keccak(BA) + [simplification] + + // keccak cannot equal a number outside of its range + rule { X #Equals keccak (_) } => #Bottom + requires X =Int pow256 + [concrete(X), simplification] + + // Custom chop simplification + rule chop (A:Int +Int B:Int) => A +Int B + requires #rangeUInt(64, A) + andBool #rangeUInt(64, B) + [simplification] + + // chop is idempotent through +Int + rule chop ( chop ( X ) +Int Y ) => chop ( X +Int Y ) [simplification] + + // + // NEW: SUMMARIES + // + + // This rule cannot be used without the [symbolic] tag because it uses + // "existentials", which is not correct, it uses variables that are learnt + // from the requires and not from the structure + + // copy-memory-to-memory + rule [copy-memory-to-memory-summary]: + #execute ... + false + SHANGHAI + JUMPDESTS + // The whole program is fully symbolic, and the executed portion is determined from the original program + PROGRAM + PCOUNT => PCOUNT +Int lengthBytes(CP) + // The word stack has the appropriate form, as per the compiled code + LENGTH : SRC : STEP : DEST : WS => LENGTH : SRC : STEP : 0 : DEST : WS + // The program copies LENGTH bytes of memory from SRC +Int 32 to DEST +Int OFFSET, + // padded with 32 zeros in case LENGTH is not divisible by 32 + + LM => LM [ DEST +Int OFFSET := #range ( LM, SRC +Int 32, LENGTH ) +Bytes + #buf ( ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) , 0 ) +Bytes + #buf ( ( ( ( 32 -Int ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) ) ) modInt 32 ), 0 ) ] + + // OP is the program corresponding to the original compiled EVM bytecode, starting from program counter 1427 + requires OP ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P" + // The execution effectively starts from CP + andBool CP ==K #range(PROGRAM, PCOUNT, lengthBytes(OP)) + // OFFSET_BYTES and OFFSET represent a symbolic offset, generalizing the concrete hardcoded offset (448). + andBool OFFSET_BYTES ==K #range(CP, 25, 2) + andBool OFFSET ==Int #asWord ( OFFSET_BYTES ) + + // The current program we are executing differs from the original one only in the hardcoded jump addresses, + // which are now relative to PCOUNT, and the hardcoded offset, which is now symbolic. + andBool CP ==K OP + [ 12 := #buf(2, PCOUNT +Int 35) ] + [ 25 := OFFSET_BYTES ] + [ 32 := #buf(2, PCOUNT +Int 6) ] + [ 41 := #buf(2, PCOUNT +Int 54) ] + [ 47 := OFFSET_BYTES ] + + // STEP always equals 32 as the memory is copied in chunks of 32 bytes + // This equality is placed in the requires clause instead of in the LHS + // of the config directly to enable unification of the LHS to pass trivially, + // speeding up the execution + andBool STEP ==Int 32 + + // Various well-formedness constraints. In particular, the maxBytesLength-related ones are present to + // remove various chops that would otherwise creep into the execution, and are reasonable since byte + // arrays in actual programs would never reach that size. + andBool 0 <=Int PCOUNT + andBool 0 <=Int LENGTH andBool LENGTH + runLemma ( + #range(PROGRAM, PCOUNT, 25) ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a" + andBool + #range(PROGRAM, PCOUNT +Int 27, 20) ==K b"\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a" + andBool + #range(PROGRAM, PCOUNT +Int 49, 7) ==K b"\x83\x88\x01\x01R[P" + andBool + #asInteger ( #range( PROGRAM, PCOUNT +Int 25, 2 ) ) ==Int #asInteger ( #range( PROGRAM, PCOUNT +Int 47, 2 ) ) + ) => + doneLemma ( true ) + + PROGRAM + PCOUNT + requires + PROGRAM ==K b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00AW`\x005`\xe0\x1c\x80c\n\x92T\xe4\x14a\x00FW\x80c\x92\xf8<\x90\x14a\x00PW\x80c\xa1\x02\xc4%\x14a\x00cW[`\x00\x80\xfd[a\x00Na\x00vV[\x00[a\x00Na\x00^6`\x04a\x036V[a\x00\xc1V[a\x00Na\x00q6`\x04a\x036V[a\x012V[`@Qa\x00\x82\x90a\x029V[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x00\x9eW=`\x00\x80>=`\x00\xfd[P`\x00\x80T`\x01`\x01`\xa0\x1b\x03\x19\x16`\x01`\x01`\xa0\x1b\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x90cHpIo\x90a\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\x13W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01'W=`\x00\x80>=`\x00\xfd[PPPPPPPPPV[`\x00\x80T`@\x80Qc\x84V\xcbY`\xe0\x1b\x81R\x90Q`\x01`\x01`\xa0\x1b\x03\x90\x92\x16\x92c\x84V\xcbY\x92`\x04\x80\x84\x01\x93\x82\x90\x03\x01\x81\x83\x87\x80;\x15\x80\x15a\x01sW`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\x87W=`\x00\x80>=`\x00\xfd[PPPP\x7f\x88\\\xb6\x92@\xa95\xd62\xd7\x9c1q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-`\x00\x1c`\x01`\x01`\xa0\x1b\x03\x16c\xf4\x84H\x14`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\xe9W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\xfdW=`\x00\x80>=`\x00\xfd[PP`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x92PcHpIo\x91Pa\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[a\x03E\x80a\x062\x839\x01\x90V[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\x7fWa\x02\x7fa\x02FV[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\xaeWa\x02\xaea\x02FV[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x02\xcdW`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x02\xe4W`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x02\xfcW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x03\x14W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x03/W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x03NW`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x03fW`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x03zW`\x00\x80\xfd[a\x03\x82a\x02\\V[\x825\x81R` a\x03\x93\x81\x85\x01a\x02\xb6V[\x81\x83\x01Ra\x03\xa3`@\x85\x01a\x02\xb6V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x03\xceW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x03\xe3W`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x03\xf5Wa\x03\xf5a\x02FV[a\x04\x07`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x02\x85V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x04\x1bW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x04H\x89`@\x8a\x01a\x02\xd2V[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x04^W`\x00\x80\xfd[Pa\x04k\x88\x82\x89\x01a\x02\xeaV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\x00\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1f\x90\x91\x01`\x1f\x19\x16\x90\x91\x01\x01\x90V[\x81\x83R`\x00` \x80\x85\x01\x80\x81\x96P\x85`\x05\x1b\x81\x01\x91P\x84`\x00[\x87\x81\x10\x15a\x05*W\x82\x84\x03\x89R\x815`\x1e\x19\x886\x03\x01\x81\x12a\x04\xe0W`\x00\x80\xfd[\x87\x01\x85\x81\x01\x905g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x04\xfcW`\x00\x80\xfd[\x806\x03\x82\x13\x15a\x05\x0bW`\x00\x80\xfd[a\x05\x16\x86\x82\x84a\x04|V[\x9a\x87\x01\x9a\x95PPP\x90\x84\x01\x90`\x01\x01a\x04\xbfV[P\x91\x97\x96PPPPPPPV[`\xe0\x80\x82R\x86Q\x90\x82\x01R` \x80\x87\x01Q`\x01`\x01`\xa0\x1b\x03\x90\x81\x16a\x01\x00\x84\x01R`@\x88\x01Q\x16a\x01 \x83\x01R``\x87\x01Qa\x01@\x83\x01R`\x80\x87\x01Qa\x01`\x83\x01R`\xa0\x87\x01Q`\xc0a\x01\x80\x84\x01R\x80Qa\x01\xa0\x84\x01\x81\x90R`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P\x82\x85\x01\x89\x90R`\x1f\x01`\x1f\x19\x16\x84\x01\x90Pa\x01\xc0a\x06\f`@\x86\x01\x89\x805\x82R` \x81\x015` \x83\x01R`@\x81\x015`@\x83\x01R``\x81\x015``\x83\x01RPPV[\x80\x85\x83\x03\x01`\xc0\x86\x01Ra\x06#\x81\x83\x01\x87\x89a\x04\xa5V[\x9a\x99PPPPPPPPPPV\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[Pa\x03%\x80a\x00 `\x009`\x00\xf3\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x006W`\x005`\xe0\x1c\x80cHpIo\x14a\x00;W\x80c\x84V\xcbY\x14a\x00PW[`\x00\x80\xfd[a\x00Na\x00I6`\x04a\x01\xa9V[a\x00bV[\x00[a\x00N`\x00\x80T`\xff\x19\x16`\x01\x17\x90UV[`\x00T`\xff\x16\x15a\x00\xb2W`@QbF\x1b\xcd`\xe5\x1b\x81R` `\x04\x82\x01R`\x16`$\x82\x01Ru\x13\xdc\x1d\x1a[Z\\\xdbT\x1b\xdc\x9d\x18[\x0e\x88\x1c\x18]\\\xd9Y`R\x1b`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xfd[PPPPPV[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x00\xf2Wa\x00\xf2a\x00\xb9V[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x01!Wa\x01!a\x00\xb9V[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x01@W`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x01WW`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x01oW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x01\x87W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x01\xa2W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x01\xc1W`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x01\xd9W`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x01\xedW`\x00\x80\xfd[a\x01\xf5a\x00\xcfV[\x825\x81R` a\x02\x06\x81\x85\x01a\x01)V[\x81\x83\x01Ra\x02\x16`@\x85\x01a\x01)V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x02AW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x02VW`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x02hWa\x02ha\x00\xb9V[a\x02z`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x00\xf8V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x02\x8eW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x02\xbb\x89`@\x8a\x01a\x01EV[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x02\xd1W`\x00\x80\xfd[Pa\x02\xde\x88\x82\x89\x01a\x01]V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV\xfe\xa2dipfsX\"\x12 \xdc'\xd1\x9b\x8dS\xe0\xa2O\x86k\x19\xa4\x9f\xd1\xa3\x12_\xfb\x0e\x17\xcbDk}\xd6\xc7\x9a\xc5\x9f\xfb\x8bdsolcC\x00\x08\x0f\x003\xa2dipfsX\"\x12 \xb0<\xc1\x9e\xa1U(<)%|.w\xe8\x8c\xa2\x85\xe8y\xc9T\xebI\xf9\x1b\xc2\x91\xd6,\xc58\xeedsolcC\x00\x08\x0f\x003" + andBool + PCOUNT ==Int 1427 + + claim [bytes-indexing-via-range]: + runLemma ( PROGRAM [ PCOUNT ] ==K 96) => doneLemma ( true ) ... + requires #range(PROGRAM, PCOUNT, 25) ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a" + andBool #range(PROGRAM, PCOUNT +Int 27, 20) ==K b"\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a" + andBool #range(PROGRAM, PCOUNT +Int 49, 7) ==K b"\x83\x88\x01\x01R[P" + andBool OFFSET:Int ==Int #asInteger ( #range( PROGRAM, PCOUNT +Int 25, 2 ) ) + andBool OFFSET:Int ==Int #asInteger ( #range( PROGRAM, PCOUNT +Int 47, 2 ) ) + andBool PCOUNT <=Int lengthBytes(PROGRAM) + + claim [bytes-indexing-via-concat]: + runLemma ( PROGRAM [ PCOUNT ] ==Int 96 ) => doneLemma ( true ) ... + requires PROGRAM ==K PROG_PRE +Bytes b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a" +Bytes + OFFSET_BYTES +Bytes b"\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a" +Bytes OFFSET_BYTES +Bytes + b"\x83\x88\x01\x01R[P" +Bytes _PROG_POST + andBool lengthBytes(PROG_PRE) ==Int PCOUNT + andBool lengthBytes(OFFSET_BYTES) ==Int 2 + andBool PCOUNT <=Int lengthBytes(PROGRAM) + + claim [copy-memory-to-memory-provable]: + #execute ... + false + SHANGHAI + JUMPDESTS + // The program and program counter are symbolic, focusing on the part we will be executing (CP) + PROG_PRE +Bytes CP +Bytes _PROG_POST + PCOUNT => PCOUNT +Int lengthBytes(CP) + // The word stack has the appropriate form, as per the compiled code + LENGTH : SRC : STEP : DEST : WS => LENGTH : SRC : STEP : 0 : DEST : WS + // The program copies LENGTH bytes of memory from SRC +Int 32 to DEST +Int OFFSET, + // padded with 32 zeros in case LENGTH is not divisible by 32 + + LM => LM [ DEST +Int OFFSET := #range ( LM, SRC +Int 32, LENGTH ) +Bytes + #buf ( ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) , 0 ) +Bytes + #buf ( ( ( ( 32 -Int ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) ) ) modInt 32 ), 0 ) ] + + // OP is the program corresponding to the compiled EVM bytecode shown above, starting from program counter 1427 + requires OP ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P" + // The execution effectively starts from CP + andBool lengthBytes(PROG_PRE) ==Int PCOUNT + // OFFSET_BYTES and OFFSET represent a symbolic offset, generalizing the concrete hardcoded offset (448). + andBool lengthBytes(OFFSET_BYTES) ==K 2 + andBool OFFSET ==Int #asWord ( OFFSET_BYTES ) + + // The current program we are executing differs from the original one only in the hardcoded jump addresses, + // which are now relative to PCOUNT, and the hardcoded offset, which is now symbolic. + andBool CP ==K OP + [ 12 := #buf(2, PCOUNT +Int 35) ] + [ 25 := OFFSET_BYTES ] + [ 32 := #buf(2, PCOUNT +Int 6) ] + [ 41 := #buf(2, PCOUNT +Int 54) ] + [ 47 := OFFSET_BYTES ] + + // STEP always equals 32 as the memory is copied in chunks of 32 bytes + // This equality is placed in the requires clause instead of in the LHS + // of the config directly to enable unification of the LHS to pass trivially, + // speeding up the execution + andBool STEP ==Int 32 + + // Various well-formedness constraints. In particular, the maxBytesLength-related ones are present to + // remove various chops that would otherwise creep into the execution, and are reasonable since byte + // arrays in actual programs would never reach that size. + andBool 0 <=Int PCOUNT + andBool 0 <=Int LENGTH andBool LENGTH runLemma ( + #range(PROGRAM, PCOUNT +Int 25, 2) ==K #range(PROGRAM, PCOUNT +Int 47, 2) + andBool #range(PROGRAM, PCOUNT, 56) ==K + b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P" + [ 12 := #buf(2, PCOUNT +Int 35) ] + [ 25 := #range(PROGRAM, PCOUNT +Int 25, 2) ] + [ 32 := #buf(2, PCOUNT +Int 6) ] + [ 41 := #buf(2, PCOUNT +Int 54) ] + [ 47 := #range(PROGRAM, PCOUNT +Int 47, 2) ] + + andBool 0 <=Int PCOUNT + andBool 0 <=Int LENGTH andBool LENGTH doneLemma ( + true + ) + + requires PROGRAM ==K b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00AW`\x005`\xe0\x1c\x80c\n\x92T\xe4\x14a\x00FW\x80c\x92\xf8<\x90\x14a\x00PW\x80c\xa1\x02\xc4%\x14a\x00cW[`\x00\x80\xfd[a\x00Na\x00vV[\x00[a\x00Na\x00^6`\x04a\x036V[a\x00\xc1V[a\x00Na\x00q6`\x04a\x036V[a\x012V[`@Qa\x00\x82\x90a\x029V[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x00\x9eW=`\x00\x80>=`\x00\xfd[P`\x00\x80T`\x01`\x01`\xa0\x1b\x03\x19\x16`\x01`\x01`\xa0\x1b\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x90cHpIo\x90a\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\x13W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01'W=`\x00\x80>=`\x00\xfd[PPPPPPPPPV[`\x00\x80T`@\x80Qc\x84V\xcbY`\xe0\x1b\x81R\x90Q`\x01`\x01`\xa0\x1b\x03\x90\x92\x16\x92c\x84V\xcbY\x92`\x04\x80\x84\x01\x93\x82\x90\x03\x01\x81\x83\x87\x80;\x15\x80\x15a\x01sW`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\x87W=`\x00\x80>=`\x00\xfd[PPPP\x7f\x88\\\xb6\x92@\xa95\xd62\xd7\x9c1q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-`\x00\x1c`\x01`\x01`\xa0\x1b\x03\x16c\xf4\x84H\x14`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\xe9W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\xfdW=`\x00\x80>=`\x00\xfd[PP`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x92PcHpIo\x91Pa\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[a\x03E\x80a\x062\x839\x01\x90V[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\x7fWa\x02\x7fa\x02FV[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\xaeWa\x02\xaea\x02FV[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x02\xcdW`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x02\xe4W`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x02\xfcW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x03\x14W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x03/W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x03NW`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x03fW`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x03zW`\x00\x80\xfd[a\x03\x82a\x02\\V[\x825\x81R` a\x03\x93\x81\x85\x01a\x02\xb6V[\x81\x83\x01Ra\x03\xa3`@\x85\x01a\x02\xb6V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x03\xceW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x03\xe3W`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x03\xf5Wa\x03\xf5a\x02FV[a\x04\x07`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x02\x85V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x04\x1bW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x04H\x89`@\x8a\x01a\x02\xd2V[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x04^W`\x00\x80\xfd[Pa\x04k\x88\x82\x89\x01a\x02\xeaV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\x00\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1f\x90\x91\x01`\x1f\x19\x16\x90\x91\x01\x01\x90V[\x81\x83R`\x00` \x80\x85\x01\x80\x81\x96P\x85`\x05\x1b\x81\x01\x91P\x84`\x00[\x87\x81\x10\x15a\x05*W\x82\x84\x03\x89R\x815`\x1e\x19\x886\x03\x01\x81\x12a\x04\xe0W`\x00\x80\xfd[\x87\x01\x85\x81\x01\x905g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x04\xfcW`\x00\x80\xfd[\x806\x03\x82\x13\x15a\x05\x0bW`\x00\x80\xfd[a\x05\x16\x86\x82\x84a\x04|V[\x9a\x87\x01\x9a\x95PPP\x90\x84\x01\x90`\x01\x01a\x04\xbfV[P\x91\x97\x96PPPPPPPV[`\xe0\x80\x82R\x86Q\x90\x82\x01R` \x80\x87\x01Q`\x01`\x01`\xa0\x1b\x03\x90\x81\x16a\x01\x00\x84\x01R`@\x88\x01Q\x16a\x01 \x83\x01R``\x87\x01Qa\x01@\x83\x01R`\x80\x87\x01Qa\x01`\x83\x01R`\xa0\x87\x01Q`\xc0a\x01\x80\x84\x01R\x80Qa\x01\xa0\x84\x01\x81\x90R`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P\x82\x85\x01\x89\x90R`\x1f\x01`\x1f\x19\x16\x84\x01\x90Pa\x01\xc0a\x06\f`@\x86\x01\x89\x805\x82R` \x81\x015` \x83\x01R`@\x81\x015`@\x83\x01R``\x81\x015``\x83\x01RPPV[\x80\x85\x83\x03\x01`\xc0\x86\x01Ra\x06#\x81\x83\x01\x87\x89a\x04\xa5V[\x9a\x99PPPPPPPPPPV\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[Pa\x03%\x80a\x00 `\x009`\x00\xf3\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x006W`\x005`\xe0\x1c\x80cHpIo\x14a\x00;W\x80c\x84V\xcbY\x14a\x00PW[`\x00\x80\xfd[a\x00Na\x00I6`\x04a\x01\xa9V[a\x00bV[\x00[a\x00N`\x00\x80T`\xff\x19\x16`\x01\x17\x90UV[`\x00T`\xff\x16\x15a\x00\xb2W`@QbF\x1b\xcd`\xe5\x1b\x81R` `\x04\x82\x01R`\x16`$\x82\x01Ru\x13\xdc\x1d\x1a[Z\\\xdbT\x1b\xdc\x9d\x18[\x0e\x88\x1c\x18]\\\xd9Y`R\x1b`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xfd[PPPPPV[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x00\xf2Wa\x00\xf2a\x00\xb9V[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x01!Wa\x01!a\x00\xb9V[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x01@W`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x01WW`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x01oW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x01\x87W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x01\xa2W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x01\xc1W`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x01\xd9W`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x01\xedW`\x00\x80\xfd[a\x01\xf5a\x00\xcfV[\x825\x81R` a\x02\x06\x81\x85\x01a\x01)V[\x81\x83\x01Ra\x02\x16`@\x85\x01a\x01)V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x02AW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x02VW`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x02hWa\x02ha\x00\xb9V[a\x02z`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x00\xf8V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x02\x8eW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x02\xbb\x89`@\x8a\x01a\x01EV[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x02\xd1W`\x00\x80\xfd[Pa\x02\xde\x88\x82\x89\x01a\x01]V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV\xfe\xa2dipfsX\"\x12 \xdc'\xd1\x9b\x8dS\xe0\xa2O\x86k\x19\xa4\x9f\xd1\xa3\x12_\xfb\x0e\x17\xcbDk}\xd6\xc7\x9a\xc5\x9f\xfb\x8bdsolcC\x00\x08\x0f\x003\xa2dipfsX\"\x12 \xb0<\xc1\x9e\xa1U(<)%|.w\xe8\x8c\xa2\x85\xe8y\xc9T\xebI\xf9\x1b\xc2\x91\xd6,\xc58\xeedsolcC\x00\x08\x0f\x003" + andBool PCOUNT ==Int 1427 + andBool LENGTH ==Int lengthBytes ( BYTES_DATA:Bytes ) + andBool SRC ==Int 320 + andBool DEST ==Int ( ( notMaxUInt5 &Int ( lengthBytes ( BYTES_DATA:Bytes ) +Int maxUInt5 ) ) +Int 356 ) + andBool JUMPDESTS ==K ( SetItem ( 1961 ) ( SetItem ( 1967 ) ( SetItem ( 1943 ) ( SetItem ( 1985 ) ( SetItem ( 1938 ) ( SetItem ( 1915 ) ( SetItem ( 1907 ) ( SetItem ( 1803 ) ( SetItem ( 1825 ) ( SetItem ( 1866 ) ( SetItem ( 1860 ) ( SetItem ( 1716 ) ( SetItem ( 1796 ) ( SetItem ( 1672 ) ( SetItem ( 1677 ) ( SetItem ( 1696 ) ( SetItem ( 1691 ) ( SetItem ( 1698 ) ( SetItem ( 1634 ) ( SetItem ( 1602 ) ( SetItem ( 1571 ) ( SetItem ( 1548 ) ( SetItem ( 1433 ) ( SetItem ( 1462 ) ( SetItem ( 1481 ) ( SetItem ( 1302 ) ( SetItem ( 1335 ) ( SetItem ( 1322 ) ( SetItem ( 1291 ) ( SetItem ( 1276 ) ( SetItem ( 1248 ) ( SetItem ( 1215 ) ( SetItem ( 1131 ) ( SetItem ( 1118 ) ( SetItem ( 1189 ) ( SetItem ( 1148 ) ( SetItem ( 1096 ) ( SetItem ( 1031 ) ( SetItem ( 1013 ) ( SetItem ( 1051 ) ( SetItem ( 78 ) ( SetItem ( 70 ) ( SetItem ( 65 ) ( SetItem ( 16 ) ( SetItem ( 80 ) ( SetItem ( 99 ) ( SetItem ( 94 ) ( SetItem ( 2252 ) ( SetItem ( 2272 ) ( SetItem ( 2216 ) ( SetItem ( 2234 ) ( SetItem ( 2317 ) ( SetItem ( 2339 ) ( SetItem ( 2352 ) ( SetItem ( 2091 ) ( SetItem ( 2009 ) ( SetItem ( 2067 ) ( SetItem ( 2043 ) ( SetItem ( 2036 ) ( SetItem ( 2152 ) ( SetItem ( 2195 ) ( SetItem ( 2111 ) ( SetItem ( 2119 ) ( SetItem ( 2136 ) ( SetItem ( 371 ) ( SetItem ( 306 ) ( SetItem ( 391 ) ( SetItem ( 295 ) ( SetItem ( 275 ) ( SetItem ( 249 ) ( SetItem ( 113 ) ( SetItem ( 118 ) ( SetItem ( 130 ) ( SetItem ( 193 ) ( SetItem ( 158 ) ( SetItem ( 870 ) ( SetItem ( 815 ) ( SetItem ( 822 ) ( SetItem ( 846 ) ( SetItem ( 890 ) ( SetItem ( 898 ) ( SetItem ( 788 ) ( SetItem ( 740 ) ( SetItem ( 746 ) ( SetItem ( 764 ) ( SetItem ( 717 ) ( SetItem ( 722 ) ( SetItem ( 645 ) ( SetItem ( 639 ) ( SetItem ( 604 ) ( SetItem ( 694 ) ( SetItem ( 686 ) ( SetItem ( 582 ) ( SetItem ( 569 ) ( SetItem ( 509 ) ( SetItem ( 489 ) ( SetItem ( 915 ) ( SetItem ( 974 ) ( SetItem ( 931 ) SetItem ( 995 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + andBool WS:WordStack ==K ( 10 : ( ( lengthBytes ( BYTES_DATA:Bytes ) +Int 484 ) : ( 68 : ( L2OutputIndex:Int : ( 128 : ( 249 : ( _ : ( 491460923342184218035706888008750043977755113263 : ( 10 : ( ( lengthBytes ( BYTES_DATA:Bytes ) +Int 484 ) : ( 68 : ( L2OutputIndex:Int : ( 128 : ( 78 : ( _ : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + andBool LM ==K b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( notMaxUInt5 &Int ( lengthBytes ( BYTES_DATA:Bytes ) +Int maxUInt5 ) ) +Int 352 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , Nonce:Int ) +Bytes #buf ( 32 , Sender:Int ) +Bytes #buf ( 32 , Target:Int ) +Bytes #buf ( 32 , Value:Int ) +Bytes #buf ( 32 , GasLimit:Int ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01@" +Bytes #buf ( 32 , lengthBytes ( BYTES_DATA:Bytes ) ) +Bytes BYTES_DATA:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( BYTES_DATA:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( BYTES_DATA:Bytes ) ) , 0 ) +Bytes b"HpIo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , Nonce:Int ) +Bytes #buf ( 32 , Sender:Int ) +Bytes #buf ( 32 , Target:Int ) +Bytes #buf ( 32 , Value:Int ) +Bytes #buf ( 32 , GasLimit:Int ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0" +Bytes #buf ( 32 , lengthBytes ( BYTES_DATA:Bytes ) ) + + andBool lengthBytes ( BYTES_DATA:Bytes ) <=Int 1048576 + +endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/contracts.k.expected b/src/tests/integration/test-data/show/contracts.k.expected index b38a04de9..f3fa925f3 100644 --- a/src/tests/integration/test-data/show/contracts.k.expected +++ b/src/tests/integration/test-data/show/contracts.k.expected @@ -10391,6 +10391,299 @@ module S2KtestZModPlainPrankTest-CONTRACT rule ( selector ( "test_stopPrank_notExistent()" ) => 279002555 ) +endmodule + +module S2KsrcZModPortal-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KsrcZModPortalContract + + syntax S2KsrcZModPortalContract ::= "S2KsrcZModPortal" [symbol(), klabel(contract_src%Portal)] + + + + rule ( #initBytecode ( S2KsrcZModPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101f1565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561013a5761013a610101565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561016957610169610101565b604052919050565b80356001600160a01b038116811461018857600080fd5b919050565b60006080828403121561019f57600080fd5b50919050565b60008083601f8401126101b757600080fd5b50813567ffffffffffffffff8111156101cf57600080fd5b6020830191508360208260051b85010111156101ea57600080fd5b9250929050565b600080600080600060e0868803121561020957600080fd5b853567ffffffffffffffff8082111561022157600080fd5b9087019060c0828a03121561023557600080fd5b61023d610117565b82358152602061024e818501610171565b8183015261025e60408501610171565b6040830152606084013560608301526080840135608083015260a08401358381111561028957600080fd5b8085019450508a601f85011261029e57600080fd5b8335838111156102b0576102b0610101565b6102c2601f8201601f19168301610140565b8181528c838388010111156102d657600080fd5b8183870184830137600091810183019190915260a083015290975088013595506103038960408a0161018d565b945060c088013591508082111561031957600080fd5b50610326888289016101a5565b96999598509396509294939250505056fea2646970667358221220a5957bdb0722beb5aae24e7f89b211a669b152f8a4d8b565c4092114902c304564736f6c634300080d0033" ) ) + + + syntax Field ::= S2KsrcZModPortalField + + syntax S2KsrcZModPortalField ::= "paused" [symbol(), klabel(field_src%Portal_paused)] + + rule ( #loc ( S2KsrcZModPortal . paused ) => 0 ) + + + syntax Bytes ::= S2KsrcZModPortalContract "." S2KsrcZModPortalMethod [function(), symbol(), klabel(method_src%Portal)] + + syntax S2KsrcZModPortalMethod ::= "S2Kpause" "(" ")" [symbol(), klabel(method_src%Portal_S2Kpause_)] + + syntax S2KsrcZModPortalMethod ::= "S2KproveWithdrawalTransaction" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(), klabel(method_src%Portal_S2KproveWithdrawalTransaction_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] + + rule ( S2KsrcZModPortal . S2Kpause ( ) => #abiCallData ( "pause" , .TypedArgs ) ) + + + rule ( S2KsrcZModPortal . S2KproveWithdrawalTransaction ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "proveWithdrawalTransaction" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_nonce ) + andBool ( #rangeAddress ( V1_sender ) + andBool ( #rangeAddress ( V2_target ) + andBool ( #rangeUInt ( 256 , V3_value ) + andBool ( #rangeUInt ( 256 , V4_gasLimit ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) + andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) + andBool ( #rangeBytes ( 32 , V7_version ) + andBool ( #rangeBytes ( 32 , V8_stateRoot ) + andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) + andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) + ))))))))))))) + + + rule ( selector ( "pause()" ) => 2220280665 ) + + + rule ( selector ( "proveWithdrawalTransaction((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 1215318383 ) + + +endmodule + +module S2KsrcZModTypes-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KsrcZModTypesContract + + syntax S2KsrcZModTypesContract ::= "S2KsrcZModTypes" [symbol(), klabel(contract_src%Types)] + + + + rule ( #initBytecode ( S2KsrcZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122023265d3d5b9197828eca40eebb820e4578a3034faa662c6d0e0b5f0810b595a564736f6c634300080d0033" ) ) + + +endmodule + +module S2KtestZModPortalTest-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KtestZModPortalTestContract + + syntax S2KtestZModPortalTestContract ::= "S2KtestZModPortalTest" [symbol(), klabel(contract_test%PortalTest)] + + + + rule ( #initBytecode ( S2KtestZModPortalTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113028061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063916a17c611610071578063916a17c61461011b578063b5508aa914610123578063ba414fa61461012b578063c1cd1d7c14610143578063e20c9f7114610156578063fa7626d41461015e57600080fd5b80630a9254e4146100b95780631ed7831c146100c35780633e5e3c23146100e15780633f7286f4146100e957806366d9a9a0146100f157806385226c8114610106575b600080fd5b6100c161016b565b005b6100cb6101b6565b6040516100d89190610936565b60405180910390f35b6100cb610218565b6100cb610278565b6100f96102d8565b6040516100d89190610983565b61010e6103c7565b6040516100d89190610a92565b6100f9610497565b61010e61057d565b61013361064d565b60405190151581526020016100d8565b6100c1610151366004610bdf565b61077a565b6100cb6108c9565b6007546101339060ff1681565b60405161017790610929565b604051809103906000f080158015610193573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060601480548060200260200160405190810160405280929190818152602001828054801561020e57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f0575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103a657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103685790505b505050505081525050815260200190600101906102fc565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103be57838290600052602060002001805461040a90610d25565b80601f016020809104026020016040519081016040528092919081815260200182805461043690610d25565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050815260200190600101906103eb565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561056557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105275790505b505050505081525050815260200190600101906104bb565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103be5783829060005260206000200180546105c090610d25565b80601f01602080910402602001604051908101604052809291908181526020018280546105ec90610d25565b80156106395780601f1061060e57610100808354040283529160200191610639565b820191906000526020600020905b81548152906001019060200180831161061c57829003601f168201915b5050505050815260200190600101906105a1565b600754600090610100900460ff161561066f5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916106fd917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610d59565b60408051601f198184030181529082905261071791610d8a565b6000604051808303816000865af19150503d8060008114610754576040519150601f19603f3d011682016040523d82523d6000602084013e610759565b606091505b50915050808060200190518101906107719190610da6565b9150505b919050565b601b60009054906101000a90046001600160a01b03166001600160a01b0316638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561084057600080fd5b505af1158015610854573d6000803e3d6000fd5b5050601b54604051634870496f60e01b81526001600160a01b039091169250634870496f91506108909088908890889088908890600401610e89565b600060405180830381600087803b1580156108aa57600080fd5b505af11580156108be573d6000803e3d6000fd5b505050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b61038d80610f4083390190565b6020808252825182820181905260009190848201906040850190845b818110156109775783516001600160a01b031683529284019291840191600101610952565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610a2757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610a125783516001600160e01b0319168252928b019260019290920191908b01906109e8565b50978a019795505050918701916001016109ab565b50919998505050505050505050565b60005b83811015610a51578181015183820152602001610a39565b83811115610a60576000848401525b50505050565b60008151808452610a7e816020860160208601610a36565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610ae757603f19888603018452610ad5858351610a66565b94509285019290850190600101610ab9565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610b2d57610b2d610af4565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610b5c57610b5c610af4565b604052919050565b80356001600160a01b038116811461077557600080fd5b600060808284031215610b8d57600080fd5b50919050565b60008083601f840112610ba557600080fd5b50813567ffffffffffffffff811115610bbd57600080fd5b6020830191508360208260051b8501011115610bd857600080fd5b9250929050565b600080600080600060e08688031215610bf757600080fd5b853567ffffffffffffffff80821115610c0f57600080fd5b9087019060c0828a031215610c2357600080fd5b610c2b610b0a565b823581526020610c3c818501610b64565b81830152610c4c60408501610b64565b6040830152606084013560608301526080840135608083015260a084013583811115610c7757600080fd5b8085019450508a601f850112610c8c57600080fd5b833583811115610c9e57610c9e610af4565b610cb0601f8201601f19168301610b33565b8181528c83838801011115610cc457600080fd5b8183870184830137600091810183019190915260a08301529097508801359550610cf18960408a01610b7b565b945060c0880135915080821115610d0757600080fd5b50610d1488828901610b93565b969995985093965092949392505050565b600181811c90821680610d3957607f821691505b602082108103610b8d57634e487b7160e01b600052602260045260246000fd5b6001600160e01b0319831681528151600090610d7c816004850160208701610a36565b919091016004019392505050565b60008251610d9c818460208701610a36565b9190910192915050565b600060208284031215610db857600080fd5b81518015158114610dc857600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b87811015610e7c5782840389528135601e19883603018112610e3357600080fd5b8701803567ffffffffffffffff811115610e4c57600080fd5b803603891315610e5b57600080fd5b610e688682898501610dcf565b9a87019a9550505090840190600101610e12565b5091979650505050505050565b60e080825286519082015260208601516001600160a01b039081166101008301526040870151166101208201526060860151610140820152608086015161016082015260a086015160c0610180830152600090610eea6101a0840182610a66565b9050866020840152610f206040840187803582526020810135602083015260408101356040830152606081013560608301525050565b82810360c0840152610f33818587610df8565b9897505050505050505056fe608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101f1565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561013a5761013a610101565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561016957610169610101565b604052919050565b80356001600160a01b038116811461018857600080fd5b919050565b60006080828403121561019f57600080fd5b50919050565b60008083601f8401126101b757600080fd5b50813567ffffffffffffffff8111156101cf57600080fd5b6020830191508360208260051b85010111156101ea57600080fd5b9250929050565b600080600080600060e0868803121561020957600080fd5b853567ffffffffffffffff8082111561022157600080fd5b9087019060c0828a03121561023557600080fd5b61023d610117565b82358152602061024e818501610171565b8183015261025e60408501610171565b6040830152606084013560608301526080840135608083015260a08401358381111561028957600080fd5b8085019450508a601f85011261029e57600080fd5b8335838111156102b0576102b0610101565b6102c2601f8201601f19168301610140565b8181528c838388010111156102d657600080fd5b8183870184830137600091810183019190915260a083015290975088013595506103038960408a0161018d565b945060c088013591508082111561031957600080fd5b50610326888289016101a5565b96999598509396509294939250505056fea2646970667358221220a5957bdb0722beb5aae24e7f89b211a669b152f8a4d8b565c4092114902c304564736f6c634300080d0033a2646970667358221220add3d9eea4e4b570aebaf9629b781414e72fba5586aff3f741f59508610424b664736f6c634300080d0033" ) ) + + + syntax Field ::= S2KtestZModPortalTestField + + syntax S2KtestZModPortalTestField ::= "stdstore" [symbol(), klabel(field_test%PortalTest_stdstore)] + + syntax S2KtestZModPortalTestField ::= "IS_TEST" [symbol(), klabel(field_test%PortalTest_IS_TEST)] + + syntax S2KtestZModPortalTestField ::= "_failed" [symbol(), klabel(field_test%PortalTest__failed)] + + syntax S2KtestZModPortalTestField ::= "stdChainsInitialized" [symbol(), klabel(field_test%PortalTest_stdChainsInitialized)] + + syntax S2KtestZModPortalTestField ::= "chains" [symbol(), klabel(field_test%PortalTest_chains)] + + syntax S2KtestZModPortalTestField ::= "defaultRpcUrls" [symbol(), klabel(field_test%PortalTest_defaultRpcUrls)] + + syntax S2KtestZModPortalTestField ::= "idToAlias" [symbol(), klabel(field_test%PortalTest_idToAlias)] + + syntax S2KtestZModPortalTestField ::= "fallbackToDefaultRpcUrls" [symbol(), klabel(field_test%PortalTest_fallbackToDefaultRpcUrls)] + + syntax S2KtestZModPortalTestField ::= "gasMeteringOff" [symbol(), klabel(field_test%PortalTest_gasMeteringOff)] + + syntax S2KtestZModPortalTestField ::= "_excludedContracts" [symbol(), klabel(field_test%PortalTest__excludedContracts)] + + syntax S2KtestZModPortalTestField ::= "_excludedSenders" [symbol(), klabel(field_test%PortalTest__excludedSenders)] + + syntax S2KtestZModPortalTestField ::= "_targetedContracts" [symbol(), klabel(field_test%PortalTest__targetedContracts)] + + syntax S2KtestZModPortalTestField ::= "_targetedSenders" [symbol(), klabel(field_test%PortalTest__targetedSenders)] + + syntax S2KtestZModPortalTestField ::= "_excludedArtifacts" [symbol(), klabel(field_test%PortalTest__excludedArtifacts)] + + syntax S2KtestZModPortalTestField ::= "_targetedArtifacts" [symbol(), klabel(field_test%PortalTest__targetedArtifacts)] + + syntax S2KtestZModPortalTestField ::= "_targetedArtifactSelectors" [symbol(), klabel(field_test%PortalTest__targetedArtifactSelectors)] + + syntax S2KtestZModPortalTestField ::= "_targetedSelectors" [symbol(), klabel(field_test%PortalTest__targetedSelectors)] + + syntax S2KtestZModPortalTestField ::= "portalContract" [symbol(), klabel(field_test%PortalTest_portalContract)] + + rule ( #loc ( S2KtestZModPortalTest . stdstore ) => 0 ) + + + rule ( #loc ( S2KtestZModPortalTest . IS_TEST ) => 7 ) + + + rule ( #loc ( S2KtestZModPortalTest . _failed ) => 7 ) + + + rule ( #loc ( S2KtestZModPortalTest . stdChainsInitialized ) => 7 ) + + + rule ( #loc ( S2KtestZModPortalTest . chains ) => 8 ) + + + rule ( #loc ( S2KtestZModPortalTest . defaultRpcUrls ) => 9 ) + + + rule ( #loc ( S2KtestZModPortalTest . idToAlias ) => 10 ) + + + rule ( #loc ( S2KtestZModPortalTest . fallbackToDefaultRpcUrls ) => 11 ) + + + rule ( #loc ( S2KtestZModPortalTest . gasMeteringOff ) => 11 ) + + + rule ( #loc ( S2KtestZModPortalTest . _excludedContracts ) => 19 ) + + + rule ( #loc ( S2KtestZModPortalTest . _excludedSenders ) => 20 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedContracts ) => 21 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedSenders ) => 22 ) + + + rule ( #loc ( S2KtestZModPortalTest . _excludedArtifacts ) => 23 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedArtifacts ) => 24 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedArtifactSelectors ) => 25 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedSelectors ) => 26 ) + + + rule ( #loc ( S2KtestZModPortalTest . portalContract ) => 27 ) + + + syntax Bytes ::= S2KtestZModPortalTestContract "." S2KtestZModPortalTestMethod [function(), symbol(), klabel(method_test%PortalTest)] + + syntax S2KtestZModPortalTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KISZUndTEST_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KexcludeArtifacts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KexcludeContracts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KexcludeSenders_)] + + syntax S2KtestZModPortalTestMethod ::= "S2Kfailed" "(" ")" [symbol(), klabel(method_test%PortalTest_S2Kfailed_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KsetUp" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KsetUp_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetArtifactSelectors_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetArtifacts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetContracts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetSelectors_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetSenders_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtestZUndwithdrawalZUndpaused" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(), klabel(method_test%PortalTest_S2KtestZUndwithdrawalZUndpaused_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes_bytes_bytes_bytes_bytes_bytes_bytes_bytes_bytes)] + + rule ( S2KtestZModPortalTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KsetUp ( ) => #abiCallData ( "setUp" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtestZUndwithdrawalZUndpaused ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes , V11__withdrawalProof_2 : bytes , V11__withdrawalProof_3 : bytes , V11__withdrawalProof_4 : bytes , V11__withdrawalProof_5 : bytes , V11__withdrawalProof_6 : bytes , V11__withdrawalProof_7 : bytes , V11__withdrawalProof_8 : bytes , V11__withdrawalProof_9 : bytes ) => #abiCallData ( "test_withdrawal_paused" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 10 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , #bytes ( V11__withdrawalProof_2 ) , #bytes ( V11__withdrawalProof_3 ) , #bytes ( V11__withdrawalProof_4 ) , #bytes ( V11__withdrawalProof_5 ) , #bytes ( V11__withdrawalProof_6 ) , #bytes ( V11__withdrawalProof_7 ) , #bytes ( V11__withdrawalProof_8 ) , #bytes ( V11__withdrawalProof_9 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_nonce ) + andBool ( #rangeAddress ( V1_sender ) + andBool ( #rangeAddress ( V2_target ) + andBool ( #rangeUInt ( 256 , V3_value ) + andBool ( #rangeUInt ( 256 , V4_gasLimit ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) + andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) + andBool ( #rangeBytes ( 32 , V7_version ) + andBool ( #rangeBytes ( 32 , V8_stateRoot ) + andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) + andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) + andBool ( lengthBytes ( V11__withdrawalProof_0 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_1 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_2 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_3 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_4 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_5 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_6 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_7 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_8 ) ==Int 600 + andBool ( lengthBytes ( V11__withdrawalProof_9 ) ==Int 600 + ))))))))))))))))))))) + + + rule ( selector ( "IS_TEST()" ) => 4202047188 ) + + + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + + + rule ( selector ( "excludeContracts()" ) => 3792478065 ) + + + rule ( selector ( "excludeSenders()" ) => 517440284 ) + + + rule ( selector ( "failed()" ) => 3124842406 ) + + + rule ( selector ( "setUp()" ) => 177362148 ) + + + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + + + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + + + rule ( selector ( "targetContracts()" ) => 1064470260 ) + + + rule ( selector ( "targetSelectors()" ) => 2439649222 ) + + + rule ( selector ( "targetSenders()" ) => 1046363171 ) + + + rule ( selector ( "test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 3251445116 ) + + endmodule module S2KsrcZModPrank-CONTRACT diff --git a/src/tests/integration/test-data/show/foundry.k.expected b/src/tests/integration/test-data/show/foundry.k.expected index d85ecf4da..1d558d470 100644 --- a/src/tests/integration/test-data/show/foundry.k.expected +++ b/src/tests/integration/test-data/show/foundry.k.expected @@ -1,5 +1,6 @@ requires "contracts.k" -requires "requires/lemmas.k" +requires "requires/sum-to-n-lemmas.k" +requires "requires/pausability-lemmas.k" module FOUNDRY-MAIN imports public S2KsrcZModduplicatesZMod1ZModDuplicateName-VERIFICATION @@ -70,6 +71,9 @@ module FOUNDRY-MAIN imports public S2KtestZModAdditionalToken-VERIFICATION imports public S2KtestZModMyErc20-VERIFICATION imports public S2KtestZModPlainPrankTest-VERIFICATION + imports public S2KsrcZModPortal-VERIFICATION + imports public S2KsrcZModTypes-VERIFICATION + imports public S2KtestZModPortalTest-VERIFICATION imports public S2KsrcZModPrank-VERIFICATION imports public S2KtestZModPrankTest-VERIFICATION imports public S2KtestZModPrankTestMsgSender-VERIFICATION @@ -596,6 +600,28 @@ module S2KtestZModPlainPrankTest-VERIFICATION +endmodule + +module S2KsrcZModPortal-VERIFICATION + imports public S2KsrcZModPortal-CONTRACT + + + +endmodule + +module S2KsrcZModTypes-VERIFICATION + imports public S2KsrcZModTypes-CONTRACT + + + +endmodule + +module S2KtestZModPortalTest-VERIFICATION + imports public S2KtestZModPortalTest-CONTRACT + imports public PAUSABILITY-LEMMAS + + + endmodule module S2KsrcZModPrank-VERIFICATION diff --git a/src/tests/integration/test-data/lemmas.k b/src/tests/integration/test-data/sum-to-n-lemmas.k similarity index 100% rename from src/tests/integration/test-data/lemmas.k rename to src/tests/integration/test-data/sum-to-n-lemmas.k diff --git a/src/tests/integration/test_foundry_prove.py b/src/tests/integration/test_foundry_prove.py index eae2373ae..8cac2d0be 100644 --- a/src/tests/integration/test_foundry_prove.py +++ b/src/tests/integration/test_foundry_prove.py @@ -80,8 +80,8 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo foundry_kompile( foundry=Foundry(foundry_root), includes=(), - requires=[str(TEST_DATA_DIR / 'lemmas.k')], - imports=['LoopsTest:SUM-TO-N-INVARIANT'], + requires=[str(TEST_DATA_DIR / 'sum-to-n-lemmas.k'), str(TEST_DATA_DIR / 'pausability-lemmas.k')], + imports=['LoopsTest:SUM-TO-N-INVARIANT', 'PortalTest:PAUSABILITY-LEMMAS'], ) session_foundry_root = tmp_path_factory.mktemp('foundry') From b854b57716179670eb94633eb8a4614210e0926d Mon Sep 17 00:00:00 2001 From: devops Date: Wed, 14 Feb 2024 08:34:30 +0000 Subject: [PATCH 02/28] Set Version: 0.1.160 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index a63a9fe14..de8cc97d7 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.159 +0.1.160 diff --git a/pyproject.toml b/pyproject.toml index 2a577b8a5..b44a51e4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.159" +version = "0.1.160" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index d20927a6e..60ef6884c 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.159' +VERSION: Final = '0.1.160' From 964ca224b22a4ec13e380391917c67c435c81f87 Mon Sep 17 00:00:00 2001 From: devops Date: Thu, 15 Feb 2024 07:54:01 +0000 Subject: [PATCH 03/28] Set Version: 0.1.161 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index de8cc97d7..ea779d0cb 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.160 +0.1.161 diff --git a/pyproject.toml b/pyproject.toml index d59f8565a..d007c85fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.160" +version = "0.1.161" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 60ef6884c..094f0a9a0 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.160' +VERSION: Final = '0.1.161' From 471f0722797268b1576dbe57972a03d5459ad521 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Thu, 15 Feb 2024 18:20:01 +0800 Subject: [PATCH 04/28] Simplify `test_withdrawal_paused` to speed it up --- .../integration/test-data/foundry/test/PortalTest.t.sol | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tests/integration/test-data/foundry/test/PortalTest.t.sol b/src/tests/integration/test-data/foundry/test/PortalTest.t.sol index 50fe3e72c..aab177c65 100644 --- a/src/tests/integration/test-data/foundry/test/PortalTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/PortalTest.t.sol @@ -11,10 +11,11 @@ contract PortalTest is Test { portalContract = new Portal(); } - /// @custom:kontrol-length-equals _withdrawalProof: 10, - /// @custom:kontrol-length-equals _withdrawalProof[]: 600, + /// @custom:kontrol-length-equals _withdrawalProof: 3, + /// @custom:kontrol-length-equals data: 32, + /// @custom:kontrol-length-equals _withdrawalProof[]: 32, function test_withdrawal_paused( - Types.WithdrawalTransaction memory _tx, + Types.WithdrawalTransaction calldata _tx, uint256 _l2OutputIndex, Types.OutputRootProof calldata _outputRootProof, bytes[] calldata _withdrawalProof From 98b11764ef91738ab170edb1b10c97ba7a2a9750 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Fri, 16 Feb 2024 16:26:01 +0800 Subject: [PATCH 05/28] Experimental: temp increase CI timeout --- .github/workflows/test-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 3cc57956a..f3c9d714f 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -100,7 +100,7 @@ jobs: fail-fast: false matrix: backend: ['legacy', 'booster'] - timeout-minutes: 120 + timeout-minutes: 150 steps: - name: 'Check out code' uses: actions/checkout@v3 From ab19d26bdfc799066f137c4e08159d1edc5f81c4 Mon Sep 17 00:00:00 2001 From: devops Date: Thu, 22 Feb 2024 09:59:00 +0000 Subject: [PATCH 06/28] Set Version: 0.1.165 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 68d9ebd16..513095931 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.164 +0.1.165 diff --git a/pyproject.toml b/pyproject.toml index b6fdc5060..f15782d2d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.164" +version = "0.1.165" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index ff487db5e..f02369589 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.164' +VERSION: Final = '0.1.165' From 97acfaf3aac08e3b6e58e46f8d9586c632bb8115 Mon Sep 17 00:00:00 2001 From: devops Date: Mon, 26 Feb 2024 06:34:47 +0000 Subject: [PATCH 07/28] Set Version: 0.1.172 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 8ca4b7176..d26f7fe8b 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.171 +0.1.172 diff --git a/pyproject.toml b/pyproject.toml index d8464c811..d944c6ef0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.171" +version = "0.1.172" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 4faaf2457..ac10890f3 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.171' +VERSION: Final = '0.1.172' From 07f35ce0d7fc7ecaea4105194633626bfdd18f1e Mon Sep 17 00:00:00 2001 From: devops Date: Thu, 29 Feb 2024 09:11:04 +0000 Subject: [PATCH 08/28] Set Version: 0.1.177 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index e8be64cc0..dfb8b6438 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.176 +0.1.177 diff --git a/pyproject.toml b/pyproject.toml index cd00b9882..cb4f0f6ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.176" +version = "0.1.177" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 8023928e6..da248226f 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.176' +VERSION: Final = '0.1.177' From 0495a8fcfb70ef14456b9ebdef27f188c4af47b7 Mon Sep 17 00:00:00 2001 From: devops Date: Sun, 3 Mar 2024 11:25:20 +0000 Subject: [PATCH 09/28] Set Version: 0.1.179 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index e5c7f62e4..f4fdeb66b 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.178 +0.1.179 diff --git a/pyproject.toml b/pyproject.toml index 63b20088e..94a3ae1f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.178" +version = "0.1.179" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 9ffb713bc..ea7dbbf01 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.178' +VERSION: Final = '0.1.179' From b2bdfebaf71688ea53e10bba333fa252d5682b79 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Mon, 4 Mar 2024 14:25:17 +0800 Subject: [PATCH 10/28] Optimism lemmas cleanup --- .../test-data/pausability-lemmas.k | 736 +----------------- 1 file changed, 3 insertions(+), 733 deletions(-) diff --git a/src/tests/integration/test-data/pausability-lemmas.k b/src/tests/integration/test-data/pausability-lemmas.k index 971077785..8d3a57d97 100644 --- a/src/tests/integration/test-data/pausability-lemmas.k +++ b/src/tests/integration/test-data/pausability-lemmas.k @@ -4,10 +4,7 @@ requires "foundry.md" module PAUSABILITY-LEMMAS [symbolic] imports BOOL imports FOUNDRY - imports INFINITE-GAS imports INT-SYMBOLIC - imports MAP-SYMBOLIC - imports SET-SYMBOLIC syntax StepSort ::= Int | Bool @@ -25,182 +22,6 @@ module PAUSABILITY-LEMMAS [symbolic] syntax Int ::= "maxBytesLength" [alias] rule maxBytesLength => 9223372036854775808 - // - // Arithmetic - // - - rule ((X up/Int Y) *Int Y) true - requires X false - [simplification] - - rule A modInt B => A - requires 0 <=Int A andBool A A ==Int B requires B <=Int A [simplification, concrete(A)] - // rule { A <=Int B #Equals true } => { A #Equals B } requires B <=Int A [simplification, concrete(A)] - // rule { true #Equals A <=Int B } => { A #Equals B } requires B <=Int A [simplification, concrete(A)] - - rule ( A +Int B ) -Int B => A [simplification] - rule ( ( A +Int B ) +Int C ) -Int B => A +Int C [simplification] - - rule ( ( A +Int B ) +Int ( C +Int D ) ) => ( A +Int C +Int ( B +Int D ) ) [simplification, concrete(B, D)] - - rule A +Int B <=Int C +Int D => A <=Int C +Int (D -Int B) requires D >=Int B [simplification(60), concrete(B, D)] - rule A +Int B <=Int C +Int D => A +Int (B -Int D) <=Int C requires B A /Int C ==Int B - requires A modInt C ==Int 0 - [simplification, concrete(A, C)] - - // - // Bool - // - - rule false ==Bool X => notBool X [simplification] - rule X ==Bool false => notBool X [simplification] - - rule notBool X ==Bool notBool Y => X ==Bool Y [simplification] - rule { notBool X #Equals notBool Y } => { X #Equals Y } [simplification] - - rule bool2Word ( X ) => 1 requires X [simplification] - rule bool2Word ( X ) => 0 requires notBool X [simplification] - - rule bool2Word ( X ) ==Int bool2Word ( Y ) => X ==Bool Y [simplification] - rule { bool2Word ( X ) #Equals bool2Word ( Y ) } => { X #Equals Y } [simplification] - - // - // ML - // - - rule { true #Equals X ==K Y } => { X #Equals Y } [simplification] - rule { true #Equals X:Int ==Int Y:Int } => { X #Equals Y } [simplification] - rule { false #Equals X ==K Y } => #Not ( { X #Equals Y } ) [simplification] - rule { false #Equals X:Int ==Int Y:Int } => #Not ( { X #Equals Y } ) [simplification] - - rule { true #Equals notBool X:Bool } => { false #Equals X } [simplification] - rule { false #Equals notBool X:Bool } => { true #Equals X } [simplification] - - rule { X ==K Y #Equals true } => { X #Equals Y } [simplification] - rule { X:Int ==Int Y:Int #Equals true } => { X #Equals Y } [simplification] - rule { X ==K Y #Equals false } => #Not ( { X #Equals Y } ) [simplification] - rule { X:Int ==Int Y:Int #Equals false } => #Not ( { X #Equals Y } ) [simplification] - - rule { notBool X:Bool #Equals true } => { false #Equals X } [simplification] - rule { notBool X:Bool #Equals false } => { true #Equals X } [simplification] - - rule #Not ( { X #Equals 0 } ) => { X #Equals 1 } requires #rangeBool ( X ) [simplification] - rule #Not ( { X #Equals 1 } ) => { X #Equals 0 } requires #rangeBool ( X ) [simplification] - - // - // &Int - // - - // Commutativity - rule A &Int B ==Int B &Int A => true [simplification, smt-lemma] - rule { A &Int B #Equals B &Int A } => #Top [simplification] - - // Distributivity of &Int and |Int - rule A &Int (B |Int C) => (A &Int B) |Int (A &Int C) - [concrete(A, B), simplification] - - rule A &Int (B |Int C) => (A &Int B) |Int (A &Int C) - [concrete(A, C), simplification] - - // &Int on non-negative integers remains non-negative - rule 0 <=Int (X &Int Y) => true - requires 0 <=Int X - andBool 0 <=Int Y - [simplification, smt-lemma] - - // Result of &Int cannot be greater than the operands - rule (X &Int Y) <=Int Z => true - requires 0 <=Int X - andBool 0 <=Int Y - andBool (X <=Int Z orBool Y <=Int Z) - [simplification] - - // Anything negative is true - requires 0 <=Int X andBool 0 <=Int Y - andBool A #asWord ( #range(BA, 31, 1) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt16 &Int #asWord ( BA ) => #asWord ( #range(BA, 30, 2) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt24 &Int #asWord ( BA ) => #asWord ( #range(BA, 29, 3) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt32 &Int #asWord ( BA ) => #asWord ( #range(BA, 28, 4) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt40 &Int #asWord ( BA ) => #asWord ( #range(BA, 27, 5) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt48 &Int #asWord ( BA ) => #asWord ( #range(BA, 26, 6) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt56 &Int #asWord ( BA ) => #asWord ( #range(BA, 25, 7) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt64 &Int #asWord ( BA ) => #asWord ( #range(BA, 24, 8) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt72 &Int #asWord ( BA ) => #asWord ( #range(BA, 23, 9) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt80 &Int #asWord ( BA ) => #asWord ( #range(BA, 22, 10) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt88 &Int #asWord ( BA ) => #asWord ( #range(BA, 21, 11) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt96 &Int #asWord ( BA ) => #asWord ( #range(BA, 20, 12) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt104 &Int #asWord ( BA ) => #asWord ( #range(BA, 19, 13) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt112 &Int #asWord ( BA ) => #asWord ( #range(BA, 18, 14) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt120 &Int #asWord ( BA ) => #asWord ( #range(BA, 17, 15) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt128 &Int #asWord ( BA ) => #asWord ( #range(BA, 16, 16) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt136 &Int #asWord ( BA ) => #asWord ( #range(BA, 15, 17) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt144 &Int #asWord ( BA ) => #asWord ( #range(BA, 14, 18) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt152 &Int #asWord ( BA ) => #asWord ( #range(BA, 13, 19) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt160 &Int #asWord ( BA ) => #asWord ( #range(BA, 12, 20) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt168 &Int #asWord ( BA ) => #asWord ( #range(BA, 11, 21) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt176 &Int #asWord ( BA ) => #asWord ( #range(BA, 10, 22) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt184 &Int #asWord ( BA ) => #asWord ( #range(BA, 9, 23) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt192 &Int #asWord ( BA ) => #asWord ( #range(BA, 8, 24) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt200 &Int #asWord ( BA ) => #asWord ( #range(BA, 7, 25) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt208 &Int #asWord ( BA ) => #asWord ( #range(BA, 6, 26) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt216 &Int #asWord ( BA ) => #asWord ( #range(BA, 5, 27) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt224 &Int #asWord ( BA ) => #asWord ( #range(BA, 4, 28) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt232 &Int #asWord ( BA ) => #asWord ( #range(BA, 3, 29) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt240 &Int #asWord ( BA ) => #asWord ( #range(BA, 2, 30) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt248 &Int #asWord ( BA ) => #asWord ( #range(BA, 1, 31) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule maxUInt256 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 32) ) requires lengthBytes(BA) ==Int 32 [simplification] - - // Deconstruction of (notMaxUInt &Int ...) - rule notMaxUInt8 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 31) +Bytes #buf ( 1, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt16 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 30) +Bytes #buf ( 2, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt32 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 28) +Bytes #buf ( 4, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt64 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 24) +Bytes #buf ( 8, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt96 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 20) +Bytes #buf ( 12, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt128 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 16) +Bytes #buf ( 16, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt160 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 12) +Bytes #buf ( 20, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt192 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 8) +Bytes #buf ( 24, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt208 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 6) +Bytes #buf ( 26, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt224 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 4) +Bytes #buf ( 28, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt240 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 2) +Bytes #buf ( 30, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - rule notMaxUInt248 &Int #asWord ( BA ) => #asWord ( #range(BA, 0, 1) +Bytes #buf ( 31, 0 ) ) requires lengthBytes(BA) ==Int 32 [simplification] - - // Irrelevance of lower bits - rule notMaxUInt8 &Int (X |Int (maxUInt8 &Int _)) => notMaxUInt8 &Int X [simplification] - rule notMaxUInt16 &Int (X |Int (maxUInt16 &Int _)) => notMaxUInt16 &Int X [simplification] - rule notMaxUInt32 &Int (X |Int (maxUInt32 &Int _)) => notMaxUInt32 &Int X [simplification] - rule notMaxUInt64 &Int (X |Int (maxUInt64 &Int _)) => notMaxUInt64 &Int X [simplification] - rule notMaxUInt96 &Int (X |Int (maxUInt96 &Int _)) => notMaxUInt96 &Int X [simplification] - rule notMaxUInt128 &Int (X |Int (maxUInt128 &Int _)) => notMaxUInt128 &Int X [simplification] - rule notMaxUInt160 &Int (X |Int (maxUInt160 &Int _)) => notMaxUInt160 &Int X [simplification] - rule notMaxUInt192 &Int (X |Int (maxUInt192 &Int _)) => notMaxUInt192 &Int X [simplification] - rule notMaxUInt208 &Int (X |Int (maxUInt208 &Int _)) => notMaxUInt208 &Int X [simplification] - rule notMaxUInt224 &Int (X |Int (maxUInt224 &Int _)) => notMaxUInt224 &Int X [simplification] - rule notMaxUInt240 &Int (X |Int (maxUInt240 &Int _)) => notMaxUInt240 &Int X [simplification] - rule notMaxUInt248 &Int (X |Int (maxUInt248 &Int _)) => notMaxUInt248 &Int X [simplification] - - // &Int yields zero for notMax and operand in appropriate range - rule [bitwise-and-zero]: - X &Int Y => 0 - requires #rangeUInt(256, X) - andBool pow256 -Int X ==Int 2 ^Int log2Int(pow256 -Int X) - andBool 0 <=Int Y andBool Y #asWord ( #buf ( 32 -Int (Y /Int 8) , X ) +Bytes #buf ( Y /Int 8 , 0 ) ) @@ -208,104 +29,6 @@ module PAUSABILITY-LEMMAS [symbolic] andBool 0 <=Int Y andBool Y <=Int 256 andBool Y modInt 8 ==Int 0 [simplification, concrete(Y)] - rule 0 <=Int (X &Int Y) +Int Z => true - requires 0 <=Int X &Int Y - andBool 0 <=Int Z - [simplification] - - rule Z false - requires #rangeUInt(256, X) - andBool #rangeUInt(256, Y) - andBool #rangeUInt(256, Z) - andBool ((Y true - requires #rangeUInt(256, X) - andBool #rangeUInt(256, Y) - andBool #rangeUInt(256, Z) - andBool ((Y X &Int #asWord ( Z ) - requires X >Int T => X &Int #asWord ( Z ) >>Int T - requires X X modInt 2 [simplification] - - // - // |Int - // - - // Commutativity - rule A |Int B ==Int B |Int A => true [simplification, smt-lemma] - rule { A |Int B #Equals B |Int A } => #Top [simplification] - - // Non-zeroedness of |Int - rule X |Int _ ==Int 0 => false - requires 0 - #asWord ( BA1 +Bytes #buf ( lengthBytes(BA2), A |Int #asWord ( BA2 ) ) ) - requires A - #asWord ( - #buf ( lengthBytes(BA1), (A >>Int (8 *Int lengthBytes(BA2))) |Int #asWord ( BA1 ) ) - +Bytes - #buf ( lengthBytes(BA2), (A modInt (2 ^Int (8 *Int lengthBytes(BA2)))) |Int #asWord ( BA2 ) ) - ) - requires 0 <=Int A - [simplification(40), concrete(A, BA1)] - - // Prepend 4 bytes (used for function selectors) - rule A |Int #asWord ( BUF ) => #asWord ( #range ( #buf ( 32 , A ) , 0 , 4 ) +Bytes BUF ) - requires notMaxUInt224 &Int A ==Int A - andBool lengthBytes ( BUF ) ==Int 28 - [simplification, concrete(A)] - - // Irrelevance of lower bits for >>Int - rule (X |Int Y) >>Int Z => X >>Int Z - requires 0 <=Int Z - andBool 0 <=Int Y andBool Y true [simplification, smt-lemma] - rule { A xorInt B #Equals B xorInt A } => #Top [simplification] - - // Non-negativity of xorInt - rule [bitwise-xor-geq-zero]: - 0 <=Int (A xorInt B) => true - requires 0 <=Int A andBool 0 <=Int B - [simplification] - - // xorInt - rule [bitwise-xor-lt-pow256]: - (A xorInt B) true - requires 0 <=Int A andBool A maxUInt256 -Int X - requires #rangeUInt ( 256 , X ) - [simplification] - // // Arithmetic // @@ -330,152 +53,14 @@ module PAUSABILITY-LEMMAS [symbolic] // Cancellativity #6 rule (A -Int B) -Int (C -Int B) => A -Int C [simplification] - - // Distributivity of minInt against +Int - rule minInt ( A:Int +Int B:Int, C:Int +Int B:Int ) => minInt ( A, C ) +Int B [simplification] - - // Definition of maxInt - rule maxInt(I1:Int, I2:Int) => I2 requires I1 <=Int I2 [simplification] - rule maxInt(I1:Int, I2:Int) => I1 requires I1 >Int I2 [simplification] - - // Maximum is not greater than if both operands are not greater than - rule maxInt(A:Int, B:Int) <=Int X:Int => A <=Int X andBool B <=Int X [simplification] - - // Cutting impossible branches - rule { A:Int #Equals B:Int *Int X:Int +Int C:Int } => #Bottom - requires A 32 *Int A +Int 32 *Int B - [simplification] - - // Matching resolutions - - rule { 32 *Int A:Int +Int X:Int #Equals 32 *Int B:Int +Int Y:Int } => - { B #Equals A +Int 1 } - requires X -Int Y ==Int 32 - [simplification] - - rule { A:Int *Int X:Int +Int B #Equals A *Int Y:Int +Int B } => - { X #Equals Y } - requires A =/=Int 0 - [simplification] - - rule { B #Equals A *Int Y:Int +Int B } => - { 0 #Equals Y } - requires A =/=Int 0 - [simplification] - - // Chop custom simplification - rule chop ( lengthBytes ( X ) +Int 115792089237316195423570985008687907853269984665640564039457584007913129640009 ) => - lengthBytes ( X ) +Int 73 - [simplification] - - // Chop custom simplification - rule 0 ==Int chop (A:Int +Int B:Int) => A ==Int pow256 -Int B - requires 0 { A #Equals pow256 -Int B } - requires 0 true - requires 32 *Int A -Int 9 false - requires ( 2 ^Int (Y *Int 8) ) *Int Z #Bottom - requires ( 2 ^Int (Y *Int 8) ) *Int Z true - requires 0 <=Int A - andBool 0 <=Int X - [simplification] - - // Lukso-specific bit-shift arithmetic - rule pow96 <=Int (A < true - requires 0 <=Int A - [simplification] - - // Range bit-shift arithmetic - rule (A < true - requires A true - requires A <=Int 0 - andBool 0 <=Int B - andBool 0 <=Int C - [simplification, concrete(A)] - - rule A +Int B true - requires A true - requires A <=Int 0 - andBool 0 <=Int B andBool 0 <=Int C - andBool (0 false - requires #range(A1, 0, minInt(lengthBytes(A1), lengthBytes(A2))) - =/=K - #range(A2, 0, minInt(lengthBytes(A1), lengthBytes(A2))) - andBool lengthBytes(A1 +Bytes B1) ==Int lengthBytes(A2 +Bytes B2) - [concrete(A1, A2), simplification] - - rule A +Bytes (B +Bytes C) => (A +Bytes B) +Bytes C - [concrete(A, B), simplification] - - rule (A +Bytes B) +Bytes C => A +Bytes (B +Bytes C) - [concrete(B, C), simplification] - - rule A +Bytes (B +Bytes C) +Bytes D => (A +Bytes B) +Bytes C +Bytes D - [concrete(A, B), simplification] - - rule (A +Bytes B) +Bytes (C +Bytes D) => A +Bytes (B +Bytes C) +Bytes D - [concrete(B, C), simplification] - - // - // lengthBytes - // - - // Size of paddings - rule lengthBytes ( padRightBytes ( BA:Bytes, WIDTH, _ ) ) => - lengthBytes(BA) +Int WIDTH - requires 0 <=Int WIDTH - [simplification] - + // Upper bound on (pow256 - 32) &Int lengthBytes(X) rule notMaxUInt5 &Int Y <=Int Y => true requires 0 <=Int Y [simplification] // Bounds on notMaxUInt5 &Int ( X +Int 31 ) + // Note: upstream in the next round rule X <=Int notMaxUInt5 &Int ( X +Int 31 ) => true requires 0 <=Int X [simplification] rule X <=Int notMaxUInt5 &Int ( Y +Int 31 ) => true requires X <=Int 0 andBool 0 <=Int Y [simplification, concrete(X)] rule X <=Int ( notMaxUInt5 &Int ( X +Int 31 ) ) +Int Y => true requires 0 <=Int X andBool 0 <=Int Y [simplification, concrete(Y)] @@ -484,47 +69,6 @@ module PAUSABILITY-LEMMAS [symbolic] rule notMaxUInt5 &Int X +Int 31 true requires 0 <=Int X [simplification] - // Specialised simplification - rule notMaxUInt5 &Int ( notMaxUInt5 &Int lengthBytes ( VV6__data_3c5818c8:Bytes ) +Int 31 ) +Int 63 => ( notMaxUInt5 &Int lengthBytes ( VV6__data_3c5818c8:Bytes ) +Int 31 ) +Int 32 - [simplification] - - // - // #buf - // - - // Invertibility of #buf and #asWord - rule #buf ( WIDTH , #asWord ( BA:Bytes ) ) => BA - requires lengthBytes(BA) ==K WIDTH - [simplification] - - // Local injectivity for 8 bits - rule { #buf ( 8 , A:Int ) #Equals #buf ( 8 , B:Int ) } => { A #Equals B } - requires 0 <=Int A andBool A { A #Equals B } - requires 0 <=Int A andBool A { X #Equals Y } - requires 0 <=Int N - andBool 0 <=Int X - andBool 0 <=Int Y - andBool X X ==Int Y - requires 0 <=Int N - andBool 0 <=Int X - andBool 0 <=Int Y - andBool X true [simplification, smt-lemma] - rule #asWord(_BA) true [simplification, smt-lemma] - - // Invertibility of #buf with #asWord - rule #buf ( 32 , #asWord ( X ) ) => X requires lengthBytes ( X ) ==Int 32 [simplification] - rule #asWord ( #buf ( 32 , X ) ) => X requires #rangeUInt ( 256 , X ) [simplification] - // #asWord ignores leading zeros rule #asWord ( BA1 +Bytes BA2 ) => #asWord ( BA2 ) requires #asInteger(BA1) ==Int 0 [simplification, concrete(BA1)] - // true - requires 0 false - requires #asWord ( BA1 ) <Int X - orBool X -Int #asWord ( BA1 ) <=Int 2 ^Int ( 8 *Int lengthBytes(BA2) ) - [simplification(40), concrete(BA1)] - - // #asWord is not smaller-or-equal to the target if the leading bytes alone are greater than the target - rule #asWord ( BA1 +Bytes BA2 ) <=Int X => false - requires #asWord ( BA1 ) <Int X - [simplification, concrete(BA1)] - - // #asWord is smaller-or-equal to the target if the trailing bytes are smaller than the difference between the target and leading bytes - rule #asWord ( BA1 +Bytes BA2 ) <=Int X => true - requires X -Int #asWord ( BA1 ) <=Int 2 ^Int ( 8 *Int lengthBytes(BA2) ) -Int 1 - [simplification, concrete(BA1)] - - // and otherwise is not smaller-or-equal - rule #asWord ( BA1 +Bytes BA2 ) <=Int X => false - requires X true - requires lengthBytes( BA1 +Bytes BA2 ) ==Int 32 - andBool X <=Int #asWord( BA1 ) < true - requires lengthBytes( BA1 +Bytes BA2) ==Int 32 - andBool X -Int #asWord( BA1 ) <Int 2 ^Int ( 8 *Int lengthBytes(BA2) ) -Int 1 - [concrete(BA1, X), simplification] - - // and greater - rule X true - requires lengthBytes( BA1 +Bytes BA2 ) ==Int 32 - andBool X - #asWord(B) ==Int C -Int ( #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B)) ) ) - [concrete(A, C), simplification, comm] - - rule { #asWord ( A +Bytes B ) #Equals C } => - { #asWord(B) #Equals C -Int ( #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B)) ) ) } - [concrete(A, C), simplification, comm] - - rule #asWord ( A +Bytes B ) ==Int C:Int => - C -Int #asWord(B) ==Int #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B))) - [concrete(B, C), simplification, comm] - - rule { #asWord ( A +Bytes B ) #Equals C:Int } => - { C -Int #asWord(B) #Equals #asWord(A) *Int (2 ^Int (8 *Int lengthBytes(B))) } - [concrete(B, C), simplification, comm] // Equality and #range rule #asWord ( #range ( #buf ( 32 , _X:Int ) , S:Int , W:Int ) ) ==Int Y:Int => false @@ -615,17 +90,6 @@ module PAUSABILITY-LEMMAS [symbolic] andBool (2 ^Int (8 *Int W)) <=Int Y [concrete(S, W, Y), simplification] - // #asWord is equality - rule #asWord ( #range ( #buf (SIZE, X), START, WIDTH) ) => X - requires 0 <=Int SIZE andBool 0 <=Int X andBool 0 <=Int START andBool 0 <=Int WIDTH - andBool SIZE ==Int START +Int WIDTH - andBool X true [simplification] @@ -669,61 +133,7 @@ module PAUSABILITY-LEMMAS [symbolic] [simplification] // - // #memoryUsageUpdate - // - - rule { #memoryUsageUpdate ( A , B , C ) #Equals #memoryUsageUpdate ( D , E , F ) } => #Top - requires A ==Int D andBool B ==Int E andBool C ==Int F - [simplification] - - // - // keccak - // - - // keccak does not equal a concrete value - rule [keccak-eq-conc-false]: keccak(_A) ==Int _B => false [symbolic(_A), concrete(_B), simplification, comm] - rule [keccak-neq-conc-true]: keccak(_A) =/=Int _B => true [symbolic(_A), concrete(_B), simplification, comm] - - rule [keccak-eq-conc-false-ml]: { keccak(_A) #Equals _B } => #Bottom [symbolic(_A), concrete(_B), simplification, comm] - - // corollary of `keccak-eq-conc-false` - rule [keccak-eq-conc-false-extended]: - ( ( keccak ( _X ) +Int A ) modInt pow256 ) ==Int _Y => false - requires 0 A ==K B [simplification] - - // keccak has no "fixpoint" - rule [keccak-no-fix-eq-false]: #buf(32, keccak(X)) ==K X => false [simplification] - rule [keccak-no-fix-neq-true]: #buf(32, keccak(X)) =/=K X => true [simplification] - - // disequality of keccak under shifting - rule ( ( keccak ( _X ) +Int A ) modInt pow256 ) ==Int keccak ( _Y ) => false - requires 0 pow256 -Int keccak(BA) - [simplification] - - // keccak cannot equal a number outside of its range - rule { X #Equals keccak (_) } => #Bottom - requires X =Int pow256 - [concrete(X), simplification] - - // Custom chop simplification - rule chop (A:Int +Int B:Int) => A +Int B - requires #rangeUInt(64, A) - andBool #rangeUInt(64, B) - [simplification] - - // chop is idempotent through +Int - rule chop ( chop ( X ) +Int Y ) => chop ( X +Int Y ) [simplification] - - // - // NEW: SUMMARIES + // SUMMARIES // // This rule cannot be used without the [symbolic] tag because it uses @@ -788,144 +198,4 @@ module PAUSABILITY-LEMMAS [symbolic] andBool PCOUNT +Int 55 - runLemma ( - #range(PROGRAM, PCOUNT, 25) ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a" - andBool - #range(PROGRAM, PCOUNT +Int 27, 20) ==K b"\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a" - andBool - #range(PROGRAM, PCOUNT +Int 49, 7) ==K b"\x83\x88\x01\x01R[P" - andBool - #asInteger ( #range( PROGRAM, PCOUNT +Int 25, 2 ) ) ==Int #asInteger ( #range( PROGRAM, PCOUNT +Int 47, 2 ) ) - ) => - doneLemma ( true ) - - PROGRAM - PCOUNT - requires - PROGRAM ==K b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00AW`\x005`\xe0\x1c\x80c\n\x92T\xe4\x14a\x00FW\x80c\x92\xf8<\x90\x14a\x00PW\x80c\xa1\x02\xc4%\x14a\x00cW[`\x00\x80\xfd[a\x00Na\x00vV[\x00[a\x00Na\x00^6`\x04a\x036V[a\x00\xc1V[a\x00Na\x00q6`\x04a\x036V[a\x012V[`@Qa\x00\x82\x90a\x029V[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x00\x9eW=`\x00\x80>=`\x00\xfd[P`\x00\x80T`\x01`\x01`\xa0\x1b\x03\x19\x16`\x01`\x01`\xa0\x1b\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x90cHpIo\x90a\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\x13W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01'W=`\x00\x80>=`\x00\xfd[PPPPPPPPPV[`\x00\x80T`@\x80Qc\x84V\xcbY`\xe0\x1b\x81R\x90Q`\x01`\x01`\xa0\x1b\x03\x90\x92\x16\x92c\x84V\xcbY\x92`\x04\x80\x84\x01\x93\x82\x90\x03\x01\x81\x83\x87\x80;\x15\x80\x15a\x01sW`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\x87W=`\x00\x80>=`\x00\xfd[PPPP\x7f\x88\\\xb6\x92@\xa95\xd62\xd7\x9c1q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-`\x00\x1c`\x01`\x01`\xa0\x1b\x03\x16c\xf4\x84H\x14`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\xe9W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\xfdW=`\x00\x80>=`\x00\xfd[PP`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x92PcHpIo\x91Pa\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[a\x03E\x80a\x062\x839\x01\x90V[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\x7fWa\x02\x7fa\x02FV[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\xaeWa\x02\xaea\x02FV[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x02\xcdW`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x02\xe4W`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x02\xfcW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x03\x14W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x03/W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x03NW`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x03fW`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x03zW`\x00\x80\xfd[a\x03\x82a\x02\\V[\x825\x81R` a\x03\x93\x81\x85\x01a\x02\xb6V[\x81\x83\x01Ra\x03\xa3`@\x85\x01a\x02\xb6V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x03\xceW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x03\xe3W`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x03\xf5Wa\x03\xf5a\x02FV[a\x04\x07`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x02\x85V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x04\x1bW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x04H\x89`@\x8a\x01a\x02\xd2V[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x04^W`\x00\x80\xfd[Pa\x04k\x88\x82\x89\x01a\x02\xeaV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\x00\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1f\x90\x91\x01`\x1f\x19\x16\x90\x91\x01\x01\x90V[\x81\x83R`\x00` \x80\x85\x01\x80\x81\x96P\x85`\x05\x1b\x81\x01\x91P\x84`\x00[\x87\x81\x10\x15a\x05*W\x82\x84\x03\x89R\x815`\x1e\x19\x886\x03\x01\x81\x12a\x04\xe0W`\x00\x80\xfd[\x87\x01\x85\x81\x01\x905g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x04\xfcW`\x00\x80\xfd[\x806\x03\x82\x13\x15a\x05\x0bW`\x00\x80\xfd[a\x05\x16\x86\x82\x84a\x04|V[\x9a\x87\x01\x9a\x95PPP\x90\x84\x01\x90`\x01\x01a\x04\xbfV[P\x91\x97\x96PPPPPPPV[`\xe0\x80\x82R\x86Q\x90\x82\x01R` \x80\x87\x01Q`\x01`\x01`\xa0\x1b\x03\x90\x81\x16a\x01\x00\x84\x01R`@\x88\x01Q\x16a\x01 \x83\x01R``\x87\x01Qa\x01@\x83\x01R`\x80\x87\x01Qa\x01`\x83\x01R`\xa0\x87\x01Q`\xc0a\x01\x80\x84\x01R\x80Qa\x01\xa0\x84\x01\x81\x90R`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P\x82\x85\x01\x89\x90R`\x1f\x01`\x1f\x19\x16\x84\x01\x90Pa\x01\xc0a\x06\f`@\x86\x01\x89\x805\x82R` \x81\x015` \x83\x01R`@\x81\x015`@\x83\x01R``\x81\x015``\x83\x01RPPV[\x80\x85\x83\x03\x01`\xc0\x86\x01Ra\x06#\x81\x83\x01\x87\x89a\x04\xa5V[\x9a\x99PPPPPPPPPPV\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[Pa\x03%\x80a\x00 `\x009`\x00\xf3\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x006W`\x005`\xe0\x1c\x80cHpIo\x14a\x00;W\x80c\x84V\xcbY\x14a\x00PW[`\x00\x80\xfd[a\x00Na\x00I6`\x04a\x01\xa9V[a\x00bV[\x00[a\x00N`\x00\x80T`\xff\x19\x16`\x01\x17\x90UV[`\x00T`\xff\x16\x15a\x00\xb2W`@QbF\x1b\xcd`\xe5\x1b\x81R` `\x04\x82\x01R`\x16`$\x82\x01Ru\x13\xdc\x1d\x1a[Z\\\xdbT\x1b\xdc\x9d\x18[\x0e\x88\x1c\x18]\\\xd9Y`R\x1b`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xfd[PPPPPV[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x00\xf2Wa\x00\xf2a\x00\xb9V[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x01!Wa\x01!a\x00\xb9V[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x01@W`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x01WW`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x01oW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x01\x87W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x01\xa2W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x01\xc1W`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x01\xd9W`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x01\xedW`\x00\x80\xfd[a\x01\xf5a\x00\xcfV[\x825\x81R` a\x02\x06\x81\x85\x01a\x01)V[\x81\x83\x01Ra\x02\x16`@\x85\x01a\x01)V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x02AW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x02VW`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x02hWa\x02ha\x00\xb9V[a\x02z`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x00\xf8V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x02\x8eW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x02\xbb\x89`@\x8a\x01a\x01EV[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x02\xd1W`\x00\x80\xfd[Pa\x02\xde\x88\x82\x89\x01a\x01]V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV\xfe\xa2dipfsX\"\x12 \xdc'\xd1\x9b\x8dS\xe0\xa2O\x86k\x19\xa4\x9f\xd1\xa3\x12_\xfb\x0e\x17\xcbDk}\xd6\xc7\x9a\xc5\x9f\xfb\x8bdsolcC\x00\x08\x0f\x003\xa2dipfsX\"\x12 \xb0<\xc1\x9e\xa1U(<)%|.w\xe8\x8c\xa2\x85\xe8y\xc9T\xebI\xf9\x1b\xc2\x91\xd6,\xc58\xeedsolcC\x00\x08\x0f\x003" - andBool - PCOUNT ==Int 1427 - - claim [bytes-indexing-via-range]: - runLemma ( PROGRAM [ PCOUNT ] ==K 96) => doneLemma ( true ) ... - requires #range(PROGRAM, PCOUNT, 25) ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a" - andBool #range(PROGRAM, PCOUNT +Int 27, 20) ==K b"\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a" - andBool #range(PROGRAM, PCOUNT +Int 49, 7) ==K b"\x83\x88\x01\x01R[P" - andBool OFFSET:Int ==Int #asInteger ( #range( PROGRAM, PCOUNT +Int 25, 2 ) ) - andBool OFFSET:Int ==Int #asInteger ( #range( PROGRAM, PCOUNT +Int 47, 2 ) ) - andBool PCOUNT <=Int lengthBytes(PROGRAM) - - claim [bytes-indexing-via-concat]: - runLemma ( PROGRAM [ PCOUNT ] ==Int 96 ) => doneLemma ( true ) ... - requires PROGRAM ==K PROG_PRE +Bytes b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a" +Bytes - OFFSET_BYTES +Bytes b"\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a" +Bytes OFFSET_BYTES +Bytes - b"\x83\x88\x01\x01R[P" +Bytes _PROG_POST - andBool lengthBytes(PROG_PRE) ==Int PCOUNT - andBool lengthBytes(OFFSET_BYTES) ==Int 2 - andBool PCOUNT <=Int lengthBytes(PROGRAM) - - claim [copy-memory-to-memory-provable]: - #execute ... - false - SHANGHAI - JUMPDESTS - // The program and program counter are symbolic, focusing on the part we will be executing (CP) - PROG_PRE +Bytes CP +Bytes _PROG_POST - PCOUNT => PCOUNT +Int lengthBytes(CP) - // The word stack has the appropriate form, as per the compiled code - LENGTH : SRC : STEP : DEST : WS => LENGTH : SRC : STEP : 0 : DEST : WS - // The program copies LENGTH bytes of memory from SRC +Int 32 to DEST +Int OFFSET, - // padded with 32 zeros in case LENGTH is not divisible by 32 - - LM => LM [ DEST +Int OFFSET := #range ( LM, SRC +Int 32, LENGTH ) +Bytes - #buf ( ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) , 0 ) +Bytes - #buf ( ( ( ( 32 -Int ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) ) ) modInt 32 ), 0 ) ] - - // OP is the program corresponding to the compiled EVM bytecode shown above, starting from program counter 1427 - requires OP ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P" - // The execution effectively starts from CP - andBool lengthBytes(PROG_PRE) ==Int PCOUNT - // OFFSET_BYTES and OFFSET represent a symbolic offset, generalizing the concrete hardcoded offset (448). - andBool lengthBytes(OFFSET_BYTES) ==K 2 - andBool OFFSET ==Int #asWord ( OFFSET_BYTES ) - - // The current program we are executing differs from the original one only in the hardcoded jump addresses, - // which are now relative to PCOUNT, and the hardcoded offset, which is now symbolic. - andBool CP ==K OP - [ 12 := #buf(2, PCOUNT +Int 35) ] - [ 25 := OFFSET_BYTES ] - [ 32 := #buf(2, PCOUNT +Int 6) ] - [ 41 := #buf(2, PCOUNT +Int 54) ] - [ 47 := OFFSET_BYTES ] - - // STEP always equals 32 as the memory is copied in chunks of 32 bytes - // This equality is placed in the requires clause instead of in the LHS - // of the config directly to enable unification of the LHS to pass trivially, - // speeding up the execution - andBool STEP ==Int 32 - - // Various well-formedness constraints. In particular, the maxBytesLength-related ones are present to - // remove various chops that would otherwise creep into the execution, and are reasonable since byte - // arrays in actual programs would never reach that size. - andBool 0 <=Int PCOUNT - andBool 0 <=Int LENGTH andBool LENGTH runLemma ( - #range(PROGRAM, PCOUNT +Int 25, 2) ==K #range(PROGRAM, PCOUNT +Int 47, 2) - andBool #range(PROGRAM, PCOUNT, 56) ==K - b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P" - [ 12 := #buf(2, PCOUNT +Int 35) ] - [ 25 := #range(PROGRAM, PCOUNT +Int 25, 2) ] - [ 32 := #buf(2, PCOUNT +Int 6) ] - [ 41 := #buf(2, PCOUNT +Int 54) ] - [ 47 := #range(PROGRAM, PCOUNT +Int 47, 2) ] - - andBool 0 <=Int PCOUNT - andBool 0 <=Int LENGTH andBool LENGTH doneLemma ( - true - ) - - requires PROGRAM ==K b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00AW`\x005`\xe0\x1c\x80c\n\x92T\xe4\x14a\x00FW\x80c\x92\xf8<\x90\x14a\x00PW\x80c\xa1\x02\xc4%\x14a\x00cW[`\x00\x80\xfd[a\x00Na\x00vV[\x00[a\x00Na\x00^6`\x04a\x036V[a\x00\xc1V[a\x00Na\x00q6`\x04a\x036V[a\x012V[`@Qa\x00\x82\x90a\x029V[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x00\x9eW=`\x00\x80>=`\x00\xfd[P`\x00\x80T`\x01`\x01`\xa0\x1b\x03\x19\x16`\x01`\x01`\xa0\x1b\x03\x92\x90\x92\x16\x91\x90\x91\x17\x90UV[`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x90cHpIo\x90a\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\x13W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01'W=`\x00\x80>=`\x00\xfd[PPPPPPPPPV[`\x00\x80T`@\x80Qc\x84V\xcbY`\xe0\x1b\x81R\x90Q`\x01`\x01`\xa0\x1b\x03\x90\x92\x16\x92c\x84V\xcbY\x92`\x04\x80\x84\x01\x93\x82\x90\x03\x01\x81\x83\x87\x80;\x15\x80\x15a\x01sW`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\x87W=`\x00\x80>=`\x00\xfd[PPPP\x7f\x88\\\xb6\x92@\xa95\xd62\xd7\x9c1q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-`\x00\x1c`\x01`\x01`\xa0\x1b\x03\x16c\xf4\x84H\x14`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x01\xe9W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x01\xfdW=`\x00\x80>=`\x00\xfd[PP`\x00T`@QcHpIo`\xe0\x1b\x81R`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x92PcHpIo\x91Pa\x00\xf9\x90\x88\x90\x88\x90\x88\x90\x88\x90\x88\x90`\x04\x01a\x057V[a\x03E\x80a\x062\x839\x01\x90V[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\x7fWa\x02\x7fa\x02FV[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x02\xaeWa\x02\xaea\x02FV[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x02\xcdW`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x02\xe4W`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x02\xfcW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x03\x14W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x03/W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x03NW`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x03fW`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x03zW`\x00\x80\xfd[a\x03\x82a\x02\\V[\x825\x81R` a\x03\x93\x81\x85\x01a\x02\xb6V[\x81\x83\x01Ra\x03\xa3`@\x85\x01a\x02\xb6V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x03\xceW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x03\xe3W`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x03\xf5Wa\x03\xf5a\x02FV[a\x04\x07`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x02\x85V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x04\x1bW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x04H\x89`@\x8a\x01a\x02\xd2V[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x04^W`\x00\x80\xfd[Pa\x04k\x88\x82\x89\x01a\x02\xeaV[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\x00\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1f\x90\x91\x01`\x1f\x19\x16\x90\x91\x01\x01\x90V[\x81\x83R`\x00` \x80\x85\x01\x80\x81\x96P\x85`\x05\x1b\x81\x01\x91P\x84`\x00[\x87\x81\x10\x15a\x05*W\x82\x84\x03\x89R\x815`\x1e\x19\x886\x03\x01\x81\x12a\x04\xe0W`\x00\x80\xfd[\x87\x01\x85\x81\x01\x905g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x04\xfcW`\x00\x80\xfd[\x806\x03\x82\x13\x15a\x05\x0bW`\x00\x80\xfd[a\x05\x16\x86\x82\x84a\x04|V[\x9a\x87\x01\x9a\x95PPP\x90\x84\x01\x90`\x01\x01a\x04\xbfV[P\x91\x97\x96PPPPPPPV[`\xe0\x80\x82R\x86Q\x90\x82\x01R` \x80\x87\x01Q`\x01`\x01`\xa0\x1b\x03\x90\x81\x16a\x01\x00\x84\x01R`@\x88\x01Q\x16a\x01 \x83\x01R``\x87\x01Qa\x01@\x83\x01R`\x80\x87\x01Qa\x01`\x83\x01R`\xa0\x87\x01Q`\xc0a\x01\x80\x84\x01R\x80Qa\x01\xa0\x84\x01\x81\x90R`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P\x82\x85\x01\x89\x90R`\x1f\x01`\x1f\x19\x16\x84\x01\x90Pa\x01\xc0a\x06\f`@\x86\x01\x89\x805\x82R` \x81\x015` \x83\x01R`@\x81\x015`@\x83\x01R``\x81\x015``\x83\x01RPPV[\x80\x85\x83\x03\x01`\xc0\x86\x01Ra\x06#\x81\x83\x01\x87\x89a\x04\xa5V[\x9a\x99PPPPPPPPPPV\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[Pa\x03%\x80a\x00 `\x009`\x00\xf3\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x006W`\x005`\xe0\x1c\x80cHpIo\x14a\x00;W\x80c\x84V\xcbY\x14a\x00PW[`\x00\x80\xfd[a\x00Na\x00I6`\x04a\x01\xa9V[a\x00bV[\x00[a\x00N`\x00\x80T`\xff\x19\x16`\x01\x17\x90UV[`\x00T`\xff\x16\x15a\x00\xb2W`@QbF\x1b\xcd`\xe5\x1b\x81R` `\x04\x82\x01R`\x16`$\x82\x01Ru\x13\xdc\x1d\x1a[Z\\\xdbT\x1b\xdc\x9d\x18[\x0e\x88\x1c\x18]\\\xd9Y`R\x1b`D\x82\x01R`d\x01`@Q\x80\x91\x03\x90\xfd[PPPPPV[cNH{q`\xe0\x1b`\x00R`A`\x04R`$`\x00\xfd[`@Q`\xc0\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x00\xf2Wa\x00\xf2a\x00\xb9V[`@R\x90V[`@Q`\x1f\x82\x01`\x1f\x19\x16\x81\x01g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x82\x82\x10\x17\x15a\x01!Wa\x01!a\x00\xb9V[`@R\x91\x90PV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x01@W`\x00\x80\xfd[\x91\x90PV[`\x00`\x80\x82\x84\x03\x12\x15a\x01WW`\x00\x80\xfd[P\x91\x90PV[`\x00\x80\x83`\x1f\x84\x01\x12a\x01oW`\x00\x80\xfd[P\x815g\xff\xff\xff\xff\xff\xff\xff\xff\x81\x11\x15a\x01\x87W`\x00\x80\xfd[` \x83\x01\x91P\x83` \x82`\x05\x1b\x85\x01\x01\x11\x15a\x01\xa2W`\x00\x80\xfd[\x92P\x92\x90PV[`\x00\x80`\x00\x80`\x00`\xe0\x86\x88\x03\x12\x15a\x01\xc1W`\x00\x80\xfd[\x855g\xff\xff\xff\xff\xff\xff\xff\xff\x80\x82\x11\x15a\x01\xd9W`\x00\x80\xfd[\x90\x87\x01\x90`\xc0\x82\x8a\x03\x12\x15a\x01\xedW`\x00\x80\xfd[a\x01\xf5a\x00\xcfV[\x825\x81R` a\x02\x06\x81\x85\x01a\x01)V[\x81\x83\x01Ra\x02\x16`@\x85\x01a\x01)V[`@\x83\x01R``\x84\x015``\x83\x01R`\x80\x84\x015`\x80\x83\x01R`\xa0\x84\x015\x83\x81\x11\x15a\x02AW`\x00\x80\xfd[\x80\x85\x01\x94PP\x8a`\x1f\x85\x01\x12a\x02VW`\x00\x80\xfd[\x835\x83\x81\x11\x15a\x02hWa\x02ha\x00\xb9V[a\x02z`\x1f\x82\x01`\x1f\x19\x16\x83\x01a\x00\xf8V[\x81\x81R\x8c\x83\x83\x88\x01\x01\x11\x15a\x02\x8eW`\x00\x80\xfd[\x81\x83\x87\x01\x84\x83\x017`\x00\x91\x81\x01\x83\x01\x91\x90\x91R`\xa0\x83\x01R\x90\x97P\x88\x015\x95Pa\x02\xbb\x89`@\x8a\x01a\x01EV[\x94P`\xc0\x88\x015\x91P\x80\x82\x11\x15a\x02\xd1W`\x00\x80\xfd[Pa\x02\xde\x88\x82\x89\x01a\x01]V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV\xfe\xa2dipfsX\"\x12 \xdc'\xd1\x9b\x8dS\xe0\xa2O\x86k\x19\xa4\x9f\xd1\xa3\x12_\xfb\x0e\x17\xcbDk}\xd6\xc7\x9a\xc5\x9f\xfb\x8bdsolcC\x00\x08\x0f\x003\xa2dipfsX\"\x12 \xb0<\xc1\x9e\xa1U(<)%|.w\xe8\x8c\xa2\x85\xe8y\xc9T\xebI\xf9\x1b\xc2\x91\xd6,\xc58\xeedsolcC\x00\x08\x0f\x003" - andBool PCOUNT ==Int 1427 - andBool LENGTH ==Int lengthBytes ( BYTES_DATA:Bytes ) - andBool SRC ==Int 320 - andBool DEST ==Int ( ( notMaxUInt5 &Int ( lengthBytes ( BYTES_DATA:Bytes ) +Int maxUInt5 ) ) +Int 356 ) - andBool JUMPDESTS ==K ( SetItem ( 1961 ) ( SetItem ( 1967 ) ( SetItem ( 1943 ) ( SetItem ( 1985 ) ( SetItem ( 1938 ) ( SetItem ( 1915 ) ( SetItem ( 1907 ) ( SetItem ( 1803 ) ( SetItem ( 1825 ) ( SetItem ( 1866 ) ( SetItem ( 1860 ) ( SetItem ( 1716 ) ( SetItem ( 1796 ) ( SetItem ( 1672 ) ( SetItem ( 1677 ) ( SetItem ( 1696 ) ( SetItem ( 1691 ) ( SetItem ( 1698 ) ( SetItem ( 1634 ) ( SetItem ( 1602 ) ( SetItem ( 1571 ) ( SetItem ( 1548 ) ( SetItem ( 1433 ) ( SetItem ( 1462 ) ( SetItem ( 1481 ) ( SetItem ( 1302 ) ( SetItem ( 1335 ) ( SetItem ( 1322 ) ( SetItem ( 1291 ) ( SetItem ( 1276 ) ( SetItem ( 1248 ) ( SetItem ( 1215 ) ( SetItem ( 1131 ) ( SetItem ( 1118 ) ( SetItem ( 1189 ) ( SetItem ( 1148 ) ( SetItem ( 1096 ) ( SetItem ( 1031 ) ( SetItem ( 1013 ) ( SetItem ( 1051 ) ( SetItem ( 78 ) ( SetItem ( 70 ) ( SetItem ( 65 ) ( SetItem ( 16 ) ( SetItem ( 80 ) ( SetItem ( 99 ) ( SetItem ( 94 ) ( SetItem ( 2252 ) ( SetItem ( 2272 ) ( SetItem ( 2216 ) ( SetItem ( 2234 ) ( SetItem ( 2317 ) ( SetItem ( 2339 ) ( SetItem ( 2352 ) ( SetItem ( 2091 ) ( SetItem ( 2009 ) ( SetItem ( 2067 ) ( SetItem ( 2043 ) ( SetItem ( 2036 ) ( SetItem ( 2152 ) ( SetItem ( 2195 ) ( SetItem ( 2111 ) ( SetItem ( 2119 ) ( SetItem ( 2136 ) ( SetItem ( 371 ) ( SetItem ( 306 ) ( SetItem ( 391 ) ( SetItem ( 295 ) ( SetItem ( 275 ) ( SetItem ( 249 ) ( SetItem ( 113 ) ( SetItem ( 118 ) ( SetItem ( 130 ) ( SetItem ( 193 ) ( SetItem ( 158 ) ( SetItem ( 870 ) ( SetItem ( 815 ) ( SetItem ( 822 ) ( SetItem ( 846 ) ( SetItem ( 890 ) ( SetItem ( 898 ) ( SetItem ( 788 ) ( SetItem ( 740 ) ( SetItem ( 746 ) ( SetItem ( 764 ) ( SetItem ( 717 ) ( SetItem ( 722 ) ( SetItem ( 645 ) ( SetItem ( 639 ) ( SetItem ( 604 ) ( SetItem ( 694 ) ( SetItem ( 686 ) ( SetItem ( 582 ) ( SetItem ( 569 ) ( SetItem ( 509 ) ( SetItem ( 489 ) ( SetItem ( 915 ) ( SetItem ( 974 ) ( SetItem ( 931 ) SetItem ( 995 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - andBool WS:WordStack ==K ( 10 : ( ( lengthBytes ( BYTES_DATA:Bytes ) +Int 484 ) : ( 68 : ( L2OutputIndex:Int : ( 128 : ( 249 : ( _ : ( 491460923342184218035706888008750043977755113263 : ( 10 : ( ( lengthBytes ( BYTES_DATA:Bytes ) +Int 484 ) : ( 68 : ( L2OutputIndex:Int : ( 128 : ( 78 : ( _ : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - andBool LM ==K b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , ( ( notMaxUInt5 &Int ( lengthBytes ( BYTES_DATA:Bytes ) +Int maxUInt5 ) ) +Int 352 ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , Nonce:Int ) +Bytes #buf ( 32 , Sender:Int ) +Bytes #buf ( 32 , Target:Int ) +Bytes #buf ( 32 , Value:Int ) +Bytes #buf ( 32 , GasLimit:Int ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01@" +Bytes #buf ( 32 , lengthBytes ( BYTES_DATA:Bytes ) ) +Bytes BYTES_DATA:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( BYTES_DATA:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( BYTES_DATA:Bytes ) ) , 0 ) +Bytes b"HpIo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , Nonce:Int ) +Bytes #buf ( 32 , Sender:Int ) +Bytes #buf ( 32 , Target:Int ) +Bytes #buf ( 32 , Value:Int ) +Bytes #buf ( 32 , GasLimit:Int ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0" +Bytes #buf ( 32 , lengthBytes ( BYTES_DATA:Bytes ) ) - - andBool lengthBytes ( BYTES_DATA:Bytes ) <=Int 1048576 - endmodule \ No newline at end of file From 0c4ab95f45d7d290aa69c9c677a10b1fe4617385 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Mon, 4 Mar 2024 17:31:23 +0800 Subject: [PATCH 11/28] Update simplified OptimismTest corresponding to the copying loop lemma --- .github/workflows/test-pr.yml | 2 +- .../integration/test-data/foundry-prove-all | 2 +- .../test-data/foundry-prove-skip-legacy | 2 +- .../src/{Portal.sol => OptimismPortal.sol} | 36 +- .../test-data/foundry/src/libraries/Types.sol | 70 + .../foundry/test/OptimismPortalKontrol.t.sol | 33 + .../test-data/foundry/test/PortalTest.t.sol | 29 - .../test-data/show/contracts.k.expected | 7715 ++++++++++++----- .../test-data/show/foundry.k.expected | 388 +- src/tests/integration/test_foundry_prove.py | 2 +- 10 files changed, 6146 insertions(+), 2133 deletions(-) rename src/tests/integration/test-data/foundry/src/{Portal.sol => OptimismPortal.sol} (54%) create mode 100644 src/tests/integration/test-data/foundry/src/libraries/Types.sol create mode 100644 src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol delete mode 100644 src/tests/integration/test-data/foundry/test/PortalTest.t.sol diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index f3c9d714f..3cc57956a 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -100,7 +100,7 @@ jobs: fail-fast: false matrix: backend: ['legacy', 'booster'] - timeout-minutes: 150 + timeout-minutes: 120 steps: - name: 'Check out code' uses: actions/checkout@v3 diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index 048bffc4d..2a702c799 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -181,7 +181,7 @@ PlainPrankTest.test_startPrankWithOrigin_true() PlainPrankTest.test_startPrank_zeroAddress_true() PlainPrankTest.test_stopPrank_notExistent() PlainPrankTest.test_prank_expectRevert() -PortalTest.test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) +OptimismPortalKontrol.test_finalizeWithdrawalTransaction_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) PrankTest.testAddAsOwner(uint256) PrankTest.testAddStartPrank(uint256) PrankTest.testFailAddPrank(uint256) diff --git a/src/tests/integration/test-data/foundry-prove-skip-legacy b/src/tests/integration/test-data/foundry-prove-skip-legacy index bec93743b..fe780d3e5 100644 --- a/src/tests/integration/test-data/foundry-prove-skip-legacy +++ b/src/tests/integration/test-data/foundry-prove-skip-legacy @@ -180,7 +180,7 @@ PlainPrankTest.test_prank_zeroAddress_true() PlainPrankTest.test_startPrank_true() PlainPrankTest.test_startPrankWithOrigin_true() PlainPrankTest.test_startPrank_zeroAddress_true() -PortalTest.test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) +OptimismPortalKontrol.test_finalizeWithdrawalTransaction_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) PrankTestMsgSender.test_msgsender_setup() PrankTestOrigin.test_origin_setup() PrankTest.testAddAsOwner(uint256) diff --git a/src/tests/integration/test-data/foundry/src/Portal.sol b/src/tests/integration/test-data/foundry/src/OptimismPortal.sol similarity index 54% rename from src/tests/integration/test-data/foundry/src/Portal.sol rename to src/tests/integration/test-data/foundry/src/OptimismPortal.sol index 061ad3e3b..3944c8d3b 100644 --- a/src/tests/integration/test-data/foundry/src/Portal.sol +++ b/src/tests/integration/test-data/foundry/src/OptimismPortal.sol @@ -1,30 +1,18 @@ -pragma solidity ^0.8.13; - -library Types { - struct OutputRootProof { - bytes32 version; - bytes32 stateRoot; - bytes32 messagePasserStorageRoot; - bytes32 latestBlockhash; - } +pragma solidity 0.8.15; - struct WithdrawalTransaction { - uint256 nonce; - address sender; - address target; - uint256 value; - uint256 gasLimit; - bytes data; - } -} +import { Types } from "./libraries/Types.sol"; + +contract OptimismPortal { -contract Portal { bool paused; - /// @notice Emitted when a withdrawal transaction is proven. - /// @param from Address that triggered the withdrawal transaction. - /// @param to Address that the withdrawal transaction is directed to. - event WithdrawalProven(address indexed from, address indexed to); + /// @notice Emitted when the pause is triggered. + /// @param account Address of the account triggering the pause. + event Paused(address account); + + /// @notice Emitted when the pause is lifted. + /// @param account Address of the account triggering the unpause. + event Unpaused(address account); /// @notice Reverts when paused. modifier whenNotPaused() { @@ -51,7 +39,5 @@ contract Portal { external whenNotPaused { - // Emit a `WithdrawalProven` event. - emit WithdrawalProven(_tx.sender, _tx.target); } } diff --git a/src/tests/integration/test-data/foundry/src/libraries/Types.sol b/src/tests/integration/test-data/foundry/src/libraries/Types.sol new file mode 100644 index 000000000..36582d5d3 --- /dev/null +++ b/src/tests/integration/test-data/foundry/src/libraries/Types.sol @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +/// @title Types +/// @notice Contains various types used throughout the Optimism contract system. +library Types { + /// @notice OutputProposal represents a commitment to the L2 state. The timestamp is the L1 + /// timestamp that the output root is posted. This timestamp is used to verify that the + /// finalization period has passed since the output root was submitted. + /// @custom:field outputRoot Hash of the L2 output. + /// @custom:field timestamp Timestamp of the L1 block that the output root was submitted in. + /// @custom:field l2BlockNumber L2 block number that the output corresponds to. + struct OutputProposal { + bytes32 outputRoot; + uint128 timestamp; + uint128 l2BlockNumber; + } + + /// @notice Struct representing the elements that are hashed together to generate an output root + /// which itself represents a snapshot of the L2 state. + /// @custom:field version Version of the output root. + /// @custom:field stateRoot Root of the state trie at the block of this output. + /// @custom:field messagePasserStorageRoot Root of the message passer storage trie. + /// @custom:field latestBlockhash Hash of the block this output was generated from. + struct OutputRootProof { + bytes32 version; + bytes32 stateRoot; + bytes32 messagePasserStorageRoot; + bytes32 latestBlockhash; + } + + /// @notice Struct representing a deposit transaction (L1 => L2 transaction) created by an end + /// user (as opposed to a system deposit transaction generated by the system). + /// @custom:field from Address of the sender of the transaction. + /// @custom:field to Address of the recipient of the transaction. + /// @custom:field isCreation True if the transaction is a contract creation. + /// @custom:field value Value to send to the recipient. + /// @custom:field mint Amount of ETH to mint. + /// @custom:field gasLimit Gas limit of the transaction. + /// @custom:field data Data of the transaction. + /// @custom:field l1BlockHash Hash of the block the transaction was submitted in. + /// @custom:field logIndex Index of the log in the block the transaction was submitted in. + struct UserDepositTransaction { + address from; + address to; + bool isCreation; + uint256 value; + uint256 mint; + uint64 gasLimit; + bytes data; + bytes32 l1BlockHash; + uint256 logIndex; + } + + /// @notice Struct representing a withdrawal transaction. + /// @custom:field nonce Nonce of the withdrawal transaction + /// @custom:field sender Address of the sender of the transaction. + /// @custom:field target Address of the recipient of the transaction. + /// @custom:field value Value to send to the recipient. + /// @custom:field gasLimit Gas limit of the transaction. + /// @custom:field data Data of the transaction. + struct WithdrawalTransaction { + uint256 nonce; + address sender; + address target; + uint256 value; + uint256 gasLimit; + bytes data; + } +} diff --git a/src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol b/src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol new file mode 100644 index 000000000..a38cd6099 --- /dev/null +++ b/src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol @@ -0,0 +1,33 @@ +pragma solidity ^0.8.13; + +import { Vm } from "lib/forge-std/src/Vm.sol"; +import { Types } from "src/libraries/Types.sol"; + +import { OptimismPortal } from "../src/OptimismPortal.sol"; + +contract OptimismPortalKontrol { + address private constant VM_ADDRESS = address(uint160(uint256(keccak256("hevm cheat code")))); + Vm private constant vm = Vm(VM_ADDRESS); + OptimismPortal optimismPortal; + + function setUp() public{ + optimismPortal = new OptimismPortal(); + } + + /// @custom:kontrol-array-length-equals _withdrawalProof: 2, + /// @custom:kontrol-bytes-length-equals _withdrawalProof: 32, + function test_finalizeWithdrawalTransaction_paused( + Types.WithdrawalTransaction memory _tx, + uint256 _l2OutputIndex, + Types.OutputRootProof calldata _outputRootProof, + bytes[] calldata _withdrawalProof + ) + external + { + optimismPortal.pause(); + + vm.expectRevert(); + optimismPortal.proveWithdrawalTransaction(_tx, _l2OutputIndex, _outputRootProof, _withdrawalProof); + } +} + diff --git a/src/tests/integration/test-data/foundry/test/PortalTest.t.sol b/src/tests/integration/test-data/foundry/test/PortalTest.t.sol deleted file mode 100644 index aab177c65..000000000 --- a/src/tests/integration/test-data/foundry/test/PortalTest.t.sol +++ /dev/null @@ -1,29 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity =0.8.13; - -import "forge-std/Test.sol"; -import "../src/Portal.sol"; - -contract PortalTest is Test { - Portal portalContract; - - function setUp() public { - portalContract = new Portal(); - } - - /// @custom:kontrol-length-equals _withdrawalProof: 3, - /// @custom:kontrol-length-equals data: 32, - /// @custom:kontrol-length-equals _withdrawalProof[]: 32, - function test_withdrawal_paused( - Types.WithdrawalTransaction calldata _tx, - uint256 _l2OutputIndex, - Types.OutputRootProof calldata _outputRootProof, - bytes[] calldata _withdrawalProof - ) - external - { - portalContract.pause(); - vm.expectRevert(); - portalContract.proveWithdrawalTransaction(_tx, _l2OutputIndex, _outputRootProof, _withdrawalProof); - } -} \ No newline at end of file diff --git a/src/tests/integration/test-data/show/contracts.k.expected b/src/tests/integration/test-data/show/contracts.k.expected index 934db81cd..1a426034f 100644 --- a/src/tests/integration/test-data/show/contracts.k.expected +++ b/src/tests/integration/test-data/show/contracts.k.expected @@ -1992,65 +1992,128 @@ module S2KtestZModBMCLoopsTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModCommonBase-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseContract ::= "S2KlibZModforgeZSubstdZModsrcZModCommonBase" [symbol(""), klabel(contract_lib%forge-std%src%CommonBase)] + syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%CommonBase.0.8.13)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModCommonBase ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13Field - syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%CommonBase_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%CommonBase.0.8.13_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModCommonBase . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13 . stdstore ) => 0 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModScriptBase-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Contract - syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseContract ::= "S2KlibZModforgeZSubstdZModsrcZModScriptBase" [symbol(""), klabel(contract_lib%forge-std%src%ScriptBase)] + syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%CommonBase.0.8.15)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModScriptBase ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Field - syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%ScriptBase_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%CommonBase.0.8.15_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModScriptBase . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15 . stdstore ) => 0 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModTestBase-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseContract ::= "S2KlibZModforgeZSubstdZModsrcZModTestBase" [symbol(""), klabel(contract_lib%forge-std%src%TestBase)] + syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%ScriptBase.0.8.13)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestBase ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Field - syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%TestBase_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%ScriptBase.0.8.13_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestBase . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13 . stdstore ) => 0 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%ScriptBase.0.8.15)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + + + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Field + + syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%ScriptBase.0.8.15_stdstore)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15 . stdstore ) => 0 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%TestBase.0.8.13)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + + + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Field + + syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%TestBase.0.8.13_stdstore)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13 . stdstore ) => 0 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%TestBase.0.8.15)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + + + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Field + + syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%TestBase.0.8.15_stdstore)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15 . stdstore ) => 0 ) endmodule @@ -3958,7 +4021,7 @@ module S2KtestZModCounter-CONTRACT - rule ( #initBytecode ( S2KtestZModCounter ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122070d88430bfb9338d7edf04e583c08eeab03f97f5e6fac4ee86294a29e113093664736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModCounter ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220e80a38e9145ddfc7a68edd97e724f3ff2a5e257df754cf79c3261e97b822641e64736f6c634300080f0033" ) ) syntax Field ::= S2KtestZModCounterField @@ -4006,7 +4069,7 @@ module S2KtestZModCounterTest-CONTRACT - rule ( #initBytecode ( S2KtestZModCounterTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b5061112d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063916a17c61161008c578063ba414fa611610066578063ba414fa61461019f578063d6a2ec76146101b7578063e20c9f71146101de578063fa7626d4146101e657600080fd5b8063916a17c614610187578063b5508aa91461018f578063b913a5ca1461019757600080fd5b806361bc221a116100c857806361bc221a1461011d57806366d9a9a01461014857806370f985be1461015d57806385226c811461017257600080fd5b80631ed7831c146100ef5780633e5e3c231461010d5780633f7286f414610115575b600080fd5b6100f76101f3565b6040516101049190610d55565b60405180910390f35b6100f7610255565b6100f76102b5565b601b54610130906001600160a01b031681565b6040516001600160a01b039091168152602001610104565b610150610315565b6040516101049190610da2565b61017061016b366004610e55565b610404565b005b61017a61057c565b6040516101049190610e9e565b61015061064c565b61017a610732565b610170610802565b6101a7610984565b6040519015158152602001610104565b6101307f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6100f7610ab1565b6007546101a79060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561024b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161022d575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103e357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103a55790505b50505050508152505081526020019060010190610339565b50505050905090565b60405161041090610d48565b604051809103906000f08015801561042c573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b5050601b54604051633fb5c1cb60e01b8152600481018590526001600160a01b039091169250633fb5c1cb9150602401600060405180830381600087803b1580156104e157600080fd5b505af11580156104f5573d6000803e3d6000fd5b50505050610579601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190610f18565b82610b11565b50565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103fb5783829060005260206000200180546105bf90610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb90610f31565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b5050505050815260200190600101906105a0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561071a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106dc5790505b50505050508152505081526020019060010190610670565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103fb57838290600052602060002001805461077590610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546107a190610f31565b80156107ee5780601f106107c3576101008083540402835291602001916107ee565b820191906000526020600020905b8154815290600101906020018083116107d157829003601f168201915b505050505081526020019060010190610756565b60405161080e90610d48565b604051809103906000f08015801561082a573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b50505050601b60009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b50505050610982601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f18565b6001610b11565b565b600754600090610100900460ff16156109a65750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610aac5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610a34917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610f6b565b60408051601f1981840301815290829052610a4e91610f9c565b6000604051808303816000865af19150503d8060008114610a8b576040519150601f19603f3d011682016040523d82523d6000602084013e610a90565b606091505b5091505080806020019051810190610aa89190610fb8565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b808214610c38577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610b829060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610c38610c3c565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d375760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610cd69291602001610f6b565b60408051601f1981840301815290829052610cf091610f9c565b6000604051808303816000865af19150503d8060008114610d2d576040519150601f19603f3d011682016040523d82523d6000602084013e610d32565b606091505b505050505b6007805461ff001916610100179055565b61011680610fe283390190565b6020808252825182820181905260009190848201906040850190845b81811015610d965783516001600160a01b031683529284019291840191600101610d71565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610e4657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610e315783516001600160e01b0319168252928b019260019290920191908b0190610e07565b50978a01979550505091870191600101610dca565b50919998505050505050505050565b600060208284031215610e6757600080fd5b5035919050565b60005b83811015610e89578181015183820152602001610e71565b83811115610e98576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610f0b57878503603f1901845281518051808752610eec818989018a8501610e6e565b601f01601f191695909501860194509285019290850190600101610ec5565b5092979650505050505050565b600060208284031215610f2a57600080fd5b5051919050565b600181811c90821680610f4557607f821691505b602082108103610f6557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610f8e816004850160208701610e6e565b919091016004019392505050565b60008251610fae818460208701610e6e565b9190910192915050565b600060208284031215610fca57600080fd5b81518015158114610fda57600080fd5b939250505056fe608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122070d88430bfb9338d7edf04e583c08eeab03f97f5e6fac4ee86294a29e113093664736f6c634300080d0033a26469706673582212206e6ec879900c820f249c7ee6f0741c9fc97c534f8ff33930f854e1d12966c29d64736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModCounterTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b5061112d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063916a17c61161008c578063ba414fa611610066578063ba414fa61461019f578063d6a2ec76146101b7578063e20c9f71146101de578063fa7626d4146101e657600080fd5b8063916a17c614610187578063b5508aa91461018f578063b913a5ca1461019757600080fd5b806361bc221a116100c857806361bc221a1461011d57806366d9a9a01461014857806370f985be1461015d57806385226c811461017257600080fd5b80631ed7831c146100ef5780633e5e3c231461010d5780633f7286f414610115575b600080fd5b6100f76101f3565b6040516101049190610d55565b60405180910390f35b6100f7610255565b6100f76102b5565b601b54610130906001600160a01b031681565b6040516001600160a01b039091168152602001610104565b610150610315565b6040516101049190610da2565b61017061016b366004610e55565b610404565b005b61017a61057c565b6040516101049190610e9e565b61015061064c565b61017a610732565b610170610802565b6101a7610984565b6040519015158152602001610104565b6101307f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6100f7610ab1565b6007546101a79060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561024b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161022d575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103e357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103a55790505b50505050508152505081526020019060010190610339565b50505050905090565b60405161041090610d48565b604051809103906000f08015801561042c573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b5050601b54604051633fb5c1cb60e01b8152600481018590526001600160a01b039091169250633fb5c1cb9150602401600060405180830381600087803b1580156104e157600080fd5b505af11580156104f5573d6000803e3d6000fd5b50505050610579601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190610f18565b82610b11565b50565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103fb5783829060005260206000200180546105bf90610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb90610f31565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b5050505050815260200190600101906105a0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561071a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106dc5790505b50505050508152505081526020019060010190610670565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103fb57838290600052602060002001805461077590610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546107a190610f31565b80156107ee5780601f106107c3576101008083540402835291602001916107ee565b820191906000526020600020905b8154815290600101906020018083116107d157829003601f168201915b505050505081526020019060010190610756565b60405161080e90610d48565b604051809103906000f08015801561082a573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b50505050601b60009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b50505050610982601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f18565b6001610b11565b565b600754600090610100900460ff16156109a65750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610aac5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610a34917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610f6b565b60408051601f1981840301815290829052610a4e91610f9c565b6000604051808303816000865af19150503d8060008114610a8b576040519150601f19603f3d011682016040523d82523d6000602084013e610a90565b606091505b5091505080806020019051810190610aa89190610fb8565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b808214610c38577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610b829060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610c38610c3c565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d375760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610cd69291602001610f6b565b60408051601f1981840301815290829052610cf091610f9c565b6000604051808303816000865af19150503d8060008114610d2d576040519150601f19603f3d011682016040523d82523d6000602084013e610d32565b606091505b505050505b6007805461ff001916610100179055565b61011680610fe283390190565b6020808252825182820181905260009190848201906040850190845b81811015610d965783516001600160a01b031683529284019291840191600101610d71565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610e4657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610e315783516001600160e01b0319168252928b019260019290920191908b0190610e07565b50978a01979550505091870191600101610dca565b50919998505050505050505050565b600060208284031215610e6757600080fd5b5035919050565b60005b83811015610e89578181015183820152602001610e71565b83811115610e98576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610f0b57878503603f1901845281518051808752610eec818989018a8501610e6e565b601f01601f191695909501860194509285019290850190600101610ec5565b5092979650505050505050565b600060208284031215610f2a57600080fd5b5051919050565b600181811c90821680610f4557607f821691505b602082108103610f6557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610f8e816004850160208701610e6e565b919091016004019392505050565b60008251610fae818460208701610e6e565b9190910192915050565b600060208284031215610fca57600080fd5b81518015158114610fda57600080fd5b939250505056fe608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220e80a38e9145ddfc7a68edd97e724f3ff2a5e257df754cf79c3261e97b822641e64736f6c634300080f0033a26469706673582212209496ba1750caac9d326a3e8fee6a2d14918fc7766f62b17485cbb9995ff62bfe64736f6c634300080f0033" ) ) syntax Field ::= S2KtestZModCounterTestField @@ -7256,53 +7319,237 @@ module S2KtestZModGetCodeTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%interfaces%IMulticall3.0.8.13)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + + + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2Kaggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2Kaggregate_address_bytes_address_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2Kaggregate3" "(" Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2Kaggregate3_address_bool_bytes_address_bool_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2Kaggregate3Value" "(" Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2Kaggregate3Value_address_bool_uint256_bytes_address_bool_uint256_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KblockAndAggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KblockAndAggregate_address_bytes_address_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetBasefee" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetBasefee_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetBlockHash" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetBlockHash_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetBlockNumber" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetBlockNumber_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetChainId" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetChainId_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockCoinbase" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockCoinbase_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockDifficulty" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockDifficulty_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockGasLimit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockGasLimit_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockTimestamp" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockTimestamp_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetEthBalance" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetEthBalance_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetLastBlockHash" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetLastBlockHash_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KtryAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KtryAggregate_bool_address_bytes_address_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KtryBlockAndAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KtryBlockAndAggregate_bool_address_bytes_address_bytes)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2Kaggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "aggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target_0 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) + andBool ( #rangeAddress ( V0_target_1 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_1 ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2Kaggregate3 ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_callData_1 : bytes ) => #abiCallData ( "aggregate3" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target_0 ) + andBool ( #rangeBool ( V1_allowFailure_0 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) + andBool ( #rangeAddress ( V0_target_1 ) + andBool ( #rangeBool ( V1_allowFailure_1 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_1 ) ) + )))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2Kaggregate3Value ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_value_0 : uint256 , V3_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_value_1 : uint256 , V3_callData_1 : bytes ) => #abiCallData ( "aggregate3Value" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #uint256 ( V2_value_1 ) , #bytes ( V3_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target_0 ) + andBool ( #rangeBool ( V1_allowFailure_0 ) + andBool ( #rangeUInt ( 256 , V2_value_0 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_callData_0 ) ) + andBool ( #rangeAddress ( V0_target_1 ) + andBool ( #rangeBool ( V1_allowFailure_1 ) + andBool ( #rangeUInt ( 256 , V2_value_1 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_callData_1 ) ) + )))))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KblockAndAggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "blockAndAggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target_0 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) + andBool ( #rangeAddress ( V0_target_1 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_1 ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetBasefee ( ) => #abiCallData ( "getBasefee" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetBlockHash ( V0_blockNumber : uint256 ) => #abiCallData ( "getBlockHash" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_blockNumber ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetBlockNumber ( ) => #abiCallData ( "getBlockNumber" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetChainId ( ) => #abiCallData ( "getChainId" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockCoinbase ( ) => #abiCallData ( "getCurrentBlockCoinbase" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockDifficulty ( ) => #abiCallData ( "getCurrentBlockDifficulty" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockGasLimit ( ) => #abiCallData ( "getCurrentBlockGasLimit" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockTimestamp ( ) => #abiCallData ( "getCurrentBlockTimestamp" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetEthBalance ( V0_addr : address ) => #abiCallData ( "getEthBalance" , #address ( V0_addr ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_addr ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetLastBlockHash ( ) => #abiCallData ( "getLastBlockHash" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KtryAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V0_requireSuccess ) + andBool ( #rangeAddress ( V1_target_0 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) + andBool ( #rangeAddress ( V1_target_1 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_1 ) ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KtryBlockAndAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryBlockAndAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V0_requireSuccess ) + andBool ( #rangeAddress ( V1_target_0 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) + andBool ( #rangeAddress ( V1_target_1 ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_1 ) ) + ))))) + + + rule ( selector ( "aggregate((address,bytes)[])" ) => 623753794 ) + + + rule ( selector ( "aggregate3((address,bool,bytes)[])" ) => 2192398027 ) + + + rule ( selector ( "aggregate3Value((address,bool,uint256,bytes)[])" ) => 390982257 ) + + + rule ( selector ( "blockAndAggregate((address,bytes)[])" ) => 3272048553 ) + + + rule ( selector ( "getBasefee()" ) => 1046783638 ) + + + rule ( selector ( "getBlockHash(uint256)" ) => 4001541214 ) + + + rule ( selector ( "getBlockNumber()" ) => 1120645468 ) + + + rule ( selector ( "getChainId()" ) => 872998000 ) + + + rule ( selector ( "getCurrentBlockCoinbase()" ) => 2830128974 ) + + + rule ( selector ( "getCurrentBlockDifficulty()" ) => 1916951965 ) + + + rule ( selector ( "getCurrentBlockGasLimit()" ) => 2262111976 ) + + + rule ( selector ( "getCurrentBlockTimestamp()" ) => 254331261 ) + + + rule ( selector ( "getEthBalance(address)" ) => 1294139852 ) + + + rule ( selector ( "getLastBlockHash()" ) => 669543790 ) + + + rule ( selector ( "tryAggregate(bool,(address,bytes)[])" ) => 3169029079 ) + + + rule ( selector ( "tryBlockAndAggregate(bool,(address,bytes)[])" ) => 966083305 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Contract - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Contract ::= "S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3" [symbol(""), klabel(contract_lib%forge-std%src%interfaces%IMulticall3)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%interfaces%IMulticall3.0.8.15)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Contract "." S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method [function, symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2Kaggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2Kaggregate_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2Kaggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2Kaggregate_address_bytes_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2Kaggregate3" "(" Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2Kaggregate3_address_bool_bytes_address_bool_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2Kaggregate3" "(" Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2Kaggregate3_address_bool_bytes_address_bool_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2Kaggregate3Value" "(" Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2Kaggregate3Value_address_bool_uint256_bytes_address_bool_uint256_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2Kaggregate3Value" "(" Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2Kaggregate3Value_address_bool_uint256_bytes_address_bool_uint256_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KblockAndAggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KblockAndAggregate_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KblockAndAggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KblockAndAggregate_address_bytes_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetBasefee" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetBasefee_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetBasefee" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetBasefee_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetBlockHash" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetBlockHash_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetBlockHash" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetBlockHash_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetBlockNumber" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetBlockNumber_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetBlockNumber" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetBlockNumber_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetChainId" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetChainId_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetChainId" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetChainId_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockCoinbase" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockCoinbase_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockCoinbase" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockCoinbase_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockDifficulty" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockDifficulty_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockDifficulty" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockDifficulty_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockGasLimit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockGasLimit_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockGasLimit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockGasLimit_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockTimestamp" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockTimestamp_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockTimestamp" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockTimestamp_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetEthBalance" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetEthBalance_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetEthBalance" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetEthBalance_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetLastBlockHash" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetLastBlockHash_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetLastBlockHash" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetLastBlockHash_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KtryAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KtryAggregate_bool_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KtryAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KtryAggregate_bool_address_bytes_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KtryBlockAndAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KtryBlockAndAggregate_bool_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KtryBlockAndAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KtryBlockAndAggregate_bool_address_bytes_address_bytes)] - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2Kaggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "aggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2Kaggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "aggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) andBool ( #rangeAddress ( V0_target_1 ) @@ -7310,7 +7557,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2Kaggregate3 ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_callData_1 : bytes ) => #abiCallData ( "aggregate3" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2Kaggregate3 ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_callData_1 : bytes ) => #abiCallData ( "aggregate3" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeBool ( V1_allowFailure_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) @@ -7320,7 +7567,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT )))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2Kaggregate3Value ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_value_0 : uint256 , V3_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_value_1 : uint256 , V3_callData_1 : bytes ) => #abiCallData ( "aggregate3Value" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #uint256 ( V2_value_1 ) , #bytes ( V3_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2Kaggregate3Value ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_value_0 : uint256 , V3_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_value_1 : uint256 , V3_callData_1 : bytes ) => #abiCallData ( "aggregate3Value" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #uint256 ( V2_value_1 ) , #bytes ( V3_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeBool ( V1_allowFailure_0 ) andBool ( #rangeUInt ( 256 , V2_value_0 ) @@ -7332,7 +7579,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT )))))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KblockAndAggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "blockAndAggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KblockAndAggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "blockAndAggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) andBool ( #rangeAddress ( V0_target_1 ) @@ -7340,39 +7587,39 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetBasefee ( ) => #abiCallData ( "getBasefee" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetBasefee ( ) => #abiCallData ( "getBasefee" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetBlockHash ( V0_blockNumber : uint256 ) => #abiCallData ( "getBlockHash" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetBlockHash ( V0_blockNumber : uint256 ) => #abiCallData ( "getBlockHash" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_blockNumber ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetBlockNumber ( ) => #abiCallData ( "getBlockNumber" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetBlockNumber ( ) => #abiCallData ( "getBlockNumber" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetChainId ( ) => #abiCallData ( "getChainId" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetChainId ( ) => #abiCallData ( "getChainId" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockCoinbase ( ) => #abiCallData ( "getCurrentBlockCoinbase" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockCoinbase ( ) => #abiCallData ( "getCurrentBlockCoinbase" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockDifficulty ( ) => #abiCallData ( "getCurrentBlockDifficulty" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockDifficulty ( ) => #abiCallData ( "getCurrentBlockDifficulty" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockGasLimit ( ) => #abiCallData ( "getCurrentBlockGasLimit" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockGasLimit ( ) => #abiCallData ( "getCurrentBlockGasLimit" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockTimestamp ( ) => #abiCallData ( "getCurrentBlockTimestamp" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockTimestamp ( ) => #abiCallData ( "getCurrentBlockTimestamp" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetEthBalance ( V0_addr : address ) => #abiCallData ( "getEthBalance" , #address ( V0_addr ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetEthBalance ( V0_addr : address ) => #abiCallData ( "getEthBalance" , #address ( V0_addr ) , .TypedArgs ) ) ensures #rangeAddress ( V0_addr ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetLastBlockHash ( ) => #abiCallData ( "getLastBlockHash" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetLastBlockHash ( ) => #abiCallData ( "getLastBlockHash" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KtryAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KtryAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeBool ( V0_requireSuccess ) andBool ( #rangeAddress ( V1_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) @@ -7381,7 +7628,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT ))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KtryBlockAndAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryBlockAndAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KtryBlockAndAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryBlockAndAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeBool ( V0_requireSuccess ) andBool ( #rangeAddress ( V1_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) @@ -7871,23 +8118,47 @@ module S2KtestZModInitCodeBranchTest-CONTRACT endmodule -module S2KsrcZModKEVMCheats-CONTRACT +module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Contract + + syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Contract ::= "S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_src%KEVMCheats.0.8.13)] + + + + rule ( #initBytecode ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + + + syntax Bytes ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Contract "." S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_src%KEVMCheats.0.8.13)] + + syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Method ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_src%KEVMCheats.0.8.13_S2Kkevm_)] + + rule ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13 . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) + + + rule ( selector ( "kevm()" ) => 3601001590 ) + + +endmodule + +module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModKEVMCheatsContract + syntax Contract ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Contract - syntax S2KsrcZModKEVMCheatsContract ::= "S2KsrcZModKEVMCheats" [symbol(""), klabel(contract_src%KEVMCheats)] + syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Contract ::= "S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_src%KEVMCheats.0.8.15)] - rule ( #initBytecode ( S2KsrcZModKEVMCheats ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KsrcZModKEVMCheatsContract "." S2KsrcZModKEVMCheatsMethod [function, symbol(""), klabel(method_src%KEVMCheats)] + syntax Bytes ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Contract "." S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_src%KEVMCheats.0.8.15)] - syntax S2KsrcZModKEVMCheatsMethod ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_src%KEVMCheats_S2Kkevm_)] + syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Method ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_src%KEVMCheats.0.8.15_S2Kkevm_)] - rule ( S2KsrcZModKEVMCheats . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15 . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) rule ( selector ( "kevm()" ) => 3601001590 ) @@ -7895,121 +8166,121 @@ module S2KsrcZModKEVMCheats-CONTRACT endmodule -module S2KsrcZModKEVMCheatsBase-CONTRACT +module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModKEVMCheatsBaseContract + syntax Contract ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Contract - syntax S2KsrcZModKEVMCheatsBaseContract ::= "S2KsrcZModKEVMCheatsBase" [symbol(""), klabel(contract_src%KEVMCheatsBase)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Contract ::= "S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_src%KEVMCheatsBase.0.8.13)] - rule ( #initBytecode ( S2KsrcZModKEVMCheatsBase ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KsrcZModKEVMCheatsBaseContract "." S2KsrcZModKEVMCheatsBaseMethod [function, symbol(""), klabel(method_src%KEVMCheatsBase)] + syntax Bytes ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Contract "." S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KallowCallsToAddress" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KallowCallsToAddress_address)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KallowCallsToAddress" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KallowCallsToAddress_address)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KallowChangesToStorage" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KallowChangesToStorage_address_uint256)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KallowChangesToStorage" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KallowChangesToStorage_address_uint256)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectCreate" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectCreate_address_uint256_bytes)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectCreate" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectCreate_address_uint256_bytes)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectCreate2" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectCreate2_address_uint256_bytes)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectCreate2" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectCreate2_address_uint256_bytes)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectDelegateCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectDelegateCall_address_bytes)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectDelegateCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectDelegateCall_address_bytes)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectNoCall" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectNoCall_)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectNoCall" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectNoCall_)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectRegularCall_address_bytes)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectRegularCall_address_bytes)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectRegularCall_address_uint256_bytes)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectRegularCall_address_uint256_bytes)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectStaticCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectStaticCall_address_bytes)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectStaticCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectStaticCall_address_bytes)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KfreshBool" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KfreshBool_)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KfreshBool" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KfreshBool_)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KfreshBytes_uint256)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KfreshBytes_uint256)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KfreshUInt_uint8)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KfreshUInt_uint8)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KinfiniteGas" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KinfiniteGas_)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KinfiniteGas" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KinfiniteGas_)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KsetGas" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KsetGas_uint256)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KsetGas" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KsetGas_uint256)] - syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KsymbolicStorage_address)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KsymbolicStorage_address)] - rule ( S2KsrcZModKEVMCheatsBase . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , #address ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , #address ( V0_ ) , .TypedArgs ) ) ensures #rangeAddress ( V0_ ) - rule ( S2KsrcZModKEVMCheatsBase . S2KallowChangesToStorage ( V0_ : address , V1_ : uint256 ) => #abiCallData ( "allowChangesToStorage" , #address ( V0_ ) , #uint256 ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KallowChangesToStorage ( V0_ : address , V1_ : uint256 ) => #abiCallData ( "allowChangesToStorage" , #address ( V0_ ) , #uint256 ( V1_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) )) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectCreate ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectCreate ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) ))) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectCreate2 ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate2" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectCreate2 ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate2" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) ))) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectDelegateCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectDelegateCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectDelegateCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectDelegateCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) )) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectNoCall ( ) => #abiCallData ( "expectNoCall" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectNoCall ( ) => #abiCallData ( "expectNoCall" , .TypedArgs ) ) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectRegularCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectRegularCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) )) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectRegularCall ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectRegularCall ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) ))) - rule ( S2KsrcZModKEVMCheatsBase . S2KexpectStaticCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectStaticCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectStaticCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectStaticCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) )) - rule ( S2KsrcZModKEVMCheatsBase . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) - rule ( S2KsrcZModKEVMCheatsBase . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , #uint256 ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , #uint256 ( V0_ ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_ ) - rule ( S2KsrcZModKEVMCheatsBase . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , #uint8 ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , #uint8 ( V0_ ) , .TypedArgs ) ) ensures #rangeUInt ( 8 , V0_ ) - rule ( S2KsrcZModKEVMCheatsBase . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) - rule ( S2KsrcZModKEVMCheatsBase . S2KsetGas ( V0_ : uint256 ) => #abiCallData ( "setGas" , #uint256 ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KsetGas ( V0_ : uint256 ) => #abiCallData ( "setGas" , #uint256 ( V0_ ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_ ) - rule ( S2KsrcZModKEVMCheatsBase . S2KsymbolicStorage ( V0_ : address ) => #abiCallData ( "symbolicStorage" , #address ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KsymbolicStorage ( V0_ : address ) => #abiCallData ( "symbolicStorage" , #address ( V0_ ) , .TypedArgs ) ) ensures #rangeAddress ( V0_ ) @@ -8060,76 +8331,241 @@ module S2KsrcZModKEVMCheatsBase-CONTRACT endmodule -module S2KtestZModLabelTest-CONTRACT +module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KtestZModLabelTestContract + syntax Contract ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Contract - syntax S2KtestZModLabelTestContract ::= "S2KtestZModLabelTest" [symbol(""), klabel(contract_test%LabelTest)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Contract ::= "S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_src%KEVMCheatsBase.0.8.15)] - rule ( #initBytecode ( S2KtestZModLabelTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610ab18061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806385226c811161007157806385226c81146100fb578063916a17c614610110578063b5508aa914610118578063ba414fa614610120578063e20c9f7114610138578063fa7626d41461014057600080fd5b80631ed7831c146100ae5780632fa150bd146100cc5780633e5e3c23146100d65780633f7286f4146100de57806366d9a9a0146100e6575b600080fd5b6100b661014d565b6040516100c3919061080b565b60405180910390f35b6100d46101af565b005b6100b6610249565b6100b66102a9565b6100ee610309565b6040516100c39190610858565b6101036103f8565b6040516100c3919061093b565b6100ee6104c8565b6101036105ae565b61012861067e565b60405190151581526020016100c3565b6100b66107ab565b6007546101289060ff1681565b606060148054806020026020016040519081016040528092919081815260200182805480156101a557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610187575b5050505050905090565b604080516318caf8e360e31b8152600060048201526024810191909152600c60448201526b5a65726f204164647265737360a01b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506001610247576102476109b5565b565b606060168054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103d757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103995790505b5050505050815250508152602001906001019061032d565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103ef57838290600052602060002001805461043b906109cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610467906109cb565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b50505050508152602001906001019061041c565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561059657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105585790505b505050505081525050815260200190600101906104ec565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103ef5783829060005260206000200180546105f1906109cb565b80601f016020809104026020016040519081016040528092919081815260200182805461061d906109cb565b801561066a5780601f1061063f5761010080835404028352916020019161066a565b820191906000526020600020905b81548152906001019060200180831161064d57829003601f168201915b5050505050815260200190600101906105d2565b600754600090610100900460ff16156106a05750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107a65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909161072e917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610a05565b60408051601f198184030181529082905261074891610a36565b6000604051808303816000865af19150503d8060008114610785576040519150601f19603f3d011682016040523d82523d6000602084013e61078a565b606091505b50915050808060200190518101906107a29190610a52565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b6020808252825182820181905260009190848201906040850190845b8181101561084c5783516001600160a01b031683529284019291840191600101610827565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156108fc57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156108e75783516001600160e01b0319168252928b019260019290920191908b01906108bd565b50978a01979550505091870191600101610880565b50919998505050505050505050565b60005b8381101561092657818101518382015260200161090e565b83811115610935576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156109a857878503603f1901845281518051808752610989818989018a850161090b565b601f01601f191695909501860194509285019290850190600101610962565b5092979650505050505050565b634e487b7160e01b600052600160045260246000fd5b600181811c908216806109df57607f821691505b6020821081036109ff57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610a2881600485016020870161090b565b919091016004019392505050565b60008251610a4881846020870161090b565b9190910192915050565b600060208284031215610a6457600080fd5b81518015158114610a7457600080fd5b939250505056fea26469706673582212203a7aea418edcca50234463b79aa25edd8e96650bcf3e6ac0f7b90ebcd7b1931364736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KtestZModLabelTestField - - syntax S2KtestZModLabelTestField ::= "stdstore" [symbol(""), klabel(field_test%LabelTest_stdstore)] - - syntax S2KtestZModLabelTestField ::= "IS_TEST" [symbol(""), klabel(field_test%LabelTest_IS_TEST)] + syntax Bytes ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Contract "." S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15)] - syntax S2KtestZModLabelTestField ::= "_failed" [symbol(""), klabel(field_test%LabelTest__failed)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KallowCallsToAddress" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KallowCallsToAddress_address)] - syntax S2KtestZModLabelTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%LabelTest_stdChainsInitialized)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KallowChangesToStorage" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KallowChangesToStorage_address_uint256)] - syntax S2KtestZModLabelTestField ::= "chains" [symbol(""), klabel(field_test%LabelTest_chains)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectCreate" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectCreate_address_uint256_bytes)] - syntax S2KtestZModLabelTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_defaultRpcUrls)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectCreate2" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectCreate2_address_uint256_bytes)] - syntax S2KtestZModLabelTestField ::= "idToAlias" [symbol(""), klabel(field_test%LabelTest_idToAlias)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectDelegateCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectDelegateCall_address_bytes)] - syntax S2KtestZModLabelTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_fallbackToDefaultRpcUrls)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectNoCall" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectNoCall_)] - syntax S2KtestZModLabelTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%LabelTest_gasMeteringOff)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectRegularCall_address_bytes)] - syntax S2KtestZModLabelTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%LabelTest__excludedContracts)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectRegularCall_address_uint256_bytes)] - syntax S2KtestZModLabelTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%LabelTest__excludedSenders)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectStaticCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectStaticCall_address_bytes)] - syntax S2KtestZModLabelTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%LabelTest__targetedContracts)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KfreshBool" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KfreshBool_)] - syntax S2KtestZModLabelTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%LabelTest__targetedSenders)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KfreshBytes_uint256)] - syntax S2KtestZModLabelTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%LabelTest__excludedArtifacts)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KfreshUInt_uint8)] - syntax S2KtestZModLabelTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%LabelTest__targetedArtifacts)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KinfiniteGas" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KinfiniteGas_)] - syntax S2KtestZModLabelTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%LabelTest__targetedArtifactSelectors)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KsetGas" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KsetGas_uint256)] - syntax S2KtestZModLabelTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%LabelTest__targetedSelectors)] + syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KsymbolicStorage_address)] - rule ( #loc ( S2KtestZModLabelTest . stdstore ) => 0 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , #address ( V0_ ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_ ) - rule ( #loc ( S2KtestZModLabelTest . IS_TEST ) => 7 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KallowChangesToStorage ( V0_ : address , V1_ : uint256 ) => #abiCallData ( "allowChangesToStorage" , #address ( V0_ ) , #uint256 ( V1_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 256 , V1_ ) + )) - rule ( #loc ( S2KtestZModLabelTest . _failed ) => 7 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectCreate ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 256 , V1_ ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) + ))) - rule ( #loc ( S2KtestZModLabelTest . stdChainsInitialized ) => 7 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectCreate2 ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate2" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 256 , V1_ ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) + ))) - rule ( #loc ( S2KtestZModLabelTest . chains ) => 8 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectDelegateCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectDelegateCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) + )) - rule ( #loc ( S2KtestZModLabelTest . defaultRpcUrls ) => 9 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectNoCall ( ) => #abiCallData ( "expectNoCall" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModLabelTest . idToAlias ) => 10 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectRegularCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) + )) - rule ( #loc ( S2KtestZModLabelTest . fallbackToDefaultRpcUrls ) => 11 ) + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectRegularCall ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 256 , V1_ ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) + ))) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectStaticCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectStaticCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_ ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) + )) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , #uint256 ( V0_ ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_ ) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , #uint8 ( V0_ ) , .TypedArgs ) ) + ensures #rangeUInt ( 8 , V0_ ) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KsetGas ( V0_ : uint256 ) => #abiCallData ( "setGas" , #uint256 ( V0_ ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_ ) + + + rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KsymbolicStorage ( V0_ : address ) => #abiCallData ( "symbolicStorage" , #address ( V0_ ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_ ) + + + rule ( selector ( "allowCallsToAddress(address)" ) => 1850795572 ) + + + rule ( selector ( "allowChangesToStorage(address,uint256)" ) => 4207417100 ) + + + rule ( selector ( "expectCreate(address,uint256,bytes)" ) => 658968394 ) + + + rule ( selector ( "expectCreate2(address,uint256,bytes)" ) => 3854582462 ) + + + rule ( selector ( "expectDelegateCall(address,bytes)" ) => 1030406631 ) + + + rule ( selector ( "expectNoCall()" ) => 3861374088 ) + + + rule ( selector ( "expectRegularCall(address,bytes)" ) => 3178868520 ) + + + rule ( selector ( "expectRegularCall(address,uint256,bytes)" ) => 1973496647 ) + + + rule ( selector ( "expectStaticCall(address,bytes)" ) => 2232945516 ) + + + rule ( selector ( "freshBool()" ) => 2935720297 ) + + + rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) + + + rule ( selector ( "freshUInt(uint8)" ) => 625253732 ) + + + rule ( selector ( "infiniteGas()" ) => 3986649939 ) + + + rule ( selector ( "setGas(uint256)" ) => 3713137314 ) + + + rule ( selector ( "symbolicStorage(address)" ) => 769677742 ) + + +endmodule + +module S2KtestZModLabelTest-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KtestZModLabelTestContract + + syntax S2KtestZModLabelTestContract ::= "S2KtestZModLabelTest" [symbol(""), klabel(contract_test%LabelTest)] + + + + rule ( #initBytecode ( S2KtestZModLabelTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610ab18061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806385226c811161007157806385226c81146100fb578063916a17c614610110578063b5508aa914610118578063ba414fa614610120578063e20c9f7114610138578063fa7626d41461014057600080fd5b80631ed7831c146100ae5780632fa150bd146100cc5780633e5e3c23146100d65780633f7286f4146100de57806366d9a9a0146100e6575b600080fd5b6100b661014d565b6040516100c3919061080b565b60405180910390f35b6100d46101af565b005b6100b6610249565b6100b66102a9565b6100ee610309565b6040516100c39190610858565b6101036103f8565b6040516100c3919061093b565b6100ee6104c8565b6101036105ae565b61012861067e565b60405190151581526020016100c3565b6100b66107ab565b6007546101289060ff1681565b606060148054806020026020016040519081016040528092919081815260200182805480156101a557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610187575b5050505050905090565b604080516318caf8e360e31b8152600060048201526024810191909152600c60448201526b5a65726f204164647265737360a01b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506001610247576102476109b5565b565b606060168054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103d757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103995790505b5050505050815250508152602001906001019061032d565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103ef57838290600052602060002001805461043b906109cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610467906109cb565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b50505050508152602001906001019061041c565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561059657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105585790505b505050505081525050815260200190600101906104ec565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103ef5783829060005260206000200180546105f1906109cb565b80601f016020809104026020016040519081016040528092919081815260200182805461061d906109cb565b801561066a5780601f1061063f5761010080835404028352916020019161066a565b820191906000526020600020905b81548152906001019060200180831161064d57829003601f168201915b5050505050815260200190600101906105d2565b600754600090610100900460ff16156106a05750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107a65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909161072e917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610a05565b60408051601f198184030181529082905261074891610a36565b6000604051808303816000865af19150503d8060008114610785576040519150601f19603f3d011682016040523d82523d6000602084013e61078a565b606091505b50915050808060200190518101906107a29190610a52565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b6020808252825182820181905260009190848201906040850190845b8181101561084c5783516001600160a01b031683529284019291840191600101610827565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156108fc57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156108e75783516001600160e01b0319168252928b019260019290920191908b01906108bd565b50978a01979550505091870191600101610880565b50919998505050505050505050565b60005b8381101561092657818101518382015260200161090e565b83811115610935576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156109a857878503603f1901845281518051808752610989818989018a850161090b565b601f01601f191695909501860194509285019290850190600101610962565b5092979650505050505050565b634e487b7160e01b600052600160045260246000fd5b600181811c908216806109df57607f821691505b6020821081036109ff57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610a2881600485016020870161090b565b919091016004019392505050565b60008251610a4881846020870161090b565b9190910192915050565b600060208284031215610a6457600080fd5b81518015158114610a7457600080fd5b939250505056fea26469706673582212203a7aea418edcca50234463b79aa25edd8e96650bcf3e6ac0f7b90ebcd7b1931364736f6c634300080d0033" ) ) + + + syntax Field ::= S2KtestZModLabelTestField + + syntax S2KtestZModLabelTestField ::= "stdstore" [symbol(""), klabel(field_test%LabelTest_stdstore)] + + syntax S2KtestZModLabelTestField ::= "IS_TEST" [symbol(""), klabel(field_test%LabelTest_IS_TEST)] + + syntax S2KtestZModLabelTestField ::= "_failed" [symbol(""), klabel(field_test%LabelTest__failed)] + + syntax S2KtestZModLabelTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%LabelTest_stdChainsInitialized)] + + syntax S2KtestZModLabelTestField ::= "chains" [symbol(""), klabel(field_test%LabelTest_chains)] + + syntax S2KtestZModLabelTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_defaultRpcUrls)] + + syntax S2KtestZModLabelTestField ::= "idToAlias" [symbol(""), klabel(field_test%LabelTest_idToAlias)] + + syntax S2KtestZModLabelTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_fallbackToDefaultRpcUrls)] + + syntax S2KtestZModLabelTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%LabelTest_gasMeteringOff)] + + syntax S2KtestZModLabelTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%LabelTest__excludedContracts)] + + syntax S2KtestZModLabelTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%LabelTest__excludedSenders)] + + syntax S2KtestZModLabelTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%LabelTest__targetedContracts)] + + syntax S2KtestZModLabelTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%LabelTest__targetedSenders)] + + syntax S2KtestZModLabelTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%LabelTest__excludedArtifacts)] + + syntax S2KtestZModLabelTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%LabelTest__targetedArtifacts)] + + syntax S2KtestZModLabelTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%LabelTest__targetedArtifactSelectors)] + + syntax S2KtestZModLabelTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%LabelTest__targetedSelectors)] + + rule ( #loc ( S2KtestZModLabelTest . stdstore ) => 0 ) + + + rule ( #loc ( S2KtestZModLabelTest . IS_TEST ) => 7 ) + + + rule ( #loc ( S2KtestZModLabelTest . _failed ) => 7 ) + + + rule ( #loc ( S2KtestZModLabelTest . stdChainsInitialized ) => 7 ) + + + rule ( #loc ( S2KtestZModLabelTest . chains ) => 8 ) + + + rule ( #loc ( S2KtestZModLabelTest . defaultRpcUrls ) => 9 ) + + + rule ( #loc ( S2KtestZModLabelTest . idToAlias ) => 10 ) + + + rule ( #loc ( S2KtestZModLabelTest . fallbackToDefaultRpcUrls ) => 11 ) rule ( #loc ( S2KtestZModLabelTest . gasMeteringOff ) => 11 ) @@ -10026,6 +10462,112 @@ module S2KtestZModNoImport-CONTRACT rule ( selector ( "test_source_map()" ) => 3563497491 ) +endmodule + +module S2KsrcZModOptimismPortal-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KsrcZModOptimismPortalContract + + syntax S2KsrcZModOptimismPortalContract ::= "S2KsrcZModOptimismPortal" [symbol(""), klabel(contract_src%OptimismPortal)] + + + + rule ( #initBytecode ( S2KsrcZModOptimismPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610325806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101a9565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156100f2576100f26100b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610121576101216100b9565b604052919050565b80356001600160a01b038116811461014057600080fd5b919050565b60006080828403121561015757600080fd5b50919050565b60008083601f84011261016f57600080fd5b50813567ffffffffffffffff81111561018757600080fd5b6020830191508360208260051b85010111156101a257600080fd5b9250929050565b600080600080600060e086880312156101c157600080fd5b853567ffffffffffffffff808211156101d957600080fd5b9087019060c0828a0312156101ed57600080fd5b6101f56100cf565b823581526020610206818501610129565b8183015261021660408501610129565b6040830152606084013560608301526080840135608083015260a08401358381111561024157600080fd5b8085019450508a601f85011261025657600080fd5b833583811115610268576102686100b9565b61027a601f8201601f191683016100f8565b8181528c8383880101111561028e57600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102bb8960408a01610145565b945060c08801359150808211156102d157600080fd5b506102de8882890161015d565b96999598509396509294939250505056fea264697066735822122058f6ef661b792bf6a541d1c8af533b706e12e0195294925b93882f2cc900c20364736f6c634300080f0033" ) ) + + + syntax Field ::= S2KsrcZModOptimismPortalField + + syntax S2KsrcZModOptimismPortalField ::= "paused" [symbol(""), klabel(field_src%OptimismPortal_paused)] + + rule ( #loc ( S2KsrcZModOptimismPortal . paused ) => 0 ) + + + syntax Bytes ::= S2KsrcZModOptimismPortalContract "." S2KsrcZModOptimismPortalMethod [function, symbol(""), klabel(method_src%OptimismPortal)] + + syntax S2KsrcZModOptimismPortalMethod ::= "S2Kpause" "(" ")" [symbol(""), klabel(method_src%OptimismPortal_S2Kpause_)] + + syntax S2KsrcZModOptimismPortalMethod ::= "S2KproveWithdrawalTransaction" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%OptimismPortal_S2KproveWithdrawalTransaction_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] + + rule ( S2KsrcZModOptimismPortal . S2Kpause ( ) => #abiCallData ( "pause" , .TypedArgs ) ) + + + rule ( S2KsrcZModOptimismPortal . S2KproveWithdrawalTransaction ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "proveWithdrawalTransaction" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_nonce ) + andBool ( #rangeAddress ( V1_sender ) + andBool ( #rangeAddress ( V2_target ) + andBool ( #rangeUInt ( 256 , V3_value ) + andBool ( #rangeUInt ( 256 , V4_gasLimit ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) + andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) + andBool ( #rangeBytes ( 32 , V7_version ) + andBool ( #rangeBytes ( 32 , V8_stateRoot ) + andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) + andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) + ))))))))))))) + + + rule ( selector ( "pause()" ) => 2220280665 ) + + + rule ( selector ( "proveWithdrawalTransaction((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 1215318383 ) + + +endmodule + +module S2KtestZModOptimismPortalKontrol-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KtestZModOptimismPortalKontrolContract + + syntax S2KtestZModOptimismPortalKontrolContract ::= "S2KtestZModOptimismPortalKontrol" [symbol(""), klabel(contract_test%OptimismPortalKontrol)] + + + + rule ( #initBytecode ( S2KtestZModOptimismPortalKontrol ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610956806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630a9254e41461003b578063a102c42514610045575b600080fd5b610043610058565b005b6100436100533660046102e0565b6100a3565b604051610064906101e3565b604051809103906000f080158015610080573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000805460408051638456cb5960e01b815290516001600160a01b0390921692638456cb599260048084019382900301818387803b1580156100e457600080fd5b505af11580156100f8573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561015a57600080fd5b505af115801561016e573d6000803e3d6000fd5b5050600054604051634870496f60e01b81526001600160a01b039091169250634870496f91506101aa90889088908890889088906004016104e1565b600060405180830381600087803b1580156101c457600080fd5b505af11580156101d8573d6000803e3d6000fd5b505050505050505050565b610345806105dc83390190565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610229576102296101f0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610258576102586101f0565b604052919050565b80356001600160a01b038116811461027757600080fd5b919050565b60006080828403121561028e57600080fd5b50919050565b60008083601f8401126102a657600080fd5b50813567ffffffffffffffff8111156102be57600080fd5b6020830191508360208260051b85010111156102d957600080fd5b9250929050565b600080600080600060e086880312156102f857600080fd5b853567ffffffffffffffff8082111561031057600080fd5b9087019060c0828a03121561032457600080fd5b61032c610206565b82358152602061033d818501610260565b8183015261034d60408501610260565b6040830152606084013560608301526080840135608083015260a08401358381111561037857600080fd5b8085019450508a601f85011261038d57600080fd5b83358381111561039f5761039f6101f0565b6103b1601f8201601f1916830161022f565b8181528c838388010111156103c557600080fd5b8183870184830137600091810183019190915260a083015290975088013595506103f28960408a0161027c565b945060c088013591508082111561040857600080fd5b5061041588828901610294565b969995985093965092949392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b878110156104d45782840389528135601e1988360301811261048a57600080fd5b8701858101903567ffffffffffffffff8111156104a657600080fd5b8036038213156104b557600080fd5b6104c0868284610426565b9a87019a9550505090840190600101610469565b5091979650505050505050565b60e08082528651908201526020808701516001600160a01b039081166101008401526040880151166101208301526060870151610140830152608087015161016083015260a087015160c061018084015280516101a084018190526000929190835b81811015610560578281018401518682016101c001528301610543565b818111156105735760006101c083880101525b50828501899052601f01601f1916840190506101c06105b66040860189803582526020810135602083015260408101356040830152606081013560608301525050565b808583030160c08601526105cd818301878961044f565b9a995050505050505050505056fe608060405234801561001057600080fd5b50610325806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101a9565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156100f2576100f26100b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610121576101216100b9565b604052919050565b80356001600160a01b038116811461014057600080fd5b919050565b60006080828403121561015757600080fd5b50919050565b60008083601f84011261016f57600080fd5b50813567ffffffffffffffff81111561018757600080fd5b6020830191508360208260051b85010111156101a257600080fd5b9250929050565b600080600080600060e086880312156101c157600080fd5b853567ffffffffffffffff808211156101d957600080fd5b9087019060c0828a0312156101ed57600080fd5b6101f56100cf565b823581526020610206818501610129565b8183015261021660408501610129565b6040830152606084013560608301526080840135608083015260a08401358381111561024157600080fd5b8085019450508a601f85011261025657600080fd5b833583811115610268576102686100b9565b61027a601f8201601f191683016100f8565b8181528c8383880101111561028e57600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102bb8960408a01610145565b945060c08801359150808211156102d157600080fd5b506102de8882890161015d565b96999598509396509294939250505056fea264697066735822122058f6ef661b792bf6a541d1c8af533b706e12e0195294925b93882f2cc900c20364736f6c634300080f0033a26469706673582212205ef81eebd779728bbd62841c470695468fce0d223cac32a1d9e34844a21ca6b164736f6c634300080f0033" ) ) + + + syntax Field ::= S2KtestZModOptimismPortalKontrolField + + syntax S2KtestZModOptimismPortalKontrolField ::= "optimismPortal" [symbol(""), klabel(field_test%OptimismPortalKontrol_optimismPortal)] + + rule ( #loc ( S2KtestZModOptimismPortalKontrol . optimismPortal ) => 0 ) + + + syntax Bytes ::= S2KtestZModOptimismPortalKontrolContract "." S2KtestZModOptimismPortalKontrolMethod [function, symbol(""), klabel(method_test%OptimismPortalKontrol)] + + syntax S2KtestZModOptimismPortalKontrolMethod ::= "S2KsetUp" "(" ")" [symbol(""), klabel(method_test%OptimismPortalKontrol_S2KsetUp_)] + + syntax S2KtestZModOptimismPortalKontrolMethod ::= "S2KtestZUndfinalizeWithdrawalTransactionZUndpaused" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_test%OptimismPortalKontrol_S2KtestZUndfinalizeWithdrawalTransactionZUndpaused_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] + + rule ( S2KtestZModOptimismPortalKontrol . S2KsetUp ( ) => #abiCallData ( "setUp" , .TypedArgs ) ) + + + rule ( S2KtestZModOptimismPortalKontrol . S2KtestZUndfinalizeWithdrawalTransactionZUndpaused ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "test_finalizeWithdrawalTransaction_paused" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_nonce ) + andBool ( #rangeAddress ( V1_sender ) + andBool ( #rangeAddress ( V2_target ) + andBool ( #rangeUInt ( 256 , V3_value ) + andBool ( #rangeUInt ( 256 , V4_gasLimit ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) + andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) + andBool ( #rangeBytes ( 32 , V7_version ) + andBool ( #rangeBytes ( 32 , V8_stateRoot ) + andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) + andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) + ))))))))))))) + + + rule ( selector ( "setUp()" ) => 177362148 ) + + + rule ( selector ( "test_finalizeWithdrawalTransaction_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 2701313061 ) + + endmodule module S2KsrcZModOwnerUpOnly-CONTRACT @@ -10645,329 +11187,36 @@ module S2KtestZModPlainPrankTest-CONTRACT endmodule -module S2KsrcZModPortal-CONTRACT +module S2KsrcZModPrank-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModPortalContract + syntax Contract ::= S2KsrcZModPrankContract - syntax S2KsrcZModPortalContract ::= "S2KsrcZModPortal" [symbol(), klabel(contract_src%Portal)] + syntax S2KsrcZModPrankContract ::= "S2KsrcZModPrank" [symbol(""), klabel(contract_src%Prank)] - rule ( #initBytecode ( S2KsrcZModPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101f1565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561013a5761013a610101565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561016957610169610101565b604052919050565b80356001600160a01b038116811461018857600080fd5b919050565b60006080828403121561019f57600080fd5b50919050565b60008083601f8401126101b757600080fd5b50813567ffffffffffffffff8111156101cf57600080fd5b6020830191508360208260051b85010111156101ea57600080fd5b9250929050565b600080600080600060e0868803121561020957600080fd5b853567ffffffffffffffff8082111561022157600080fd5b9087019060c0828a03121561023557600080fd5b61023d610117565b82358152602061024e818501610171565b8183015261025e60408501610171565b6040830152606084013560608301526080840135608083015260a08401358381111561028957600080fd5b8085019450508a601f85011261029e57600080fd5b8335838111156102b0576102b0610101565b6102c2601f8201601f19168301610140565b8181528c838388010111156102d657600080fd5b8183870184830137600091810183019190915260a083015290975088013595506103038960408a0161018d565b945060c088013591508082111561031957600080fd5b50610326888289016101a5565b96999598509396509294939250505056fea2646970667358221220a5957bdb0722beb5aae24e7f89b211a669b152f8a4d8b565c4092114902c304564736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KsrcZModPrank ) => #parseByteStack ( "0x60a060405234801561001057600080fd5b50336080526080516102376100366000396000818160b0015261010101526102376000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306661abd146100675780631003e2d2146100835780631dc05f17146100985780638da5cb5b146100ab578063d737d0c7146100ea578063f96757d1146100f0575b600080fd5b61007060005481565b6040519081526020015b60405180910390f35b6100966100913660046101a3565b6100f6565b005b6100966100a63660046101a3565b610178565b6100d27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007a565b336100d2565b326100d2565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461015f5760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b604482015260640160405180910390fd5b8060008082825461017091906101d2565b909155505050565b321561018357600080fd5b80600054101561019257600080fd5b8060008082825461017091906101ea565b6000602082840312156101b557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156101e5576101e56101bc565b500190565b6000828210156101fc576101fc6101bc565b50039056fea26469706673582212209fec2a98ce783918a505ab8dd5902fd0124c28b9082bff3625e1ca56841a14c364736f6c634300080d0033" ) ) - syntax Field ::= S2KsrcZModPortalField + syntax Field ::= S2KsrcZModPrankField - syntax S2KsrcZModPortalField ::= "paused" [symbol(), klabel(field_src%Portal_paused)] + syntax S2KsrcZModPrankField ::= "count" [symbol(""), klabel(field_src%Prank_count)] - rule ( #loc ( S2KsrcZModPortal . paused ) => 0 ) + rule ( #loc ( S2KsrcZModPrank . count ) => 0 ) - syntax Bytes ::= S2KsrcZModPortalContract "." S2KsrcZModPortalMethod [function(), symbol(), klabel(method_src%Portal)] + syntax Bytes ::= S2KsrcZModPrankContract "." S2KsrcZModPrankMethod [function, symbol(""), klabel(method_src%Prank)] - syntax S2KsrcZModPortalMethod ::= "S2Kpause" "(" ")" [symbol(), klabel(method_src%Portal_S2Kpause_)] + syntax S2KsrcZModPrankMethod ::= "S2Kadd" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Kadd_uint256)] - syntax S2KsrcZModPortalMethod ::= "S2KproveWithdrawalTransaction" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(), klabel(method_src%Portal_S2KproveWithdrawalTransaction_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] + syntax S2KsrcZModPrankMethod ::= "S2Kcount" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kcount_)] - rule ( S2KsrcZModPortal . S2Kpause ( ) => #abiCallData ( "pause" , .TypedArgs ) ) - + syntax S2KsrcZModPrankMethod ::= "S2KmsgSender" "(" ")" [symbol(""), klabel(method_src%Prank_S2KmsgSender_)] - rule ( S2KsrcZModPortal . S2KproveWithdrawalTransaction ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "proveWithdrawalTransaction" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_nonce ) - andBool ( #rangeAddress ( V1_sender ) - andBool ( #rangeAddress ( V2_target ) - andBool ( #rangeUInt ( 256 , V3_value ) - andBool ( #rangeUInt ( 256 , V4_gasLimit ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) - andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) - andBool ( #rangeBytes ( 32 , V7_version ) - andBool ( #rangeBytes ( 32 , V8_stateRoot ) - andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) - andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) - ))))))))))))) - + syntax S2KsrcZModPrankMethod ::= "S2Kowner" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kowner_)] - rule ( selector ( "pause()" ) => 2220280665 ) - - - rule ( selector ( "proveWithdrawalTransaction((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 1215318383 ) - - -endmodule - -module S2KsrcZModTypes-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KsrcZModTypesContract - - syntax S2KsrcZModTypesContract ::= "S2KsrcZModTypes" [symbol(), klabel(contract_src%Types)] - - - - rule ( #initBytecode ( S2KsrcZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122023265d3d5b9197828eca40eebb820e4578a3034faa662c6d0e0b5f0810b595a564736f6c634300080d0033" ) ) - - -endmodule - -module S2KtestZModPortalTest-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModPortalTestContract - - syntax S2KtestZModPortalTestContract ::= "S2KtestZModPortalTest" [symbol(), klabel(contract_test%PortalTest)] - - - - rule ( #initBytecode ( S2KtestZModPortalTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113028061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063916a17c611610071578063916a17c61461011b578063b5508aa914610123578063ba414fa61461012b578063c1cd1d7c14610143578063e20c9f7114610156578063fa7626d41461015e57600080fd5b80630a9254e4146100b95780631ed7831c146100c35780633e5e3c23146100e15780633f7286f4146100e957806366d9a9a0146100f157806385226c8114610106575b600080fd5b6100c161016b565b005b6100cb6101b6565b6040516100d89190610936565b60405180910390f35b6100cb610218565b6100cb610278565b6100f96102d8565b6040516100d89190610983565b61010e6103c7565b6040516100d89190610a92565b6100f9610497565b61010e61057d565b61013361064d565b60405190151581526020016100d8565b6100c1610151366004610bdf565b61077a565b6100cb6108c9565b6007546101339060ff1681565b60405161017790610929565b604051809103906000f080158015610193573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060601480548060200260200160405190810160405280929190818152602001828054801561020e57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f0575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103a657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103685790505b505050505081525050815260200190600101906102fc565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103be57838290600052602060002001805461040a90610d25565b80601f016020809104026020016040519081016040528092919081815260200182805461043690610d25565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050815260200190600101906103eb565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561056557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105275790505b505050505081525050815260200190600101906104bb565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103be5783829060005260206000200180546105c090610d25565b80601f01602080910402602001604051908101604052809291908181526020018280546105ec90610d25565b80156106395780601f1061060e57610100808354040283529160200191610639565b820191906000526020600020905b81548152906001019060200180831161061c57829003601f168201915b5050505050815260200190600101906105a1565b600754600090610100900460ff161561066f5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916106fd917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610d59565b60408051601f198184030181529082905261071791610d8a565b6000604051808303816000865af19150503d8060008114610754576040519150601f19603f3d011682016040523d82523d6000602084013e610759565b606091505b50915050808060200190518101906107719190610da6565b9150505b919050565b601b60009054906101000a90046001600160a01b03166001600160a01b0316638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107ca57600080fd5b505af11580156107de573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561084057600080fd5b505af1158015610854573d6000803e3d6000fd5b5050601b54604051634870496f60e01b81526001600160a01b039091169250634870496f91506108909088908890889088908890600401610e89565b600060405180830381600087803b1580156108aa57600080fd5b505af11580156108be573d6000803e3d6000fd5b505050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b61038d80610f4083390190565b6020808252825182820181905260009190848201906040850190845b818110156109775783516001600160a01b031683529284019291840191600101610952565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610a2757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610a125783516001600160e01b0319168252928b019260019290920191908b01906109e8565b50978a019795505050918701916001016109ab565b50919998505050505050505050565b60005b83811015610a51578181015183820152602001610a39565b83811115610a60576000848401525b50505050565b60008151808452610a7e816020860160208601610a36565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610ae757603f19888603018452610ad5858351610a66565b94509285019290850190600101610ab9565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610b2d57610b2d610af4565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610b5c57610b5c610af4565b604052919050565b80356001600160a01b038116811461077557600080fd5b600060808284031215610b8d57600080fd5b50919050565b60008083601f840112610ba557600080fd5b50813567ffffffffffffffff811115610bbd57600080fd5b6020830191508360208260051b8501011115610bd857600080fd5b9250929050565b600080600080600060e08688031215610bf757600080fd5b853567ffffffffffffffff80821115610c0f57600080fd5b9087019060c0828a031215610c2357600080fd5b610c2b610b0a565b823581526020610c3c818501610b64565b81830152610c4c60408501610b64565b6040830152606084013560608301526080840135608083015260a084013583811115610c7757600080fd5b8085019450508a601f850112610c8c57600080fd5b833583811115610c9e57610c9e610af4565b610cb0601f8201601f19168301610b33565b8181528c83838801011115610cc457600080fd5b8183870184830137600091810183019190915260a08301529097508801359550610cf18960408a01610b7b565b945060c0880135915080821115610d0757600080fd5b50610d1488828901610b93565b969995985093965092949392505050565b600181811c90821680610d3957607f821691505b602082108103610b8d57634e487b7160e01b600052602260045260246000fd5b6001600160e01b0319831681528151600090610d7c816004850160208701610a36565b919091016004019392505050565b60008251610d9c818460208701610a36565b9190910192915050565b600060208284031215610db857600080fd5b81518015158114610dc857600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b87811015610e7c5782840389528135601e19883603018112610e3357600080fd5b8701803567ffffffffffffffff811115610e4c57600080fd5b803603891315610e5b57600080fd5b610e688682898501610dcf565b9a87019a9550505090840190600101610e12565b5091979650505050505050565b60e080825286519082015260208601516001600160a01b039081166101008301526040870151166101208201526060860151610140820152608086015161016082015260a086015160c0610180830152600090610eea6101a0840182610a66565b9050866020840152610f206040840187803582526020810135602083015260408101356040830152606081013560608301525050565b82810360c0840152610f33818587610df8565b9897505050505050505056fe608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101f1565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561013a5761013a610101565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561016957610169610101565b604052919050565b80356001600160a01b038116811461018857600080fd5b919050565b60006080828403121561019f57600080fd5b50919050565b60008083601f8401126101b757600080fd5b50813567ffffffffffffffff8111156101cf57600080fd5b6020830191508360208260051b85010111156101ea57600080fd5b9250929050565b600080600080600060e0868803121561020957600080fd5b853567ffffffffffffffff8082111561022157600080fd5b9087019060c0828a03121561023557600080fd5b61023d610117565b82358152602061024e818501610171565b8183015261025e60408501610171565b6040830152606084013560608301526080840135608083015260a08401358381111561028957600080fd5b8085019450508a601f85011261029e57600080fd5b8335838111156102b0576102b0610101565b6102c2601f8201601f19168301610140565b8181528c838388010111156102d657600080fd5b8183870184830137600091810183019190915260a083015290975088013595506103038960408a0161018d565b945060c088013591508082111561031957600080fd5b50610326888289016101a5565b96999598509396509294939250505056fea2646970667358221220a5957bdb0722beb5aae24e7f89b211a669b152f8a4d8b565c4092114902c304564736f6c634300080d0033a2646970667358221220add3d9eea4e4b570aebaf9629b781414e72fba5586aff3f741f59508610424b664736f6c634300080d0033" ) ) - - - syntax Field ::= S2KtestZModPortalTestField - - syntax S2KtestZModPortalTestField ::= "stdstore" [symbol(), klabel(field_test%PortalTest_stdstore)] - - syntax S2KtestZModPortalTestField ::= "IS_TEST" [symbol(), klabel(field_test%PortalTest_IS_TEST)] - - syntax S2KtestZModPortalTestField ::= "_failed" [symbol(), klabel(field_test%PortalTest__failed)] - - syntax S2KtestZModPortalTestField ::= "stdChainsInitialized" [symbol(), klabel(field_test%PortalTest_stdChainsInitialized)] - - syntax S2KtestZModPortalTestField ::= "chains" [symbol(), klabel(field_test%PortalTest_chains)] - - syntax S2KtestZModPortalTestField ::= "defaultRpcUrls" [symbol(), klabel(field_test%PortalTest_defaultRpcUrls)] - - syntax S2KtestZModPortalTestField ::= "idToAlias" [symbol(), klabel(field_test%PortalTest_idToAlias)] - - syntax S2KtestZModPortalTestField ::= "fallbackToDefaultRpcUrls" [symbol(), klabel(field_test%PortalTest_fallbackToDefaultRpcUrls)] - - syntax S2KtestZModPortalTestField ::= "gasMeteringOff" [symbol(), klabel(field_test%PortalTest_gasMeteringOff)] - - syntax S2KtestZModPortalTestField ::= "_excludedContracts" [symbol(), klabel(field_test%PortalTest__excludedContracts)] - - syntax S2KtestZModPortalTestField ::= "_excludedSenders" [symbol(), klabel(field_test%PortalTest__excludedSenders)] - - syntax S2KtestZModPortalTestField ::= "_targetedContracts" [symbol(), klabel(field_test%PortalTest__targetedContracts)] - - syntax S2KtestZModPortalTestField ::= "_targetedSenders" [symbol(), klabel(field_test%PortalTest__targetedSenders)] - - syntax S2KtestZModPortalTestField ::= "_excludedArtifacts" [symbol(), klabel(field_test%PortalTest__excludedArtifacts)] - - syntax S2KtestZModPortalTestField ::= "_targetedArtifacts" [symbol(), klabel(field_test%PortalTest__targetedArtifacts)] - - syntax S2KtestZModPortalTestField ::= "_targetedArtifactSelectors" [symbol(), klabel(field_test%PortalTest__targetedArtifactSelectors)] - - syntax S2KtestZModPortalTestField ::= "_targetedSelectors" [symbol(), klabel(field_test%PortalTest__targetedSelectors)] - - syntax S2KtestZModPortalTestField ::= "portalContract" [symbol(), klabel(field_test%PortalTest_portalContract)] - - rule ( #loc ( S2KtestZModPortalTest . stdstore ) => 0 ) - - - rule ( #loc ( S2KtestZModPortalTest . IS_TEST ) => 7 ) - - - rule ( #loc ( S2KtestZModPortalTest . _failed ) => 7 ) - - - rule ( #loc ( S2KtestZModPortalTest . stdChainsInitialized ) => 7 ) - - - rule ( #loc ( S2KtestZModPortalTest . chains ) => 8 ) - - - rule ( #loc ( S2KtestZModPortalTest . defaultRpcUrls ) => 9 ) - - - rule ( #loc ( S2KtestZModPortalTest . idToAlias ) => 10 ) - - - rule ( #loc ( S2KtestZModPortalTest . fallbackToDefaultRpcUrls ) => 11 ) - - - rule ( #loc ( S2KtestZModPortalTest . gasMeteringOff ) => 11 ) - - - rule ( #loc ( S2KtestZModPortalTest . _excludedContracts ) => 19 ) - - - rule ( #loc ( S2KtestZModPortalTest . _excludedSenders ) => 20 ) - - - rule ( #loc ( S2KtestZModPortalTest . _targetedContracts ) => 21 ) - - - rule ( #loc ( S2KtestZModPortalTest . _targetedSenders ) => 22 ) - - - rule ( #loc ( S2KtestZModPortalTest . _excludedArtifacts ) => 23 ) - - - rule ( #loc ( S2KtestZModPortalTest . _targetedArtifacts ) => 24 ) - - - rule ( #loc ( S2KtestZModPortalTest . _targetedArtifactSelectors ) => 25 ) - - - rule ( #loc ( S2KtestZModPortalTest . _targetedSelectors ) => 26 ) - - - rule ( #loc ( S2KtestZModPortalTest . portalContract ) => 27 ) - - - syntax Bytes ::= S2KtestZModPortalTestContract "." S2KtestZModPortalTestMethod [function(), symbol(), klabel(method_test%PortalTest)] - - syntax S2KtestZModPortalTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KISZUndTEST_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KexcludeArtifacts_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KexcludeContracts_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KexcludeSenders_)] - - syntax S2KtestZModPortalTestMethod ::= "S2Kfailed" "(" ")" [symbol(), klabel(method_test%PortalTest_S2Kfailed_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KsetUp" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KsetUp_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetArtifactSelectors_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetArtifacts_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetContracts_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetSelectors_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(), klabel(method_test%PortalTest_S2KtargetSenders_)] - - syntax S2KtestZModPortalTestMethod ::= "S2KtestZUndwithdrawalZUndpaused" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(), klabel(method_test%PortalTest_S2KtestZUndwithdrawalZUndpaused_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes_bytes_bytes_bytes_bytes_bytes_bytes_bytes_bytes)] - - rule ( S2KtestZModPortalTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KsetUp ( ) => #abiCallData ( "setUp" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - - - rule ( S2KtestZModPortalTest . S2KtestZUndwithdrawalZUndpaused ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes , V11__withdrawalProof_2 : bytes , V11__withdrawalProof_3 : bytes , V11__withdrawalProof_4 : bytes , V11__withdrawalProof_5 : bytes , V11__withdrawalProof_6 : bytes , V11__withdrawalProof_7 : bytes , V11__withdrawalProof_8 : bytes , V11__withdrawalProof_9 : bytes ) => #abiCallData ( "test_withdrawal_paused" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 10 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , #bytes ( V11__withdrawalProof_2 ) , #bytes ( V11__withdrawalProof_3 ) , #bytes ( V11__withdrawalProof_4 ) , #bytes ( V11__withdrawalProof_5 ) , #bytes ( V11__withdrawalProof_6 ) , #bytes ( V11__withdrawalProof_7 ) , #bytes ( V11__withdrawalProof_8 ) , #bytes ( V11__withdrawalProof_9 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_nonce ) - andBool ( #rangeAddress ( V1_sender ) - andBool ( #rangeAddress ( V2_target ) - andBool ( #rangeUInt ( 256 , V3_value ) - andBool ( #rangeUInt ( 256 , V4_gasLimit ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) - andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) - andBool ( #rangeBytes ( 32 , V7_version ) - andBool ( #rangeBytes ( 32 , V8_stateRoot ) - andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) - andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) - andBool ( lengthBytes ( V11__withdrawalProof_0 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_1 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_2 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_3 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_4 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_5 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_6 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_7 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_8 ) ==Int 600 - andBool ( lengthBytes ( V11__withdrawalProof_9 ) ==Int 600 - ))))))))))))))))))))) - - - rule ( selector ( "IS_TEST()" ) => 4202047188 ) - - - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - - - rule ( selector ( "excludeContracts()" ) => 3792478065 ) - - - rule ( selector ( "excludeSenders()" ) => 517440284 ) - - - rule ( selector ( "failed()" ) => 3124842406 ) - - - rule ( selector ( "setUp()" ) => 177362148 ) - - - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - - - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - - - rule ( selector ( "targetContracts()" ) => 1064470260 ) - - - rule ( selector ( "targetSelectors()" ) => 2439649222 ) - - - rule ( selector ( "targetSenders()" ) => 1046363171 ) - - - rule ( selector ( "test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 3251445116 ) - - -endmodule - -module S2KsrcZModPrank-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KsrcZModPrankContract - - syntax S2KsrcZModPrankContract ::= "S2KsrcZModPrank" [symbol(""), klabel(contract_src%Prank)] - - - - rule ( #initBytecode ( S2KsrcZModPrank ) => #parseByteStack ( "0x60a060405234801561001057600080fd5b50336080526080516102376100366000396000818160b0015261010101526102376000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306661abd146100675780631003e2d2146100835780631dc05f17146100985780638da5cb5b146100ab578063d737d0c7146100ea578063f96757d1146100f0575b600080fd5b61007060005481565b6040519081526020015b60405180910390f35b6100966100913660046101a3565b6100f6565b005b6100966100a63660046101a3565b610178565b6100d27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007a565b336100d2565b326100d2565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461015f5760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b604482015260640160405180910390fd5b8060008082825461017091906101d2565b909155505050565b321561018357600080fd5b80600054101561019257600080fd5b8060008082825461017091906101ea565b6000602082840312156101b557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156101e5576101e56101bc565b500190565b6000828210156101fc576101fc6101bc565b50039056fea26469706673582212209fec2a98ce783918a505ab8dd5902fd0124c28b9082bff3625e1ca56841a14c364736f6c634300080d0033" ) ) - - - syntax Field ::= S2KsrcZModPrankField - - syntax S2KsrcZModPrankField ::= "count" [symbol(""), klabel(field_src%Prank_count)] - - rule ( #loc ( S2KsrcZModPrank . count ) => 0 ) - - - syntax Bytes ::= S2KsrcZModPrankContract "." S2KsrcZModPrankMethod [function, symbol(""), klabel(method_src%Prank)] - - syntax S2KsrcZModPrankMethod ::= "S2Kadd" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Kadd_uint256)] - - syntax S2KsrcZModPrankMethod ::= "S2Kcount" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kcount_)] - - syntax S2KsrcZModPrankMethod ::= "S2KmsgSender" "(" ")" [symbol(""), klabel(method_src%Prank_S2KmsgSender_)] - - syntax S2KsrcZModPrankMethod ::= "S2Kowner" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kowner_)] - - syntax S2KsrcZModPrankMethod ::= "S2Ksubtract" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Ksubtract_uint256)] + syntax S2KsrcZModPrankMethod ::= "S2Ksubtract" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Ksubtract_uint256)] syntax S2KsrcZModPrankMethod ::= "S2KtxOrigin" "(" ")" [symbol(""), klabel(method_src%Prank_S2KtxOrigin_)] @@ -12122,7 +12371,7 @@ module S2KtestZModPreconditionsTest-CONTRACT - rule ( #initBytecode ( S2KtestZModPreconditionsTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610d7d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063916a17c61161008c578063d6a2ec7611610066578063d6a2ec761461015e578063e20c9f711461019d578063ea281abd146101a5578063fa7626d4146101ad57600080fd5b8063916a17c614610136578063b5508aa91461013e578063ba414fa61461014657600080fd5b80630a9254e4146100d45780631ed7831c146100de5780633e5e3c23146100fc5780633f7286f41461010457806366d9a9a01461010c57806385226c8114610121575b600080fd5b6100dc6101ba565b005b6100e661028a565b6040516100f39190610af1565b60405180910390f35b6100e66102ec565b6100e661034c565b6101146103ac565b6040516100f39190610b3e565b61012961049b565b6040516100f39190610c1d565b61011461056b565b610129610651565b61014e610721565b60405190151581526020016100f3565b6101857f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b0390911681526020016100f3565b6100e661084e565b6100dc6108ae565b60075461014e9060ff1681565b6040516316f02cd760e11b8152306004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae90602401600060405180830381600087803b15801561020657600080fd5b505af115801561021a573d6000803e3d6000fd5b5050601b54604051632631f2b160e11b8152600a919091116004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561027057600080fd5b505afa158015610284573d6000803e3d6000fd5b50505050565b606060148054806020026020016040519081016040528092919081815260200182805480156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050905090565b606060168054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161043c5790505b505050505081525050815260200190600101906103d0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156104925783829060005260206000200180546104de90610c97565b80601f016020809104026020016040519081016040528092919081815260200182805461050a90610c97565b80156105575780601f1061052c57610100808354040283529160200191610557565b820191906000526020600020905b81548152906001019060200180831161053a57829003601f168201915b5050505050815260200190600101906104bf565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561063957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105fb5790505b5050505050815250508152602001906001019061058f565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561049257838290600052602060002001805461069490610c97565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090610c97565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b505050505081526020019060010190610675565b600754600090610100900460ff16156107435750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156108495760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916107d1917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cd1565b60408051601f19818403018152908290526107eb91610d02565b6000604051808303816000865af19150503d8060008114610828576040519150601f19603f3d011682016040523d82523d6000602084013e61082d565b606091505b50915050808060200190518101906108459190610d1e565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b6108bb601b54600a6108bd565b565b8082106109e1577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161092d9060208082526021908201527f4572726f723a2061203c2062206e6f7420736174697366696564205b75696e746040820152605d60f81b606082015260800190565b60405180910390a16040805181815260098183015268202056616c7565206160b81b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1604080518181526009818301526810102b30b63ab2903160b91b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16109e16109e5565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610ae05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610a7f9291602001610cd1565b60408051601f1981840301815290829052610a9991610d02565b6000604051808303816000865af19150503d8060008114610ad6576040519150601f19603f3d011682016040523d82523d6000602084013e610adb565b606091505b505050505b6007805461ff001916610100179055565b6020808252825182820181905260009190848201906040850190845b81811015610b325783516001600160a01b031683529284019291840191600101610b0d565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610be257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610bcd5783516001600160e01b0319168252928b019260019290920191908b0190610ba3565b50978a01979550505091870191600101610b66565b50919998505050505050505050565b60005b83811015610c0c578181015183820152602001610bf4565b838111156102845750506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610c8a57878503603f1901845281518051808752610c6b818989018a8501610bf1565b601f01601f191695909501860194509285019290850190600101610c44565b5092979650505050505050565b600181811c90821680610cab57607f821691505b602082108103610ccb57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610cf4816004850160208701610bf1565b919091016004019392505050565b60008251610d14818460208701610bf1565b9190910192915050565b600060208284031215610d3057600080fd5b81518015158114610d4057600080fd5b939250505056fea2646970667358221220d553d235d29e454d74e30e3fef995f1361f793cb8a6ff96bdcba15b59205a36864736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModPreconditionsTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610d7d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063916a17c61161008c578063d6a2ec7611610066578063d6a2ec761461015e578063e20c9f711461019d578063ea281abd146101a5578063fa7626d4146101ad57600080fd5b8063916a17c614610136578063b5508aa91461013e578063ba414fa61461014657600080fd5b80630a9254e4146100d45780631ed7831c146100de5780633e5e3c23146100fc5780633f7286f41461010457806366d9a9a01461010c57806385226c8114610121575b600080fd5b6100dc6101ba565b005b6100e661028a565b6040516100f39190610af1565b60405180910390f35b6100e66102ec565b6100e661034c565b6101146103ac565b6040516100f39190610b3e565b61012961049b565b6040516100f39190610c1d565b61011461056b565b610129610651565b61014e610721565b60405190151581526020016100f3565b6101857f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b0390911681526020016100f3565b6100e661084e565b6100dc6108ae565b60075461014e9060ff1681565b6040516316f02cd760e11b8152306004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae90602401600060405180830381600087803b15801561020657600080fd5b505af115801561021a573d6000803e3d6000fd5b5050601b54604051632631f2b160e11b8152600a919091116004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561027057600080fd5b505afa158015610284573d6000803e3d6000fd5b50505050565b606060148054806020026020016040519081016040528092919081815260200182805480156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050905090565b606060168054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161043c5790505b505050505081525050815260200190600101906103d0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156104925783829060005260206000200180546104de90610c97565b80601f016020809104026020016040519081016040528092919081815260200182805461050a90610c97565b80156105575780601f1061052c57610100808354040283529160200191610557565b820191906000526020600020905b81548152906001019060200180831161053a57829003601f168201915b5050505050815260200190600101906104bf565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561063957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105fb5790505b5050505050815250508152602001906001019061058f565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561049257838290600052602060002001805461069490610c97565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090610c97565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b505050505081526020019060010190610675565b600754600090610100900460ff16156107435750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156108495760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916107d1917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cd1565b60408051601f19818403018152908290526107eb91610d02565b6000604051808303816000865af19150503d8060008114610828576040519150601f19603f3d011682016040523d82523d6000602084013e61082d565b606091505b50915050808060200190518101906108459190610d1e565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b6108bb601b54600a6108bd565b565b8082106109e1577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161092d9060208082526021908201527f4572726f723a2061203c2062206e6f7420736174697366696564205b75696e746040820152605d60f81b606082015260800190565b60405180910390a16040805181815260098183015268202056616c7565206160b81b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1604080518181526009818301526810102b30b63ab2903160b91b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16109e16109e5565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610ae05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610a7f9291602001610cd1565b60408051601f1981840301815290829052610a9991610d02565b6000604051808303816000865af19150503d8060008114610ad6576040519150601f19603f3d011682016040523d82523d6000602084013e610adb565b606091505b505050505b6007805461ff001916610100179055565b6020808252825182820181905260009190848201906040850190845b81811015610b325783516001600160a01b031683529284019291840191600101610b0d565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610be257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610bcd5783516001600160e01b0319168252928b019260019290920191908b0190610ba3565b50978a01979550505091870191600101610b66565b50919998505050505050505050565b60005b83811015610c0c578181015183820152602001610bf4565b838111156102845750506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610c8a57878503603f1901845281518051808752610c6b818989018a8501610bf1565b601f01601f191695909501860194509285019290850190600101610c44565b5092979650505050505050565b600181811c90821680610cab57607f821691505b602082108103610ccb57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610cf4816004850160208701610bf1565b919091016004019392505050565b60008251610d14818460208701610bf1565b9190910192915050565b600060208284031215610d3057600080fd5b81518015158114610d4057600080fd5b939250505056fea2646970667358221220bea4e81163dc008309f9539cd40446bca7b3c5381fc6495658ff6e7f1f9d1a6c64736f6c634300080f0033" ) ) syntax Field ::= S2KtestZModPreconditionsTestField @@ -14098,40 +14347,40 @@ module S2KtestZModSnapshotTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdAssertions-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdAssertions" [symbol(""), klabel(contract_lib%forge-std%src%StdAssertions)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdAssertions.0.8.13)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Field - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions_IS_TEST)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.13_IS_TEST)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions__failed)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.13__failed)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . IS_TEST ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . IS_TEST ) => 0 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . _failed ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . _failed ) => 0 ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsContract "." S2KlibZModforgeZSubstdZModsrcZModStdAssertionsMethod [function, symbol(""), klabel(method_lib%forge-std%src%StdAssertions)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.13)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions_S2KISZUndTEST_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.13_S2KISZUndTEST_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions_S2Kfailed_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.13_S2Kfailed_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) rule ( selector ( "IS_TEST()" ) => 4202047188 ) @@ -14142,611 +14391,618 @@ module S2KlibZModforgeZSubstdZModsrcZModStdAssertions-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdChains-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Contract - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdChains" [symbol(""), klabel(contract_lib%forge-std%src%StdChains)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdAssertions.0.8.15)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdChains ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Field - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%StdChains_stdChainsInitialized)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.15_IS_TEST)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%StdChains_chains)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.15__failed)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . IS_TEST ) => 0 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains_defaultRpcUrls)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . _failed ) => 0 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%StdChains_idToAlias)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.15)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains_fallbackToDefaultRpcUrls)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.15_S2KISZUndTEST_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . stdChainsInitialized ) => 0 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.15_S2Kfailed_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . chains ) => 1 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . defaultRpcUrls ) => 2 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . idToAlias ) => 3 ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . fallbackToDefaultRpcUrls ) => 4 ) + rule ( selector ( "failed()" ) => 3124842406 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdCheats-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheats" [symbol(""), klabel(contract_lib%forge-std%src%StdCheats)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdChains.0.8.13)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheats ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheats_gasMeteringOff)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_stdChainsInitialized)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%StdCheats_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_chains)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheats . gasMeteringOff ) => 0 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheats . stdstore ) => 1 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-CONTRACT - imports public FOUNDRY + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_defaultRpcUrls)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeContract + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_idToAlias)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe" [symbol(""), klabel(contract_lib%forge-std%src%StdCheatsSafe)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_fallbackToDefaultRpcUrls)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . stdChainsInitialized ) => 0 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe ) => #parseByteStack ( "0x" ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . chains ) => 1 ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeField + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . defaultRpcUrls ) => 2 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheatsSafe_gasMeteringOff)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . idToAlias ) => 3 ) + - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe . gasMeteringOff ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . fallbackToDefaultRpcUrls ) => 4 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdError-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Contract - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdError" [symbol(""), klabel(contract_lib%forge-std%src%stdError)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdChains.0.8.15)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdError ) => #parseByteStack ( "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b8181111561020a576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220b50568a01aeb365651845e1555ca92e15fc0bf558cbecc588728960215d1a59c64736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorContract "." S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod [function, symbol(""), klabel(method_lib%forge-std%src%stdError)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KarithmeticError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KarithmeticError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KassertionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KassertionError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KdivisionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KdivisionError_)] + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KencodeStorageError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KencodeStorageError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_stdChainsInitialized)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KenumConversionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KenumConversionError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_chains)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KindexOOBError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KindexOOBError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_defaultRpcUrls)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KmemOverflowError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KmemOverflowError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_idToAlias)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KpopError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KpopError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_fallbackToDefaultRpcUrls)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KzeroVarError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KzeroVarError_)] - - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KarithmeticError ( ) => #abiCallData ( "arithmeticError" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . stdChainsInitialized ) => 0 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KassertionError ( ) => #abiCallData ( "assertionError" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . chains ) => 1 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KdivisionError ( ) => #abiCallData ( "divisionError" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . defaultRpcUrls ) => 2 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KencodeStorageError ( ) => #abiCallData ( "encodeStorageError" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . idToAlias ) => 3 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KenumConversionError ( ) => #abiCallData ( "enumConversionError" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . fallbackToDefaultRpcUrls ) => 4 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KindexOOBError ( ) => #abiCallData ( "indexOOBError" , .TypedArgs ) ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Contract - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KmemOverflowError ( ) => #abiCallData ( "memOverflowError" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdCheats.0.8.13)] - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KpopError ( ) => #abiCallData ( "popError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KzeroVarError ( ) => #abiCallData ( "zeroVarError" , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - rule ( selector ( "arithmeticError()" ) => 2308253967 ) - + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Field - rule ( selector ( "assertionError()" ) => 271788407 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.13_gasMeteringOff)] - rule ( selector ( "divisionError()" ) => 4202187332 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.13_stdstore)] - rule ( selector ( "encodeStorageError()" ) => 3512788190 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13 . gasMeteringOff ) => 0 ) - rule ( selector ( "enumConversionError()" ) => 501503328 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13 . stdstore ) => 1 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdCheats.0.8.15)] - rule ( selector ( "indexOOBError()" ) => 99517970 ) - rule ( selector ( "memOverflowError()" ) => 2557239144 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - rule ( selector ( "popError()" ) => 2989344077 ) + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Field + + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.15_gasMeteringOff)] + + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.15_stdstore)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15 . gasMeteringOff ) => 0 ) - rule ( selector ( "zeroVarError()" ) => 3061221850 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15 . stdstore ) => 1 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdInvariant-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdInvariant" [symbol(""), klabel(contract_lib%forge-std%src%StdInvariant)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdCheatsSafe.0.8.13)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Field - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__excludedContracts)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheatsSafe.0.8.13_gasMeteringOff)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__excludedSenders)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13 . gasMeteringOff ) => 0 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedContracts)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Contract - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedSenders)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdCheatsSafe.0.8.15)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__excludedArtifacts)] + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedArtifacts)] + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedArtifactSelectors)] + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Field - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedSelectors)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheatsSafe.0.8.15_gasMeteringOff)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _excludedContracts ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15 . gasMeteringOff ) => 0 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _excludedSenders ) => 1 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Contract - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedContracts ) => 2 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdError.0.8.13)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedSenders ) => 3 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _excludedArtifacts ) => 4 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b8181111561020a576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220b50568a01aeb365651845e1555ca92e15fc0bf558cbecc588728960215d1a59c64736f6c634300080d0033" ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedArtifacts ) => 5 ) - + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedArtifactSelectors ) => 6 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KarithmeticError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KarithmeticError_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedSelectors ) => 7 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KassertionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KassertionError_)] - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantContract "." S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod [function, symbol(""), klabel(method_lib%forge-std%src%StdInvariant)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KdivisionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KdivisionError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KexcludeArtifacts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KencodeStorageError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KencodeStorageError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KexcludeContracts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KenumConversionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KenumConversionError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KexcludeSenders_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KindexOOBError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KindexOOBError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetArtifactSelectors_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KmemOverflowError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KmemOverflowError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetArtifacts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KpopError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KpopError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetContracts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KzeroVarError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KzeroVarError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetSelectors_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KarithmeticError ( ) => #abiCallData ( "arithmeticError" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetSenders_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KassertionError ( ) => #abiCallData ( "assertionError" , .TypedArgs ) ) + - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KdivisionError ( ) => #abiCallData ( "divisionError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KencodeStorageError ( ) => #abiCallData ( "encodeStorageError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KenumConversionError ( ) => #abiCallData ( "enumConversionError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KindexOOBError ( ) => #abiCallData ( "indexOOBError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KmemOverflowError ( ) => #abiCallData ( "memOverflowError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KpopError ( ) => #abiCallData ( "popError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KzeroVarError ( ) => #abiCallData ( "zeroVarError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( selector ( "arithmeticError()" ) => 2308253967 ) - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + rule ( selector ( "assertionError()" ) => 271788407 ) - rule ( selector ( "excludeContracts()" ) => 3792478065 ) + rule ( selector ( "divisionError()" ) => 4202187332 ) - rule ( selector ( "excludeSenders()" ) => 517440284 ) + rule ( selector ( "encodeStorageError()" ) => 3512788190 ) - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + rule ( selector ( "enumConversionError()" ) => 501503328 ) - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + rule ( selector ( "indexOOBError()" ) => 99517970 ) - rule ( selector ( "targetContracts()" ) => 1064470260 ) + rule ( selector ( "memOverflowError()" ) => 2557239144 ) - rule ( selector ( "targetSelectors()" ) => 2439649222 ) + rule ( selector ( "popError()" ) => 2989344077 ) - rule ( selector ( "targetSenders()" ) => 1046363171 ) + rule ( selector ( "zeroVarError()" ) => 3061221850 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdJson-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdJsonContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Contract - syntax S2KlibZModforgeZSubstdZModsrcZModstdJsonContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdJson" [symbol(""), klabel(contract_lib%forge-std%src%stdJson)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdError.0.8.15)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdJson ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220df7dc4d1800c459459a191c6e9a04ff356828c02156636c0da70d8b85d1d6da464736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b8181111561020a576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220c09e5339b999f6a65b356ba80f9972bb9581b882232ddbb249206f90b4d632f164736f6c634300080f0033" ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdMath-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdMathContract + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KarithmeticError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KarithmeticError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdMathContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdMath" [symbol(""), klabel(contract_lib%forge-std%src%stdMath)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KassertionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KassertionError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KdivisionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KdivisionError_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KencodeStorageError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KencodeStorageError_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KenumConversionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KenumConversionError_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KindexOOBError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KindexOOBError_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KmemOverflowError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KmemOverflowError_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KpopError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KpopError_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KzeroVarError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KzeroVarError_)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KarithmeticError ( ) => #abiCallData ( "arithmeticError" , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdMath ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d5896cecc074b7a125dff1c77ff303e9e188764651777cf455720d281a08f2864736f6c634300080d0033" ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KassertionError ( ) => #abiCallData ( "assertionError" , .TypedArgs ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorage-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageContract + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KdivisionError ( ) => #abiCallData ( "divisionError" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorage" [symbol(""), klabel(contract_lib%forge-std%src%stdStorage)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KencodeStorageError ( ) => #abiCallData ( "encodeStorageError" , .TypedArgs ) ) + + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KenumConversionError ( ) => #abiCallData ( "enumConversionError" , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorage ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205783f6e832bfb40b5a129ed00392cc4ddc0ee1b8814a44b32ec6685fd62b970064736f6c634300080d0033" ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KindexOOBError ( ) => #abiCallData ( "indexOOBError" , .TypedArgs ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeContract + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KmemOverflowError ( ) => #abiCallData ( "memOverflowError" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe" [symbol(""), klabel(contract_lib%forge-std%src%stdStorageSafe)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KpopError ( ) => #abiCallData ( "popError" , .TypedArgs ) ) + + rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KzeroVarError ( ) => #abiCallData ( "zeroVarError" , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220759f01e635a02e37e6673da50d4bf039c7767b2dfa5940553e131b798527412664736f6c634300080d0033" ) ) + rule ( selector ( "arithmeticError()" ) => 2308253967 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdStyle-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdStyleContract + rule ( selector ( "assertionError()" ) => 271788407 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdStyleContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdStyle" [symbol(""), klabel(contract_lib%forge-std%src%StdStyle)] + rule ( selector ( "divisionError()" ) => 4202187332 ) + + rule ( selector ( "encodeStorageError()" ) => 3512788190 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdStyle ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220013d1ea7f60ab0d57dc3e5d2001cc7935e44b07882c1aea9436566207923d48364736f6c634300080d0033" ) ) + rule ( selector ( "enumConversionError()" ) => 501503328 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdUtils-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdUtilsContract + rule ( selector ( "indexOOBError()" ) => 99517970 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdUtilsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdUtils" [symbol(""), klabel(contract_lib%forge-std%src%StdUtils)] + rule ( selector ( "memOverflowError()" ) => 2557239144 ) + + rule ( selector ( "popError()" ) => 2989344077 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdUtils ) => #parseByteStack ( "0x" ) ) + rule ( selector ( "zeroVarError()" ) => 3061221850 ) endmodule -module S2KtestZModStore-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KtestZModStoreContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Contract - syntax S2KtestZModStoreContract ::= "S2KtestZModStore" [symbol(""), klabel(contract_test%Store)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdInvariant.0.8.13)] - rule ( #initBytecode ( S2KtestZModStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KtestZModStoreField + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field - syntax S2KtestZModStoreField ::= "testNumber" [symbol(""), klabel(field_test%Store_testNumber)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__excludedContracts)] - rule ( #loc ( S2KtestZModStore . testNumber ) => 0 ) - - -endmodule - -module S2KtestZModStoreTest-CONTRACT - imports public FOUNDRY + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__excludedSenders)] - syntax Contract ::= S2KtestZModStoreTestContract + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedContracts)] - syntax S2KtestZModStoreTestContract ::= "S2KtestZModStoreTest" [symbol(""), klabel(contract_test%StoreTest)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedSenders)] - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__excludedArtifacts)] - rule ( #initBytecode ( S2KtestZModStoreTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113ad8061003d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806387a8a81b116100ad578063ba414fa611610071578063ba414fa6146101db578063e20c9f71146101f3578063e292f8b5146101fb578063e92ca5bb14610203578063fa7626d41461020b57600080fd5b806387a8a81b146101b357806389a99a74146101bb578063916a17c6146101c35780639b716e86146101cb578063b5508aa9146101d357600080fd5b80633f7286f4116100f45780633f7286f41461017157806348088073146101795780635c2d302e1461018157806366d9a9a01461018957806385226c811461019e57600080fd5b806305f6ff371461013157806309840bb51461013b5780631ed7831c1461014357806324007a26146101615780633e5e3c2314610169575b600080fd5b610139610218565b005b6101396102b8565b61014b6103fb565b6040516101589190610f36565b60405180910390f35b61013961045d565b61014b6104f5565b61014b610555565b6101396105b5565b6101396106f0565b61019161077c565b6040516101589190610f83565b6101a661086b565b6040516101589190611066565b61013961093b565b6101396109c9565b610191610a0b565b610139610af1565b6101a6610b79565b6101e3610c49565b6040519015158152602001610158565b61014b610d76565b610139610dd6565b610139610e06565b6007546101e39060ff1681565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f15050604051600093506102a392506000805160206113588339815191529150610274906065906017906005906024016110e0565b60408051601f198184030181529190526020810180516001600160e01b03166370ca10bb60e01b179052610f08565b905080607d146102b5576102b5611101565b50565b60006040516102c690610f2a565b604051809103906000f0801580156102e2573d6000803e3d6000fd5b50905060008051602061135883398151915260001c6001600160a01b031663266cf1096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50506040516365bc948160e01b81526001600160a01b038416600482015260009250829150737109709ecfa91a80626ff3989d68f67f5b1dd12d906365bc9481906024016000604051808303816000875af11580156103a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d091908101906111c8565b9150915081516001146103e5576103e5611101565b80516001146103f6576103f6611101565b505050565b6060601480548060200260200160405190810160405280929190818152602001828054801561045357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610435575b5050505050905090565b604051630667f9d760e41b81526065600482015260176024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d8919061122c565b5060006102a3606560405180602001604052806000815250610f08565b60606016805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60006040516105c390610f2a565b604051809103906000f0801580156105df573d6000803e3d6000fd5b506040516370ca10bb60e01b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610621908490600090617a69906004016110e0565b600060405180830381600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526000602482018190529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d9919061122c565b9050617a6981146106ec576106ec611101565b5050565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb9061072e906065906017906005906004016110e0565b600060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b5050505060006102a3606560405180602001604052806000815250610f08565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561084a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161080c5790505b505050505081525050815260200190600101906107a0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156108625783829060005260206000200180546108ae90611245565b80601f01602080910402602001604051908101604052809291908181526020018280546108da90611245565b80156109275780601f106108fc57610100808354040283529160200191610927565b820191906000526020600020905b81548152906001019060200180831161090a57829003601f168201915b50505050508152602001906001019061088f565b604051630667f9d760e41b81526064600482015260176024820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061122c565b905080156102b5576102b5611101565b6040516000906109f89060008051602061135883398151915290610274906065906017906005906024016110e0565b905080610a41146102b5576102b5611101565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610ad957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610a9b5790505b50505050508152505081526020019060010190610a2f565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f150506040516065602482015260176044820152600093506102a3925060008051602061135883398151915291506064015b60408051601f198184030181529190526020810180516001600160e01b0316630667f9d760e41b179052610f08565b60606017805480602002602001604051908101604052809291908181526020016000905b82821015610862578382906000526020600020018054610bbc90611245565b80601f0160208091040260200160405190810160405280929190818152602001828054610be890611245565b8015610c355780601f10610c0a57610100808354040283529160200191610c35565b820191906000526020600020905b815481529060010190602001808311610c1857829003601f168201915b505050505081526020019060010190610b9d565b600754600090610100900460ff1615610c6b5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d715760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610cf9917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800161127f565b60408051601f1981840301815290829052610d13916112b0565b6000604051808303816000865af19150503d8060008114610d50576040519150601f19603f3d011682016040523d82523d6000602084013e610d55565b606091505b5091505080806020019051810190610d6d91906112cc565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60405160656024820152601760448201526000906109f89060008051602061135883398151915290606401610b4a565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610e4590600090600390617a69906004016110e0565b600060405180830381600087803b158015610e5f57600080fd5b505af1158015610e73573d6000803e3d6000fd5b5050604051630667f9d760e41b8152600060048201819052600360248301529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef5919061122c565b9050617a6981146102b5576102b5611101565b6000808260200183515a600080838560008b86f1505a90039695505050505050565b6062806112f683390190565b6020808252825182820181905260009190848201906040850190845b81811015610f775783516001600160a01b031683529284019291840191600101610f52565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561102757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110125783516001600160e01b0319168252928b019260019290920191908b0190610fe8565b50978a01979550505091870191600101610fab565b50919998505050505050505050565b60005b83811015611051578181015183820152602001611039565b83811115611060576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156110d357878503603f19018452815180518087526110b4818989018a8501611036565b601f01601f19169590950186019450928501929085019060010161108d565b5092979650505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261113e57600080fd5b8151602067ffffffffffffffff8083111561115b5761115b611117565b8260051b604051601f19603f8301168101818110848211171561118057611180611117565b60405293845285810183019383810192508785111561119e57600080fd5b83870191505b848210156111bd578151835291830191908301906111a4565b979650505050505050565b600080604083850312156111db57600080fd5b825167ffffffffffffffff808211156111f357600080fd5b6111ff8683870161112d565b9350602085015191508082111561121557600080fd5b506112228582860161112d565b9150509250929050565b60006020828403121561123e57600080fd5b5051919050565b600181811c9082168061125957607f821691505b60208210810361127957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b03198316815281516000906112a2816004850160208701611036565b919091016004019392505050565b600082516112c2818460208701611036565b9190910192915050565b6000602082840312156112de57600080fd5b815180151581146112ee57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212200d53b9c70ab4ae45da5fc701137def31a5b817946faeb613c39c4628b697410464736f6c634300080d0033" ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedArtifacts)] - syntax Field ::= S2KtestZModStoreTestField + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedArtifactSelectors)] - syntax S2KtestZModStoreTestField ::= "stdstore" [symbol(""), klabel(field_test%StoreTest_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedSelectors)] - syntax S2KtestZModStoreTestField ::= "IS_TEST" [symbol(""), klabel(field_test%StoreTest_IS_TEST)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _excludedContracts ) => 0 ) + - syntax S2KtestZModStoreTestField ::= "_failed" [symbol(""), klabel(field_test%StoreTest__failed)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _excludedSenders ) => 1 ) + - syntax S2KtestZModStoreTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%StoreTest_stdChainsInitialized)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedContracts ) => 2 ) + - syntax S2KtestZModStoreTestField ::= "chains" [symbol(""), klabel(field_test%StoreTest_chains)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedSenders ) => 3 ) + - syntax S2KtestZModStoreTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_defaultRpcUrls)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _excludedArtifacts ) => 4 ) + - syntax S2KtestZModStoreTestField ::= "idToAlias" [symbol(""), klabel(field_test%StoreTest_idToAlias)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedArtifacts ) => 5 ) + - syntax S2KtestZModStoreTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_fallbackToDefaultRpcUrls)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedArtifactSelectors ) => 6 ) + - syntax S2KtestZModStoreTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%StoreTest_gasMeteringOff)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedSelectors ) => 7 ) + - syntax S2KtestZModStoreTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%StoreTest__excludedContracts)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13)] - syntax S2KtestZModStoreTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%StoreTest__excludedSenders)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KexcludeArtifacts_)] - syntax S2KtestZModStoreTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%StoreTest__targetedContracts)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KexcludeContracts_)] - syntax S2KtestZModStoreTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%StoreTest__targetedSenders)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KexcludeSenders_)] - syntax S2KtestZModStoreTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%StoreTest__excludedArtifacts)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetArtifactSelectors_)] - syntax S2KtestZModStoreTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%StoreTest__targetedArtifacts)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetArtifacts_)] - syntax S2KtestZModStoreTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%StoreTest__targetedArtifactSelectors)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetContracts_)] - syntax S2KtestZModStoreTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%StoreTest__targetedSelectors)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetSelectors_)] - rule ( #loc ( S2KtestZModStoreTest . stdstore ) => 0 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetSenders_)] - rule ( #loc ( S2KtestZModStoreTest . IS_TEST ) => 7 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . _failed ) => 7 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . stdChainsInitialized ) => 7 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . chains ) => 8 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . defaultRpcUrls ) => 9 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . idToAlias ) => 10 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . fallbackToDefaultRpcUrls ) => 11 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . gasMeteringOff ) => 11 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . _excludedContracts ) => 19 ) + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - rule ( #loc ( S2KtestZModStoreTest . _excludedSenders ) => 20 ) + rule ( selector ( "excludeContracts()" ) => 3792478065 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedContracts ) => 21 ) + rule ( selector ( "excludeSenders()" ) => 517440284 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedSenders ) => 22 ) + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - rule ( #loc ( S2KtestZModStoreTest . _excludedArtifacts ) => 23 ) + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedArtifacts ) => 24 ) + rule ( selector ( "targetContracts()" ) => 1064470260 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedArtifactSelectors ) => 25 ) + rule ( selector ( "targetSelectors()" ) => 2439649222 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedSelectors ) => 26 ) + rule ( selector ( "targetSenders()" ) => 1046363171 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - syntax Bytes ::= S2KtestZModStoreTestContract "." S2KtestZModStoreTestMethod [function, symbol(""), klabel(method_test%StoreTest)] - - syntax S2KtestZModStoreTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KISZUndTEST_)] - - syntax S2KtestZModStoreTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeArtifacts_)] - - syntax S2KtestZModStoreTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeContracts_)] - - syntax S2KtestZModStoreTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeSenders_)] - - syntax S2KtestZModStoreTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2Kfailed_)] - - syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifactSelectors_)] - - syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifacts_)] - - syntax S2KtestZModStoreTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetContracts_)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Contract - syntax S2KtestZModStoreTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSelectors_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdInvariant.0.8.15)] - syntax S2KtestZModStoreTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSenders_)] + - syntax S2KtestZModStoreTestMethod ::= "S2KtestAccesses" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestAccesses_)] + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadColdVM_)] + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmUp_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__excludedContracts)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmVM_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__excludedSenders)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreColdVM_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedContracts)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmUp_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedSenders)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmVM_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__excludedArtifacts)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestLoadNonExistent_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedArtifacts)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoad" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoad_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedArtifactSelectors)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoadNonExistent_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedSelectors)] - rule ( S2KtestZModStoreTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _excludedContracts ) => 0 ) - rule ( S2KtestZModStoreTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _excludedSenders ) => 1 ) - rule ( S2KtestZModStoreTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedContracts ) => 2 ) - rule ( S2KtestZModStoreTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedSenders ) => 3 ) - rule ( S2KtestZModStoreTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _excludedArtifacts ) => 4 ) - rule ( S2KtestZModStoreTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedArtifacts ) => 5 ) - rule ( S2KtestZModStoreTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedArtifactSelectors ) => 6 ) - rule ( S2KtestZModStoreTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedSelectors ) => 7 ) - rule ( S2KtestZModStoreTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15)] - rule ( S2KtestZModStoreTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KexcludeArtifacts_)] - rule ( S2KtestZModStoreTest . S2KtestAccesses ( ) => #abiCallData ( "testAccesses" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KexcludeContracts_)] - rule ( S2KtestZModStoreTest . S2KtestGasLoadColdVM ( ) => #abiCallData ( "testGasLoadColdVM" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KexcludeSenders_)] - rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmUp ( ) => #abiCallData ( "testGasLoadWarmUp" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetArtifactSelectors_)] - rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmVM ( ) => #abiCallData ( "testGasLoadWarmVM" , .TypedArgs ) ) + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetArtifacts_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetContracts_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetSelectors_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetSenders_)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestGasStoreColdVM ( ) => #abiCallData ( "testGasStoreColdVM" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmUp ( ) => #abiCallData ( "testGasStoreWarmUp" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmVM ( ) => #abiCallData ( "testGasStoreWarmVM" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestLoadNonExistent ( ) => #abiCallData ( "testLoadNonExistent" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestStoreLoad ( ) => #abiCallData ( "testStoreLoad" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestStoreLoadNonExistent ( ) => #abiCallData ( "testStoreLoadNonExistent" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( selector ( "IS_TEST()" ) => 4202047188 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) @@ -14758,9 +15014,6 @@ module S2KtestZModStoreTest-CONTRACT rule ( selector ( "excludeSenders()" ) => 517440284 ) - rule ( selector ( "failed()" ) => 3124842406 ) - - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) @@ -14775,427 +15028,633 @@ module S2KtestZModStoreTest-CONTRACT rule ( selector ( "targetSenders()" ) => 1046363171 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - rule ( selector ( "testAccesses()" ) => 159648693 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13Contract - rule ( selector ( "testGasLoadColdVM()" ) => 3801282741 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdJson.0.8.13)] - rule ( selector ( "testGasLoadWarmUp()" ) => 604011046 ) - rule ( selector ( "testGasLoadWarmVM()" ) => 2607902342 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220df7dc4d1800c459459a191c6e9a04ff356828c02156636c0da70d8b85d1d6da464736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdJson.0.8.15)] - rule ( selector ( "testGasStoreColdVM()" ) => 2309593716 ) - rule ( selector ( "testGasStoreWarmUp()" ) => 1546465326 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122024dd9a5a6e55db0ba388c160f15b3fe281c90796cedd81094d69abfc2b9579bc64736f6c634300080f0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdMath.0.8.13)] - rule ( selector ( "testGasStoreWarmVM()" ) => 100073271 ) - rule ( selector ( "testLoadNonExistent()" ) => 2275977243 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d5896cecc074b7a125dff1c77ff303e9e188764651777cf455720d281a08f2864736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdMath.0.8.15)] - rule ( selector ( "testStoreLoad()" ) => 1208516723 ) - rule ( selector ( "testStoreLoadNonExistent()" ) => 3912017339 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220245b15fff83fa736a16377c3de1f1f5483b362b3b53473c69c432a57a394bcf664736f6c634300080f0033" ) ) endmodule -module S2KtestZModSymbolicStorageTest-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KtestZModSymbolicStorageTestContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13Contract - syntax S2KtestZModSymbolicStorageTestContract ::= "S2KtestZModSymbolicStorageTest" [symbol(""), klabel(contract_test%SymbolicStorageTest)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdStorage.0.8.13)] - rule ( #initBytecode ( S2KtestZModSymbolicStorageTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610f9e8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063961279461161008c578063ba414fa611610066578063ba414fa614610192578063d6a2ec76146101aa578063e20c9f71146101e9578063fa7626d4146101f157600080fd5b80639612794614610164578063acd6964014610177578063b5508aa91461018a57600080fd5b80633f7286f4116100c85780633f7286f41461012a57806366d9a9a01461013257806385226c8114610147578063916a17c61461015c57600080fd5b80631ed7831c146100ef57806330f6beb51461010d5780633e5e3c2314610122575b600080fd5b6100f76101fe565b6040516101049190610c7a565b60405180910390f35b61012061011b366004610cc7565b610260565b005b6100f7610382565b6100f76103e2565b61013a610442565b6040516101049190610ce0565b61014f610531565b6040516101049190610dc3565b61013a610601565b610120610172366004610cc7565b6106e7565b610120610185366004610cc7565b610775565b61014f6107e3565b61019a6108b3565b6040519015158152602001610104565b6101d17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b039091168152602001610104565b6100f76109e0565b60075461019a9060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561025657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610238575b5050505050905090565b6040516316f02cd760e11b815273ea674fdde714fd979de3edf0f56aa9716b898ec86004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024015b600060405180830381600087803b1580156102c457600080fd5b505af11580156102d8573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526024810185905260009250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103629190610e3d565b9050600081900361037257600080fd5b61037d816000610a40565b505050565b60606016805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561051057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104d25790505b50505050508152505081526020019060010190610466565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461057490610e56565b80601f01602080910402602001604051908101604052809291908181526020018280546105a090610e56565b80156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081526020019060010190610555565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156106cf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106915790505b50505050508152505081526020019060010190610625565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526024820183905260009163667f9d7090604401602060405180830381865afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610e3d565b9050610771816000610a40565b5050565b600060405161078390610c6e565b604051809103906000f08015801561079f573d6000803e3d6000fd5b506040516316f02cd760e11b81526001600160a01b0382166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024016102aa565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461082690610e56565b80601f016020809104026020016040519081016040528092919081815260200182805461085290610e56565b801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081526020019060010190610807565b600754600090610100900460ff16156108d55750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156109db5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610963917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610e90565b60408051601f198184030181529082905261097d91610ec1565b6000604051808303816000865af19150503d80600081146109ba576040519150601f19603f3d011682016040523d82523d6000602084013e6109bf565b606091505b50915050808060200190518101906109d79190610edd565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b808214610771577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610ab19060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610771737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c5d5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610bfc9291602001610e90565b60408051601f1981840301815290829052610c1691610ec1565b6000604051808303816000865af19150503d8060008114610c53576040519150601f19603f3d011682016040523d82523d6000602084013e610c58565b606091505b505050505b6007805461ff001916610100179055565b606280610f0783390190565b6020808252825182820181905260009190848201906040850190845b81811015610cbb5783516001600160a01b031683529284019291840191600101610c96565b50909695505050505050565b600060208284031215610cd957600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610d8457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610d6f5783516001600160e01b0319168252928b019260019290920191908b0190610d45565b50978a01979550505091870191600101610d08565b50919998505050505050505050565b60005b83811015610dae578181015183820152602001610d96565b83811115610dbd576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e3057878503603f1901845281518051808752610e11818989018a8501610d93565b601f01601f191695909501860194509285019290850190600101610dea565b5092979650505050505050565b600060208284031215610e4f57600080fd5b5051919050565b600181811c90821680610e6a57607f821691505b602082108103610e8a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610eb3816004850160208701610d93565b919091016004019392505050565b60008251610ed3818460208701610d93565b9190910192915050565b600060208284031215610eef57600080fd5b81518015158114610eff57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033a2646970667358221220cbd90a0014553bf186944d5b824312c26f580e2976b1466ccc46be6c15157b7364736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205783f6e832bfb40b5a129ed00392cc4ddc0ee1b8814a44b32ec6685fd62b970064736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - syntax Field ::= S2KtestZModSymbolicStorageTestField + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15Contract - syntax S2KtestZModSymbolicStorageTestField ::= "stdstore" [symbol(""), klabel(field_test%SymbolicStorageTest_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdStorage.0.8.15)] - syntax S2KtestZModSymbolicStorageTestField ::= "IS_TEST" [symbol(""), klabel(field_test%SymbolicStorageTest_IS_TEST)] + - syntax S2KtestZModSymbolicStorageTestField ::= "_failed" [symbol(""), klabel(field_test%SymbolicStorageTest__failed)] + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220629a302b026afa9a64649123ecee0a8b2bea06682778f323097f025c74fdb98164736f6c634300080f0033" ) ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - syntax S2KtestZModSymbolicStorageTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%SymbolicStorageTest_stdChainsInitialized)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13Contract - syntax S2KtestZModSymbolicStorageTestField ::= "chains" [symbol(""), klabel(field_test%SymbolicStorageTest_chains)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdStorageSafe.0.8.13)] - syntax S2KtestZModSymbolicStorageTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_defaultRpcUrls)] + - syntax S2KtestZModSymbolicStorageTestField ::= "idToAlias" [symbol(""), klabel(field_test%SymbolicStorageTest_idToAlias)] + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220759f01e635a02e37e6673da50d4bf039c7767b2dfa5940553e131b798527412664736f6c634300080d0033" ) ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - syntax S2KtestZModSymbolicStorageTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_fallbackToDefaultRpcUrls)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15Contract - syntax S2KtestZModSymbolicStorageTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%SymbolicStorageTest_gasMeteringOff)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdStorageSafe.0.8.15)] - syntax S2KtestZModSymbolicStorageTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedContracts)] + - syntax S2KtestZModSymbolicStorageTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedSenders)] + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e2d3b0ffb64d20b9ed5fb2bb8695256b970ba80c3d4e9aceddfc43131347d9f364736f6c634300080f0033" ) ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedContracts)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13Contract - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSenders)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdStyle.0.8.13)] - syntax S2KtestZModSymbolicStorageTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedArtifacts)] + - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifacts)] + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220013d1ea7f60ab0d57dc3e5d2001cc7935e44b07882c1aea9436566207923d48364736f6c634300080d0033" ) ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifactSelectors)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15Contract - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSelectors)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdStyle.0.8.15)] - rule ( #loc ( S2KtestZModSymbolicStorageTest . stdstore ) => 0 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . IS_TEST ) => 7 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204beca267398cb44ce7d407ecb55996cfe6b60cf9c01507b13d0fbb7c75fadfae64736f6c634300080f0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - rule ( #loc ( S2KtestZModSymbolicStorageTest . _failed ) => 7 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13Contract - rule ( #loc ( S2KtestZModSymbolicStorageTest . stdChainsInitialized ) => 7 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdUtils.0.8.13)] - rule ( #loc ( S2KtestZModSymbolicStorageTest . chains ) => 8 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . defaultRpcUrls ) => 9 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - rule ( #loc ( S2KtestZModSymbolicStorageTest . idToAlias ) => 10 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15Contract - rule ( #loc ( S2KtestZModSymbolicStorageTest . fallbackToDefaultRpcUrls ) => 11 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdUtils.0.8.15)] - rule ( #loc ( S2KtestZModSymbolicStorageTest . gasMeteringOff ) => 11 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedContracts ) => 19 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + +endmodule + +module S2KtestZModStore-CONTRACT + imports public FOUNDRY - rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedSenders ) => 20 ) - + syntax Contract ::= S2KtestZModStoreContract - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedContracts ) => 21 ) - + syntax S2KtestZModStoreContract ::= "S2KtestZModStore" [symbol(""), klabel(contract_test%Store)] - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSenders ) => 22 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedArtifacts ) => 23 ) + rule ( #initBytecode ( S2KtestZModStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033" ) ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifacts ) => 24 ) - + syntax Field ::= S2KtestZModStoreField - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifactSelectors ) => 25 ) - + syntax S2KtestZModStoreField ::= "testNumber" [symbol(""), klabel(field_test%Store_testNumber)] - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSelectors ) => 26 ) + rule ( #loc ( S2KtestZModStore . testNumber ) => 0 ) + +endmodule + +module S2KtestZModStoreTest-CONTRACT + imports public FOUNDRY - syntax Bytes ::= S2KtestZModSymbolicStorageTestContract "." S2KtestZModSymbolicStorageTestMethod [function, symbol(""), klabel(method_test%SymbolicStorageTest)] - - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KISZUndTEST_)] - - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeArtifacts_)] + syntax Contract ::= S2KtestZModStoreTestContract - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeContracts_)] + syntax S2KtestZModStoreTestContract ::= "S2KtestZModStoreTest" [symbol(""), klabel(contract_test%StoreTest)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeSenders_)] + - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kfailed_)] + rule ( #initBytecode ( S2KtestZModStoreTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113ad8061003d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806387a8a81b116100ad578063ba414fa611610071578063ba414fa6146101db578063e20c9f71146101f3578063e292f8b5146101fb578063e92ca5bb14610203578063fa7626d41461020b57600080fd5b806387a8a81b146101b357806389a99a74146101bb578063916a17c6146101c35780639b716e86146101cb578063b5508aa9146101d357600080fd5b80633f7286f4116100f45780633f7286f41461017157806348088073146101795780635c2d302e1461018157806366d9a9a01461018957806385226c811461019e57600080fd5b806305f6ff371461013157806309840bb51461013b5780631ed7831c1461014357806324007a26146101615780633e5e3c2314610169575b600080fd5b610139610218565b005b6101396102b8565b61014b6103fb565b6040516101589190610f36565b60405180910390f35b61013961045d565b61014b6104f5565b61014b610555565b6101396105b5565b6101396106f0565b61019161077c565b6040516101589190610f83565b6101a661086b565b6040516101589190611066565b61013961093b565b6101396109c9565b610191610a0b565b610139610af1565b6101a6610b79565b6101e3610c49565b6040519015158152602001610158565b61014b610d76565b610139610dd6565b610139610e06565b6007546101e39060ff1681565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f15050604051600093506102a392506000805160206113588339815191529150610274906065906017906005906024016110e0565b60408051601f198184030181529190526020810180516001600160e01b03166370ca10bb60e01b179052610f08565b905080607d146102b5576102b5611101565b50565b60006040516102c690610f2a565b604051809103906000f0801580156102e2573d6000803e3d6000fd5b50905060008051602061135883398151915260001c6001600160a01b031663266cf1096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50506040516365bc948160e01b81526001600160a01b038416600482015260009250829150737109709ecfa91a80626ff3989d68f67f5b1dd12d906365bc9481906024016000604051808303816000875af11580156103a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d091908101906111c8565b9150915081516001146103e5576103e5611101565b80516001146103f6576103f6611101565b505050565b6060601480548060200260200160405190810160405280929190818152602001828054801561045357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610435575b5050505050905090565b604051630667f9d760e41b81526065600482015260176024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d8919061122c565b5060006102a3606560405180602001604052806000815250610f08565b60606016805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60006040516105c390610f2a565b604051809103906000f0801580156105df573d6000803e3d6000fd5b506040516370ca10bb60e01b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610621908490600090617a69906004016110e0565b600060405180830381600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526000602482018190529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d9919061122c565b9050617a6981146106ec576106ec611101565b5050565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb9061072e906065906017906005906004016110e0565b600060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b5050505060006102a3606560405180602001604052806000815250610f08565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561084a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161080c5790505b505050505081525050815260200190600101906107a0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156108625783829060005260206000200180546108ae90611245565b80601f01602080910402602001604051908101604052809291908181526020018280546108da90611245565b80156109275780601f106108fc57610100808354040283529160200191610927565b820191906000526020600020905b81548152906001019060200180831161090a57829003601f168201915b50505050508152602001906001019061088f565b604051630667f9d760e41b81526064600482015260176024820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061122c565b905080156102b5576102b5611101565b6040516000906109f89060008051602061135883398151915290610274906065906017906005906024016110e0565b905080610a41146102b5576102b5611101565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610ad957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610a9b5790505b50505050508152505081526020019060010190610a2f565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f150506040516065602482015260176044820152600093506102a3925060008051602061135883398151915291506064015b60408051601f198184030181529190526020810180516001600160e01b0316630667f9d760e41b179052610f08565b60606017805480602002602001604051908101604052809291908181526020016000905b82821015610862578382906000526020600020018054610bbc90611245565b80601f0160208091040260200160405190810160405280929190818152602001828054610be890611245565b8015610c355780601f10610c0a57610100808354040283529160200191610c35565b820191906000526020600020905b815481529060010190602001808311610c1857829003601f168201915b505050505081526020019060010190610b9d565b600754600090610100900460ff1615610c6b5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d715760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610cf9917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800161127f565b60408051601f1981840301815290829052610d13916112b0565b6000604051808303816000865af19150503d8060008114610d50576040519150601f19603f3d011682016040523d82523d6000602084013e610d55565b606091505b5091505080806020019051810190610d6d91906112cc565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60405160656024820152601760448201526000906109f89060008051602061135883398151915290606401610b4a565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610e4590600090600390617a69906004016110e0565b600060405180830381600087803b158015610e5f57600080fd5b505af1158015610e73573d6000803e3d6000fd5b5050604051630667f9d760e41b8152600060048201819052600360248301529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef5919061122c565b9050617a6981146102b5576102b5611101565b6000808260200183515a600080838560008b86f1505a90039695505050505050565b6062806112f683390190565b6020808252825182820181905260009190848201906040850190845b81811015610f775783516001600160a01b031683529284019291840191600101610f52565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561102757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110125783516001600160e01b0319168252928b019260019290920191908b0190610fe8565b50978a01979550505091870191600101610fab565b50919998505050505050505050565b60005b83811015611051578181015183820152602001611039565b83811115611060576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156110d357878503603f19018452815180518087526110b4818989018a8501611036565b601f01601f19169590950186019450928501929085019060010161108d565b5092979650505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261113e57600080fd5b8151602067ffffffffffffffff8083111561115b5761115b611117565b8260051b604051601f19603f8301168101818110848211171561118057611180611117565b60405293845285810183019383810192508785111561119e57600080fd5b83870191505b848210156111bd578151835291830191908301906111a4565b979650505050505050565b600080604083850312156111db57600080fd5b825167ffffffffffffffff808211156111f357600080fd5b6111ff8683870161112d565b9350602085015191508082111561121557600080fd5b506112228582860161112d565b9150509250929050565b60006020828403121561123e57600080fd5b5051919050565b600181811c9082168061125957607f821691505b60208210810361127957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b03198316815281516000906112a2816004850160208701611036565b919091016004019392505050565b600082516112c2818460208701611036565b9190910192915050565b6000602082840312156112de57600080fd5b815180151581146112ee57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212200d53b9c70ab4ae45da5fc701137def31a5b817946faeb613c39c4628b697410464736f6c634300080d0033" ) ) + - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kkevm_)] + syntax Field ::= S2KtestZModStoreTestField - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifactSelectors_)] + syntax S2KtestZModStoreTestField ::= "stdstore" [symbol(""), klabel(field_test%StoreTest_stdstore)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifacts_)] + syntax S2KtestZModStoreTestField ::= "IS_TEST" [symbol(""), klabel(field_test%StoreTest_IS_TEST)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetContracts_)] + syntax S2KtestZModStoreTestField ::= "_failed" [symbol(""), klabel(field_test%StoreTest__failed)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSelectors_)] + syntax S2KtestZModStoreTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%StoreTest_stdChainsInitialized)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSenders_)] + syntax S2KtestZModStoreTestField ::= "chains" [symbol(""), klabel(field_test%StoreTest_chains)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestEmptyInitialStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestEmptyInitialStorage_uint256)] + syntax S2KtestZModStoreTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_defaultRpcUrls)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage_uint256)] + syntax S2KtestZModStoreTestField ::= "idToAlias" [symbol(""), klabel(field_test%StoreTest_idToAlias)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage1" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage1_uint256)] + syntax S2KtestZModStoreTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_fallbackToDefaultRpcUrls)] - rule ( S2KtestZModSymbolicStorageTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%StoreTest_gasMeteringOff)] - rule ( S2KtestZModSymbolicStorageTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%StoreTest__excludedContracts)] - rule ( S2KtestZModSymbolicStorageTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%StoreTest__excludedSenders)] - rule ( S2KtestZModSymbolicStorageTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%StoreTest__targetedContracts)] - rule ( S2KtestZModSymbolicStorageTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%StoreTest__targetedSenders)] - rule ( S2KtestZModSymbolicStorageTest . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%StoreTest__excludedArtifacts)] - rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%StoreTest__targetedArtifacts)] - rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%StoreTest__targetedArtifactSelectors)] - rule ( S2KtestZModSymbolicStorageTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - + syntax S2KtestZModStoreTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%StoreTest__targetedSelectors)] - rule ( S2KtestZModSymbolicStorageTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . stdstore ) => 0 ) - rule ( S2KtestZModSymbolicStorageTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . IS_TEST ) => 7 ) - rule ( S2KtestZModSymbolicStorageTest . S2KtestEmptyInitialStorage ( V0_slot : uint256 ) => #abiCallData ( "testEmptyInitialStorage" , #uint256 ( V0_slot ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_slot ) + rule ( #loc ( S2KtestZModStoreTest . _failed ) => 7 ) - rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage" , #uint256 ( V0_slot ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_slot ) + rule ( #loc ( S2KtestZModStoreTest . stdChainsInitialized ) => 7 ) - rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage1 ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage1" , #uint256 ( V0_slot ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_slot ) + rule ( #loc ( S2KtestZModStoreTest . chains ) => 8 ) - rule ( selector ( "IS_TEST()" ) => 4202047188 ) + rule ( #loc ( S2KtestZModStoreTest . defaultRpcUrls ) => 9 ) - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + rule ( #loc ( S2KtestZModStoreTest . idToAlias ) => 10 ) - rule ( selector ( "excludeContracts()" ) => 3792478065 ) + rule ( #loc ( S2KtestZModStoreTest . fallbackToDefaultRpcUrls ) => 11 ) - rule ( selector ( "excludeSenders()" ) => 517440284 ) + rule ( #loc ( S2KtestZModStoreTest . gasMeteringOff ) => 11 ) - rule ( selector ( "failed()" ) => 3124842406 ) + rule ( #loc ( S2KtestZModStoreTest . _excludedContracts ) => 19 ) - rule ( selector ( "kevm()" ) => 3601001590 ) + rule ( #loc ( S2KtestZModStoreTest . _excludedSenders ) => 20 ) - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedContracts ) => 21 ) - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedSenders ) => 22 ) - rule ( selector ( "targetContracts()" ) => 1064470260 ) + rule ( #loc ( S2KtestZModStoreTest . _excludedArtifacts ) => 23 ) - rule ( selector ( "targetSelectors()" ) => 2439649222 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedArtifacts ) => 24 ) - rule ( selector ( "targetSenders()" ) => 1046363171 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedArtifactSelectors ) => 25 ) - rule ( selector ( "testEmptyInitialStorage(uint256)" ) => 2517793094 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedSelectors ) => 26 ) - rule ( selector ( "testFail_SymbolicStorage(uint256)" ) => 821477045 ) - + syntax Bytes ::= S2KtestZModStoreTestContract "." S2KtestZModStoreTestMethod [function, symbol(""), klabel(method_test%StoreTest)] - rule ( selector ( "testFail_SymbolicStorage1(uint256)" ) => 2899744320 ) - - -endmodule - -module S2KtestZModSymbolicStore-CONTRACT - imports public FOUNDRY + syntax S2KtestZModStoreTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KISZUndTEST_)] - syntax Contract ::= S2KtestZModSymbolicStoreContract + syntax S2KtestZModStoreTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeArtifacts_)] - syntax S2KtestZModSymbolicStoreContract ::= "S2KtestZModSymbolicStore" [symbol(""), klabel(contract_test%SymbolicStore)] + syntax S2KtestZModStoreTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeContracts_)] - + syntax S2KtestZModStoreTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeSenders_)] - rule ( #initBytecode ( S2KtestZModSymbolicStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033" ) ) - + syntax S2KtestZModStoreTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2Kfailed_)] - syntax Field ::= S2KtestZModSymbolicStoreField + syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifactSelectors_)] - syntax S2KtestZModSymbolicStoreField ::= "testNumber" [symbol(""), klabel(field_test%SymbolicStore_testNumber)] + syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifacts_)] - rule ( #loc ( S2KtestZModSymbolicStore . testNumber ) => 0 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT - imports public FOUNDRY + syntax S2KtestZModStoreTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetContracts_)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestContract + syntax S2KtestZModStoreTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestContract ::= "S2KlibZModforgeZSubstdZModsrcZModTest" [symbol(""), klabel(contract_lib%forge-std%src%Test)] + syntax S2KtestZModStoreTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSenders_)] - + syntax S2KtestZModStoreTestMethod ::= "S2KtestAccesses" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestAccesses_)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTest ) => #parseByteStack ( "0x" ) ) - + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadColdVM_)] - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestField + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmUp_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test_stdstore)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmVM_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test_IS_TEST)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreColdVM_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test__failed)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmUp_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test_stdChainsInitialized)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmVM_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test_chains)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestLoadNonExistent_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_defaultRpcUrls)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoad" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoad_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test_idToAlias)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoadNonExistent_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_fallbackToDefaultRpcUrls)] + rule ( S2KtestZModStoreTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test_gasMeteringOff)] + rule ( S2KtestZModStoreTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedContracts)] + rule ( S2KtestZModStoreTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedSenders)] + rule ( S2KtestZModStoreTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedContracts)] + rule ( S2KtestZModStoreTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSenders)] + rule ( S2KtestZModStoreTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedArtifacts)] + rule ( S2KtestZModStoreTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifacts)] + rule ( S2KtestZModStoreTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifactSelectors)] + rule ( S2KtestZModStoreTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSelectors)] + rule ( S2KtestZModStoreTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdstore ) => 0 ) + rule ( S2KtestZModStoreTest . S2KtestAccesses ( ) => #abiCallData ( "testAccesses" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . IS_TEST ) => 7 ) + rule ( S2KtestZModStoreTest . S2KtestGasLoadColdVM ( ) => #abiCallData ( "testGasLoadColdVM" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _failed ) => 7 ) + rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmUp ( ) => #abiCallData ( "testGasLoadWarmUp" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdChainsInitialized ) => 7 ) + rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmVM ( ) => #abiCallData ( "testGasLoadWarmVM" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . chains ) => 8 ) + rule ( S2KtestZModStoreTest . S2KtestGasStoreColdVM ( ) => #abiCallData ( "testGasStoreColdVM" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . defaultRpcUrls ) => 9 ) + rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmUp ( ) => #abiCallData ( "testGasStoreWarmUp" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . idToAlias ) => 10 ) + rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmVM ( ) => #abiCallData ( "testGasStoreWarmVM" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . fallbackToDefaultRpcUrls ) => 11 ) + rule ( S2KtestZModStoreTest . S2KtestLoadNonExistent ( ) => #abiCallData ( "testLoadNonExistent" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . gasMeteringOff ) => 11 ) + rule ( S2KtestZModStoreTest . S2KtestStoreLoad ( ) => #abiCallData ( "testStoreLoad" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedContracts ) => 19 ) + rule ( S2KtestZModStoreTest . S2KtestStoreLoadNonExistent ( ) => #abiCallData ( "testStoreLoadNonExistent" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedSenders ) => 20 ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedContracts ) => 21 ) + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSenders ) => 22 ) + rule ( selector ( "excludeContracts()" ) => 3792478065 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedArtifacts ) => 23 ) + rule ( selector ( "excludeSenders()" ) => 517440284 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifacts ) => 24 ) + rule ( selector ( "failed()" ) => 3124842406 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifactSelectors ) => 25 ) + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSelectors ) => 26 ) + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestContract "." S2KlibZModforgeZSubstdZModsrcZModTestMethod [function, symbol(""), klabel(method_lib%forge-std%src%Test)] + rule ( selector ( "targetContracts()" ) => 1064470260 ) + + + rule ( selector ( "targetSelectors()" ) => 2439649222 ) + + + rule ( selector ( "targetSenders()" ) => 1046363171 ) + + + rule ( selector ( "testAccesses()" ) => 159648693 ) + + + rule ( selector ( "testGasLoadColdVM()" ) => 3801282741 ) + + + rule ( selector ( "testGasLoadWarmUp()" ) => 604011046 ) + + + rule ( selector ( "testGasLoadWarmVM()" ) => 2607902342 ) + + + rule ( selector ( "testGasStoreColdVM()" ) => 2309593716 ) + + + rule ( selector ( "testGasStoreWarmUp()" ) => 1546465326 ) + + + rule ( selector ( "testGasStoreWarmVM()" ) => 100073271 ) + + + rule ( selector ( "testLoadNonExistent()" ) => 2275977243 ) + + + rule ( selector ( "testStoreLoad()" ) => 1208516723 ) + + + rule ( selector ( "testStoreLoadNonExistent()" ) => 3912017339 ) + + +endmodule + +module S2KtestZModSymbolicStorageTest-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KtestZModSymbolicStorageTestContract + + syntax S2KtestZModSymbolicStorageTestContract ::= "S2KtestZModSymbolicStorageTest" [symbol(""), klabel(contract_test%SymbolicStorageTest)] + + + + rule ( #initBytecode ( S2KtestZModSymbolicStorageTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610f9e8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063961279461161008c578063ba414fa611610066578063ba414fa614610192578063d6a2ec76146101aa578063e20c9f71146101e9578063fa7626d4146101f157600080fd5b80639612794614610164578063acd6964014610177578063b5508aa91461018a57600080fd5b80633f7286f4116100c85780633f7286f41461012a57806366d9a9a01461013257806385226c8114610147578063916a17c61461015c57600080fd5b80631ed7831c146100ef57806330f6beb51461010d5780633e5e3c2314610122575b600080fd5b6100f76101fe565b6040516101049190610c7a565b60405180910390f35b61012061011b366004610cc7565b610260565b005b6100f7610382565b6100f76103e2565b61013a610442565b6040516101049190610ce0565b61014f610531565b6040516101049190610dc3565b61013a610601565b610120610172366004610cc7565b6106e7565b610120610185366004610cc7565b610775565b61014f6107e3565b61019a6108b3565b6040519015158152602001610104565b6101d17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b039091168152602001610104565b6100f76109e0565b60075461019a9060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561025657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610238575b5050505050905090565b6040516316f02cd760e11b815273ea674fdde714fd979de3edf0f56aa9716b898ec86004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024015b600060405180830381600087803b1580156102c457600080fd5b505af11580156102d8573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526024810185905260009250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103629190610e3d565b9050600081900361037257600080fd5b61037d816000610a40565b505050565b60606016805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561051057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104d25790505b50505050508152505081526020019060010190610466565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461057490610e56565b80601f01602080910402602001604051908101604052809291908181526020018280546105a090610e56565b80156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081526020019060010190610555565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156106cf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106915790505b50505050508152505081526020019060010190610625565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526024820183905260009163667f9d7090604401602060405180830381865afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610e3d565b9050610771816000610a40565b5050565b600060405161078390610c6e565b604051809103906000f08015801561079f573d6000803e3d6000fd5b506040516316f02cd760e11b81526001600160a01b0382166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024016102aa565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461082690610e56565b80601f016020809104026020016040519081016040528092919081815260200182805461085290610e56565b801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081526020019060010190610807565b600754600090610100900460ff16156108d55750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156109db5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610963917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610e90565b60408051601f198184030181529082905261097d91610ec1565b6000604051808303816000865af19150503d80600081146109ba576040519150601f19603f3d011682016040523d82523d6000602084013e6109bf565b606091505b50915050808060200190518101906109d79190610edd565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b808214610771577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610ab19060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610771737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c5d5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610bfc9291602001610e90565b60408051601f1981840301815290829052610c1691610ec1565b6000604051808303816000865af19150503d8060008114610c53576040519150601f19603f3d011682016040523d82523d6000602084013e610c58565b606091505b505050505b6007805461ff001916610100179055565b606280610f0783390190565b6020808252825182820181905260009190848201906040850190845b81811015610cbb5783516001600160a01b031683529284019291840191600101610c96565b50909695505050505050565b600060208284031215610cd957600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610d8457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610d6f5783516001600160e01b0319168252928b019260019290920191908b0190610d45565b50978a01979550505091870191600101610d08565b50919998505050505050505050565b60005b83811015610dae578181015183820152602001610d96565b83811115610dbd576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e3057878503603f1901845281518051808752610e11818989018a8501610d93565b601f01601f191695909501860194509285019290850190600101610dea565b5092979650505050505050565b600060208284031215610e4f57600080fd5b5051919050565b600181811c90821680610e6a57607f821691505b602082108103610e8a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610eb3816004850160208701610d93565b919091016004019392505050565b60008251610ed3818460208701610d93565b9190910192915050565b600060208284031215610eef57600080fd5b81518015158114610eff57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033a2646970667358221220cbd90a0014553bf186944d5b824312c26f580e2976b1466ccc46be6c15157b7364736f6c634300080d0033" ) ) + + + syntax Field ::= S2KtestZModSymbolicStorageTestField + + syntax S2KtestZModSymbolicStorageTestField ::= "stdstore" [symbol(""), klabel(field_test%SymbolicStorageTest_stdstore)] + + syntax S2KtestZModSymbolicStorageTestField ::= "IS_TEST" [symbol(""), klabel(field_test%SymbolicStorageTest_IS_TEST)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_failed" [symbol(""), klabel(field_test%SymbolicStorageTest__failed)] + + syntax S2KtestZModSymbolicStorageTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%SymbolicStorageTest_stdChainsInitialized)] + + syntax S2KtestZModSymbolicStorageTestField ::= "chains" [symbol(""), klabel(field_test%SymbolicStorageTest_chains)] + + syntax S2KtestZModSymbolicStorageTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_defaultRpcUrls)] + + syntax S2KtestZModSymbolicStorageTestField ::= "idToAlias" [symbol(""), klabel(field_test%SymbolicStorageTest_idToAlias)] + + syntax S2KtestZModSymbolicStorageTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_fallbackToDefaultRpcUrls)] + + syntax S2KtestZModSymbolicStorageTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%SymbolicStorageTest_gasMeteringOff)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedContracts)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedSenders)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedContracts)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSenders)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedArtifacts)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifacts)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifactSelectors)] + + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSelectors)] + + rule ( #loc ( S2KtestZModSymbolicStorageTest . stdstore ) => 0 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . IS_TEST ) => 7 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _failed ) => 7 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . stdChainsInitialized ) => 7 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . chains ) => 8 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . defaultRpcUrls ) => 9 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . idToAlias ) => 10 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . fallbackToDefaultRpcUrls ) => 11 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . gasMeteringOff ) => 11 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedContracts ) => 19 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedSenders ) => 20 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedContracts ) => 21 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSenders ) => 22 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedArtifacts ) => 23 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifacts ) => 24 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifactSelectors ) => 25 ) + + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSelectors ) => 26 ) + + + syntax Bytes ::= S2KtestZModSymbolicStorageTestContract "." S2KtestZModSymbolicStorageTestMethod [function, symbol(""), klabel(method_test%SymbolicStorageTest)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KISZUndTEST_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeArtifacts_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeContracts_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeSenders_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kfailed_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kkevm_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifactSelectors_)] + + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifacts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KISZUndTEST_)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetContracts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeArtifacts_)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeContracts_)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSenders_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeSenders_)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestEmptyInitialStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestEmptyInitialStorage_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2Kfailed_)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifactSelectors_)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage1" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage1_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifacts_)] + rule ( S2KtestZModSymbolicStorageTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetContracts_)] + rule ( S2KtestZModSymbolicStorageTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSelectors_)] + rule ( S2KtestZModSymbolicStorageTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSenders_)] + rule ( S2KtestZModSymbolicStorageTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestEmptyInitialStorage ( V0_slot : uint256 ) => #abiCallData ( "testEmptyInitialStorage" , #uint256 ( V0_slot ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_slot ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage" , #uint256 ( V0_slot ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_slot ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage1 ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage1" , #uint256 ( V0_slot ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_slot ) rule ( selector ( "IS_TEST()" ) => 4202047188 ) @@ -15213,6 +15672,9 @@ module S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT rule ( selector ( "failed()" ) => 3124842406 ) + rule ( selector ( "kevm()" ) => 3601001590 ) + + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) @@ -15227,6 +15689,36 @@ module S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT rule ( selector ( "targetSenders()" ) => 1046363171 ) + + rule ( selector ( "testEmptyInitialStorage(uint256)" ) => 2517793094 ) + + + rule ( selector ( "testFail_SymbolicStorage(uint256)" ) => 821477045 ) + + + rule ( selector ( "testFail_SymbolicStorage1(uint256)" ) => 2899744320 ) + + +endmodule + +module S2KtestZModSymbolicStore-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KtestZModSymbolicStoreContract + + syntax S2KtestZModSymbolicStoreContract ::= "S2KtestZModSymbolicStore" [symbol(""), klabel(contract_test%SymbolicStore)] + + + + rule ( #initBytecode ( S2KtestZModSymbolicStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033" ) ) + + + syntax Field ::= S2KtestZModSymbolicStoreField + + syntax S2KtestZModSymbolicStoreField ::= "testNumber" [symbol(""), klabel(field_test%SymbolicStore_testNumber)] + + rule ( #loc ( S2KtestZModSymbolicStore . testNumber ) => 0 ) + endmodule @@ -16671,624 +17163,638 @@ module S2KtestZModUintTypeTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT +module S2KsrcZModlibrariesZModTypes-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KsrcZModlibrariesZModTypesContract + + syntax S2KsrcZModlibrariesZModTypesContract ::= "S2KsrcZModlibrariesZModTypes" [symbol(""), klabel(contract_src%libraries%Types)] + + + + rule ( #initBytecode ( S2KsrcZModlibrariesZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a44405b40c62a0b28257c0261add02a73772c6a34a37076dd1edfefec7d7934064736f6c634300080f0033" ) ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmContract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModVmContract ::= "S2KlibZModforgeZSubstdZModsrcZModVm" [symbol(""), klabel(contract_lib%forge-std%src%Vm)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%Vm.0.8.13)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVm ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmContract "." S2KlibZModforgeZSubstdZModsrcZModVmMethod [function, symbol(""), klabel(method_lib%forge-std%src%Vm)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kaccesses_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kaccesses_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KactiveFork" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KactiveFork_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KactiveFork" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KactiveFork_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kaddr_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kaddr_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KallowCheatcodes" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KallowCheatcodes_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KallowCheatcodes" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KallowCheatcodes_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kassume_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kassume_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbreakpoint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbreakpoint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbreakpoint_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbreakpoint_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbroadcast_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbroadcast_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbroadcast_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbroadcast_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KchainId" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KchainId_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KchainId" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KchainId_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KclearMockedCalls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KclearMockedCalls_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KclearMockedCalls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KclearMockedCalls_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcloseFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcloseFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kcoinbase" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kcoinbase_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kcoinbase" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kcoinbase_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateDir_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateDir_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateFork_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateFork_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateFork_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateFork_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateFork_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateFork_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateSelectFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateSelectFork_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateSelectFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateSelectFork_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateSelectFork_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateSelectFork_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateSelectFork_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateSelectFork_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kdeal" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kdeal_address_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kdeal" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kdeal_address_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KderiveKey_string_string_uint32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KderiveKey_string_string_uint32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KderiveKey_string_uint32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KderiveKey_string_uint32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kdifficulty" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kdifficulty_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kdifficulty" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kdifficulty_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvAddress_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvAddress_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvAddress_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvAddress_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBool_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBool_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBool_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBool_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes32_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes32_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes32_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes32_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvInt_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvInt_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvInt_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvInt_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_bool_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_int256_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_int256_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvString_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvString_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvString_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvString_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvUint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvUint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvUint_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvUint_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ketch" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ketch_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ketch" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ketch_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_bytes_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_bytes_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_bytes_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_bytes_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_uint64_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_uint64_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_uint64_bytes_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_uint64_bytes_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCallMinGas_address_uint256_uint64_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCallMinGas_address_uint256_uint64_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCallMinGas_address_uint256_uint64_bytes_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCallMinGas_address_uint256_uint64_bytes_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_bool_bool_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_bool_bool_bool_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_bool_bool_bool_bool_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_bool_bool_bool_bool_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectRevert" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectRevert_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectRevert" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectRevert_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectRevert" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectRevert_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectRevert" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectRevert_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectRevert" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectRevert_bytes4)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectRevert" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectRevert_bytes4)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectSafeMemory" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectSafeMemory_uint64_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectSafeMemory" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectSafeMemory_uint64_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectSafeMemoryCall" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectSafeMemoryCall_uint64_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectSafeMemoryCall" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectSafeMemoryCall_uint64_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kfee" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kfee_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kfee" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kfee_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kffi_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kffi_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KfsMetadata_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KfsMetadata_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetCode_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetCode_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetDeployedCode_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetDeployedCode_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetLabel_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetLabel_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetNonce_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetNonce_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetRecordedLogs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetRecordedLogs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KisPersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KisPersistent_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KisPersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KisPersistent_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Klabel_address_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Klabel_address_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kload_address_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kload_address_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCall_address_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCall_address_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCall_address_uint256_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCall_address_uint256_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCallRevert" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCallRevert_address_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCallRevert_address_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCallRevert" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCallRevert_address_uint256_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCallRevert_address_uint256_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseAddress_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseAddress_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseBool_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseBool_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseBytes_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseBytes_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseBytes32_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseBytes32_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseInt_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseInt_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJson_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJson_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJson_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJson_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonAddress_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonAddress_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonAddressArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonAddressArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBool_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBool_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBoolArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBoolArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytes_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytes_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytes32_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytes32_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytes32Array_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytes32Array_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytesArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytesArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonInt_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonInt_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonIntArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonIntArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonString_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonString_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonStringArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonStringArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonUint_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonUint_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonUintArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonUintArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseUint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseUint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KpauseGasMetering_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KpauseGasMetering_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kprank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kprank_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kprank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kprank_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kprank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kprank_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kprank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kprank_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kprevrandao" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kprevrandao_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kprevrandao" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kprevrandao_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KprojectRoot_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KprojectRoot_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadCallers" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadCallers_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadCallers" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadCallers_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadDir_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadDir_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadDir_string_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadDir_string_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadDir_string_uint64_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadDir_string_uint64_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadFileBinary_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadFileBinary_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadLine_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadLine_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadLink_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadLink_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Krecord_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Krecord_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrecordLogs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrecordLogs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrememberKey_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrememberKey_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KremoveDir_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KremoveDir_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KremoveFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KremoveFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KresetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KresetNonce_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KresetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KresetNonce_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KresumeGasMetering_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KresumeGasMetering_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrevertTo" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrevertTo_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrevertTo" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrevertTo_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrevokePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrevokePersistent_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrevokePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrevokePersistent_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrevokePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrevokePersistent_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrevokePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrevokePersistent_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kroll" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kroll_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kroll" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kroll_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_uint256_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrpcUrl_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrpcUrl_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrpcUrlStructs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrpcUrlStructs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrpcUrls_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrpcUrls_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KselectFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KselectFork_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KselectFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KselectFork_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeAddress_string_string_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeAddress_string_string_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeAddress_string_string_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeAddress_string_string_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBool_string_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBool_string_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBool_string_string_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBool_string_string_bool_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes_string_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes_string_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes_string_string_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes_string_string_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes32_string_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes32_string_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes32_string_string_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes32_string_string_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeInt_string_string_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeInt_string_string_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeInt_string_string_int256_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeInt_string_string_int256_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeString_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeString_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeString_string_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeString_string_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeUint_string_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeUint_string_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeUint_string_string_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeUint_string_string_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KsetEnv_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KsetEnv_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KsetNonce" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KsetNonce_address_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KsetNonce" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KsetNonce_address_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KsetNonceUnsafe" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KsetNonceUnsafe_address_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KsetNonceUnsafe" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KsetNonceUnsafe_address_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ksign_uint256_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ksign_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kskip" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kskip_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kskip" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kskip_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ksnapshot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ksnapshot_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ksnapshot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ksnapshot_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartBroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartBroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartBroadcast_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartBroadcast_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartBroadcast_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartBroadcast_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartPrank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartPrank_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartPrank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartPrank_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartPrank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartPrank_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartPrank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartPrank_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstopBroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstopBroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstopPrank" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstopPrank_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstopPrank" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstopPrank_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kstore" "(" Int ":" "address" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kstore_address_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kstore" "(" Int ":" "address" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kstore_address_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ktransact" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ktransact_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ktransact" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ktransact_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ktransact" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ktransact_uint256_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ktransact" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ktransact_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtxGasPrice" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtxGasPrice_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtxGasPrice" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtxGasPrice_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kwarp" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kwarp_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kwarp" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kwarp_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteFile_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteFile_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteFileBinary_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteFileBinary_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteJson_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteJson_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteJson_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteJson_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteLine_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteLine_string_string)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) ensures #rangeAddress ( V0_target ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KactiveFork ( ) => #abiCallData ( "activeFork" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KactiveFork ( ) => #abiCallData ( "activeFork" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KallowCheatcodes ( V0_account : address ) => #abiCallData ( "allowCheatcodes" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KallowCheatcodes ( V0_account : address ) => #abiCallData ( "allowCheatcodes" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) ensures #rangeBool ( V0_condition ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) ensures #rangeBool ( V1_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KchainId ( V0_newChainId : uint256 ) => #abiCallData ( "chainId" , #uint256 ( V0_newChainId ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KchainId ( V0_newChainId : uint256 ) => #abiCallData ( "chainId" , #uint256 ( V0_newChainId ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_newChainId ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KclearMockedCalls ( ) => #abiCallData ( "clearMockedCalls" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KclearMockedCalls ( ) => #abiCallData ( "clearMockedCalls" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kcoinbase ( V0_newCoinbase : address ) => #abiCallData ( "coinbase" , #address ( V0_newCoinbase ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kcoinbase ( V0_newCoinbase : address ) => #abiCallData ( "coinbase" , #address ( V0_newCoinbase ) , .TypedArgs ) ) ensures #rangeAddress ( V0_newCoinbase ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) ensures #rangeBool ( V1_recursive ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateFork ( V0_urlOrAlias : string ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateFork ( V0_urlOrAlias : string ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V1_txHash ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V1_blockNumber ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateSelectFork ( V0_urlOrAlias : string ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateSelectFork ( V0_urlOrAlias : string ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V1_txHash ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V1_blockNumber ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kdeal ( V0_account : address , V1_newBalance : uint256 ) => #abiCallData ( "deal" , #address ( V0_account ) , #uint256 ( V1_newBalance ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kdeal ( V0_account : address , V1_newBalance : uint256 ) => #abiCallData ( "deal" , #address ( V0_account ) , #uint256 ( V1_newBalance ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_account ) andBool ( #rangeUInt ( 256 , V1_newBalance ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) ensures #rangeUInt ( 32 , V2_index ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) ensures #rangeUInt ( 32 , V1_index ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kdifficulty ( V0_newDifficulty : uint256 ) => #abiCallData ( "difficulty" , #uint256 ( V0_newDifficulty ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kdifficulty ( V0_newDifficulty : uint256 ) => #abiCallData ( "difficulty" , #uint256 ( V0_newDifficulty ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_newDifficulty ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) ensures #rangeAddress ( V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) ensures #rangeBool ( V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) ensures #rangeSInt ( 256 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V2_defaultValue_0 ) andBool ( #rangeAddress ( V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeBool ( V2_defaultValue_0 ) andBool ( #rangeBool ( V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ketch ( V0_target : address , V1_newRuntimeBytecode : bytes ) => #abiCallData ( "etch" , #address ( V0_target ) , #bytes ( V1_newRuntimeBytecode ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ketch ( V0_target : address , V1_newRuntimeBytecode : bytes ) => #abiCallData ( "etch" , #address ( V0_target ) , #bytes ( V1_newRuntimeBytecode ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_newRuntimeBytecode ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_data : bytes , V2_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #uint64 ( V2_count ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_data : bytes , V2_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #uint64 ( V2_count ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) andBool ( #rangeUInt ( 64 , V2_count ) ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #uint64 ( V3_count ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #uint64 ( V3_count ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) @@ -17296,7 +17802,7 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , V2_gas ) @@ -17304,7 +17810,7 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , V2_gas ) @@ -17313,7 +17819,7 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT ))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , V2_minGas ) @@ -17321,7 +17827,7 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , V2_minGas ) @@ -17330,14 +17836,14 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT ))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( ) => #abiCallData ( "expectEmit" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( ) => #abiCallData ( "expectEmit" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( V0_emitter : address ) => #abiCallData ( "expectEmit" , #address ( V0_emitter ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( V0_emitter : address ) => #abiCallData ( "expectEmit" , #address ( V0_emitter ) , .TypedArgs ) ) ensures #rangeAddress ( V0_emitter ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , .TypedArgs ) ) ensures ( #rangeBool ( V0_checkTopic1 ) andBool ( #rangeBool ( V1_checkTopic2 ) andBool ( #rangeBool ( V2_checkTopic3 ) @@ -17345,7 +17851,7 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool , V4_emitter : address ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , #address ( V4_emitter ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool , V4_emitter : address ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , #address ( V4_emitter ) , .TypedArgs ) ) ensures ( #rangeBool ( V0_checkTopic1 ) andBool ( #rangeBool ( V1_checkTopic2 ) andBool ( #rangeBool ( V2_checkTopic3 ) @@ -17354,101 +17860,101 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT ))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectRevert ( ) => #abiCallData ( "expectRevert" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectRevert ( ) => #abiCallData ( "expectRevert" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectRevert ( V0_revertData : bytes ) => #abiCallData ( "expectRevert" , #bytes ( V0_revertData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectRevert ( V0_revertData : bytes ) => #abiCallData ( "expectRevert" , #bytes ( V0_revertData ) , .TypedArgs ) ) ensures #rangeUInt ( 64 , lengthBytes ( V0_revertData ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectRevert ( V0_revertData : bytes4 ) => #abiCallData ( "expectRevert" , #bytes4 ( V0_revertData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectRevert ( V0_revertData : bytes4 ) => #abiCallData ( "expectRevert" , #bytes4 ( V0_revertData ) , .TypedArgs ) ) ensures #rangeBytes ( 4 , V0_revertData ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectSafeMemory ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemory" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectSafeMemory ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemory" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) ensures ( #rangeUInt ( 64 , V0_min ) andBool ( #rangeUInt ( 64 , V1_max ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectSafeMemoryCall ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemoryCall" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectSafeMemoryCall ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemoryCall" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) ensures ( #rangeUInt ( 64 , V0_min ) andBool ( #rangeUInt ( 64 , V1_max ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kfee ( V0_newBasefee : uint256 ) => #abiCallData ( "fee" , #uint256 ( V0_newBasefee ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kfee ( V0_newBasefee : uint256 ) => #abiCallData ( "fee" , #uint256 ( V0_newBasefee ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_newBasefee ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KisPersistent ( V0_account : address ) => #abiCallData ( "isPersistent" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KisPersistent ( V0_account : address ) => #abiCallData ( "isPersistent" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target ) andBool ( #rangeBytes ( 32 , V1_slot ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_account : address ) => #abiCallData ( "makePersistent" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_account : address ) => #abiCallData ( "makePersistent" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_account0 : address , V1_account1 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_account0 ) andBool ( #rangeAddress ( V1_account1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_account0 : address , V1_account1 : address , V2_account2 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , #address ( V2_account2 ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address , V2_account2 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , #address ( V2_account2 ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_account0 ) andBool ( #rangeAddress ( V1_account1 ) andBool ( #rangeAddress ( V2_account2 ) ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "makePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "makePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_accounts_0 ) andBool ( #rangeAddress ( V0_accounts_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCall ( V0_callee : address , V1_data : bytes , V2_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_returnData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCall ( V0_callee : address , V1_data : bytes , V2_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_returnData ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_returnData ) ) ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_returnData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_returnData ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) @@ -17456,14 +17962,14 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCallRevert ( V0_callee : address , V1_data : bytes , V2_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_revertData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCallRevert ( V0_callee : address , V1_data : bytes , V2_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_revertData ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_revertData ) ) ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCallRevert ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_revertData ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCallRevert ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_revertData ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_callee ) andBool ( #rangeUInt ( 256 , V1_msgValue ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) @@ -17471,379 +17977,379 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kprank ( V0_msgSender : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kprank ( V0_msgSender : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , .TypedArgs ) ) ensures #rangeAddress ( V0_msgSender ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kprank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kprank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_msgSender ) andBool ( #rangeAddress ( V1_txOrigin ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kprevrandao ( V0_newPrevrandao : bytes32 ) => #abiCallData ( "prevrandao" , #bytes32 ( V0_newPrevrandao ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kprevrandao ( V0_newPrevrandao : bytes32 ) => #abiCallData ( "prevrandao" , #bytes32 ( V0_newPrevrandao ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V0_newPrevrandao ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadCallers ( ) => #abiCallData ( "readCallers" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadCallers ( ) => #abiCallData ( "readCallers" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) ensures #rangeUInt ( 64 , V1_maxDepth ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) ensures ( #rangeUInt ( 64 , V1_maxDepth ) andBool ( #rangeBool ( V2_followLinks ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) ensures #rangeBool ( V1_recursive ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KresetNonce ( V0_account : address ) => #abiCallData ( "resetNonce" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KresetNonce ( V0_account : address ) => #abiCallData ( "resetNonce" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrevertTo ( V0_snapshotId : uint256 ) => #abiCallData ( "revertTo" , #uint256 ( V0_snapshotId ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrevertTo ( V0_snapshotId : uint256 ) => #abiCallData ( "revertTo" , #uint256 ( V0_snapshotId ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_snapshotId ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrevokePersistent ( V0_account : address ) => #abiCallData ( "revokePersistent" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrevokePersistent ( V0_account : address ) => #abiCallData ( "revokePersistent" , #address ( V0_account ) , .TypedArgs ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrevokePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "revokePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrevokePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "revokePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_accounts_0 ) andBool ( #rangeAddress ( V0_accounts_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kroll ( V0_newHeight : uint256 ) => #abiCallData ( "roll" , #uint256 ( V0_newHeight ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kroll ( V0_newHeight : uint256 ) => #abiCallData ( "roll" , #uint256 ( V0_newHeight ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_newHeight ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_txHash : bytes32 ) => #abiCallData ( "rollFork" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_txHash : bytes32 ) => #abiCallData ( "rollFork" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V0_txHash ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_blockNumber ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) ensures ( #rangeUInt ( 256 , V0_forkId ) andBool ( #rangeBytes ( 32 , V1_txHash ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_forkId : uint256 , V1_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_forkId : uint256 , V1_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) ensures ( #rangeUInt ( 256 , V0_forkId ) andBool ( #rangeUInt ( 256 , V1_blockNumber ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KselectFork ( V0_forkId : uint256 ) => #abiCallData ( "selectFork" , #uint256 ( V0_forkId ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KselectFork ( V0_forkId : uint256 ) => #abiCallData ( "selectFork" , #uint256 ( V0_forkId ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_forkId ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) ensures #rangeAddress ( V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeAddress ( V2_values_0 ) andBool ( #rangeAddress ( V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) ensures #rangeBool ( V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeBool ( V2_values_0 ) andBool ( #rangeBool ( V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeBytes ( 32 , V2_values_0 ) andBool ( #rangeBytes ( 32 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) ensures #rangeSInt ( 256 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeSInt ( 256 , V2_values_0 ) andBool ( #rangeSInt ( 256 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) ensures ( #rangeUInt ( 256 , V2_values_0 ) andBool ( #rangeUInt ( 256 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KsetNonce ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonce" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KsetNonce ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonce" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_account ) andBool ( #rangeUInt ( 64 , V1_newNonce ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KsetNonceUnsafe ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonceUnsafe" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KsetNonceUnsafe ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonceUnsafe" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_account ) andBool ( #rangeUInt ( 64 , V1_newNonce ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) ensures ( #rangeUInt ( 256 , V0_privateKey ) andBool ( #rangeBytes ( 32 , V1_digest ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kskip ( V0_skipTest : bool ) => #abiCallData ( "skip" , #bool ( V0_skipTest ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kskip ( V0_skipTest : bool ) => #abiCallData ( "skip" , #bool ( V0_skipTest ) , .TypedArgs ) ) ensures #rangeBool ( V0_skipTest ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ksnapshot ( ) => #abiCallData ( "snapshot" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ksnapshot ( ) => #abiCallData ( "snapshot" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartPrank ( V0_msgSender : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartPrank ( V0_msgSender : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , .TypedArgs ) ) ensures #rangeAddress ( V0_msgSender ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartPrank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartPrank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_msgSender ) andBool ( #rangeAddress ( V1_txOrigin ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstopPrank ( ) => #abiCallData ( "stopPrank" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstopPrank ( ) => #abiCallData ( "stopPrank" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kstore ( V0_target : address , V1_slot : bytes32 , V2_value : bytes32 ) => #abiCallData ( "store" , #address ( V0_target ) , #bytes32 ( V1_slot ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kstore ( V0_target : address , V1_slot : bytes32 , V2_value : bytes32 ) => #abiCallData ( "store" , #address ( V0_target ) , #bytes32 ( V1_slot ) , #bytes32 ( V2_value ) , .TypedArgs ) ) ensures ( #rangeAddress ( V0_target ) andBool ( #rangeBytes ( 32 , V1_slot ) andBool ( #rangeBytes ( 32 , V2_value ) ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) ensures #rangeAddress ( V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) ensures #rangeBool ( V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) ensures #rangeSInt ( 256 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ktransact ( V0_txHash : bytes32 ) => #abiCallData ( "transact" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ktransact ( V0_txHash : bytes32 ) => #abiCallData ( "transact" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) ensures #rangeBytes ( 32 , V0_txHash ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ktransact ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "transact" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ktransact ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "transact" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) ensures ( #rangeUInt ( 256 , V0_forkId ) andBool ( #rangeBytes ( 32 , V1_txHash ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtxGasPrice ( V0_newGasPrice : uint256 ) => #abiCallData ( "txGasPrice" , #uint256 ( V0_newGasPrice ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtxGasPrice ( V0_newGasPrice : uint256 ) => #abiCallData ( "txGasPrice" , #uint256 ( V0_newGasPrice ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_newGasPrice ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kwarp ( V0_newTimestamp : uint256 ) => #abiCallData ( "warp" , #uint256 ( V0_newTimestamp ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kwarp ( V0_newTimestamp : uint256 ) => #abiCallData ( "warp" , #uint256 ( V0_newTimestamp ) , .TypedArgs ) ) ensures #rangeUInt ( 256 , V0_newTimestamp ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) rule ( selector ( "accesses(address)" ) => 1706857601 ) @@ -18221,1333 +18727,4580 @@ module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT rule ( selector ( "readLink(string)" ) => 2673247394 ) - rule ( selector ( "record()" ) => 644673801 ) + rule ( selector ( "record()" ) => 644673801 ) + + + rule ( selector ( "recordLogs()" ) => 1101999954 ) + + + rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) + + + rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) + + + rule ( selector ( "removeFile(string)" ) => 4054835277 ) + + + rule ( selector ( "resetNonce(address)" ) => 477246573 ) + + + rule ( selector ( "resumeGasMetering()" ) => 734875872 ) + + + rule ( selector ( "revertTo(uint256)" ) => 1155002532 ) + + + rule ( selector ( "revokePersistent(address)" ) => 2574909986 ) + + + rule ( selector ( "revokePersistent(address[])" ) => 1021929958 ) + + + rule ( selector ( "roll(uint256)" ) => 528174896 ) + + + rule ( selector ( "rollFork(bytes32)" ) => 254375723 ) + + + rule ( selector ( "rollFork(uint256)" ) => 3652973473 ) + + + rule ( selector ( "rollFork(uint256,bytes32)" ) => 4068675451 ) + + + rule ( selector ( "rollFork(uint256,uint256)" ) => 3612115876 ) + + + rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) + + + rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) + + + rule ( selector ( "rpcUrls()" ) => 2824504344 ) + + + rule ( selector ( "selectFork(uint256)" ) => 2663344167 ) + + + rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) + + + rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) + + + rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) + + + rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) + + + rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) + + + rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) + + + rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) + + + rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) + + + rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) + + + rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) + + + rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) + + + rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) + + + rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) + + + rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) + + + rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) + + + rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) + + + rule ( selector ( "setNonceUnsafe(address,uint64)" ) => 2607264284 ) + + + rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + + + rule ( selector ( "skip(bool)" ) => 3716337982 ) + + + rule ( selector ( "snapshot()" ) => 2534502746 ) + + + rule ( selector ( "startBroadcast()" ) => 2142579071 ) + + + rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) + + + rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) + + + rule ( selector ( "startPrank(address)" ) => 105151830 ) + + + rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) + + + rule ( selector ( "stopBroadcast()" ) => 1995103542 ) + + + rule ( selector ( "stopPrank()" ) => 2428830011 ) + + + rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) + + + rule ( selector ( "toString(address)" ) => 1456103998 ) + + + rule ( selector ( "toString(bool)" ) => 1910302682 ) + + + rule ( selector ( "toString(bytes)" ) => 1907020045 ) + + + rule ( selector ( "toString(bytes32)" ) => 2971277800 ) + + + rule ( selector ( "toString(int256)" ) => 2736964622 ) + + + rule ( selector ( "toString(uint256)" ) => 1761649582 ) + + + rule ( selector ( "transact(bytes32)" ) => 3194252705 ) + + + rule ( selector ( "transact(uint256,bytes32)" ) => 1300937803 ) + + + rule ( selector ( "txGasPrice(uint256)" ) => 1224018959 ) + + + rule ( selector ( "warp(uint256)" ) => 3856056066 ) + + + rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) + + + rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) + + + rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) + + + rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) + + + rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%Vm.0.8.15)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + + + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kaccesses_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KactiveFork" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KactiveFork_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kaddr_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KallowCheatcodes" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KallowCheatcodes_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kassume_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbreakpoint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbreakpoint_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbroadcast_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbroadcast_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KchainId" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KchainId_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KclearMockedCalls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KclearMockedCalls_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcloseFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kcoinbase" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kcoinbase_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateFork_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateFork_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateFork_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateSelectFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateSelectFork_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateSelectFork_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateSelectFork_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kdeal" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kdeal_address_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KderiveKey_string_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KderiveKey_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kdifficulty" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kdifficulty_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_int256_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvString_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvString_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvUint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvUint_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ketch" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ketch_address_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_bytes_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_bytes_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_uint64_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_uint64_bytes_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCallMinGas_address_uint256_uint64_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCallMinGas_address_uint256_uint64_bytes_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_bool_bool_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_bool_bool_bool_bool_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectRevert" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectRevert_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectRevert" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectRevert_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectRevert" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectRevert_bytes4)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectSafeMemory" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectSafeMemory_uint64_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectSafeMemoryCall" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectSafeMemoryCall_uint64_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kfee" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kfee_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kffi_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KfsMetadata_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetCode_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetDeployedCode_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetLabel_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetNonce_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetRecordedLogs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KisPersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KisPersistent_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Klabel_address_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kload_address_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCall_address_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCall_address_uint256_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCallRevert_address_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCallRevert_address_uint256_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJson_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJson_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonAddressArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBoolArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytes32Array_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytesArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonIntArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonString_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonStringArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonUint_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonUintArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseUint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KpauseGasMetering_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kprank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kprank_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kprank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kprank_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kprevrandao" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kprevrandao_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KprojectRoot_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadCallers" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadCallers_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadDir_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadDir_string_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadDir_string_uint64_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadFileBinary_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadLine_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadLink_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Krecord_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrecordLogs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrememberKey_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KremoveDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KremoveFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KresetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KresetNonce_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KresumeGasMetering_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrevertTo" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrevertTo_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrevokePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrevokePersistent_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrevokePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrevokePersistent_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kroll" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kroll_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_uint256_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrpcUrl_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrpcUrlStructs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrpcUrls_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KselectFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KselectFork_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeAddress_string_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeAddress_string_string_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBool_string_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBool_string_string_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes_string_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes_string_string_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes32_string_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes32_string_string_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeInt_string_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeInt_string_string_int256_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeString_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeString_string_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeUint_string_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeUint_string_string_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KsetEnv_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KsetNonce" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KsetNonce_address_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KsetNonceUnsafe" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KsetNonceUnsafe_address_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ksign_uint256_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kskip" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kskip_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ksnapshot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ksnapshot_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartBroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartBroadcast_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartBroadcast_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartPrank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartPrank_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartPrank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartPrank_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstopBroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstopPrank" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstopPrank_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kstore" "(" Int ":" "address" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kstore_address_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ktransact" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ktransact_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ktransact" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ktransact_uint256_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtxGasPrice" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtxGasPrice_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kwarp" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kwarp_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteFile_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteFileBinary_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteJson_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteJson_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteLine_string_string)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_target ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KactiveFork ( ) => #abiCallData ( "activeFork" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KallowCheatcodes ( V0_account : address ) => #abiCallData ( "allowCheatcodes" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) + ensures #rangeBool ( V0_condition ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) + ensures #rangeBool ( V1_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_signer ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KchainId ( V0_newChainId : uint256 ) => #abiCallData ( "chainId" , #uint256 ( V0_newChainId ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_newChainId ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KclearMockedCalls ( ) => #abiCallData ( "clearMockedCalls" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kcoinbase ( V0_newCoinbase : address ) => #abiCallData ( "coinbase" , #address ( V0_newCoinbase ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_newCoinbase ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + ensures #rangeBool ( V1_recursive ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateFork ( V0_urlOrAlias : string ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V1_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V1_blockNumber ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateSelectFork ( V0_urlOrAlias : string ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V1_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V1_blockNumber ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kdeal ( V0_account : address , V1_newBalance : uint256 ) => #abiCallData ( "deal" , #address ( V0_account ) , #uint256 ( V1_newBalance ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_account ) + andBool ( #rangeUInt ( 256 , V1_newBalance ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) + ensures #rangeUInt ( 32 , V2_index ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) + ensures #rangeUInt ( 32 , V1_index ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kdifficulty ( V0_newDifficulty : uint256 ) => #abiCallData ( "difficulty" , #uint256 ( V0_newDifficulty ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_newDifficulty ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeAddress ( V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeBool ( V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V2_defaultValue_0 ) + andBool ( #rangeAddress ( V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V2_defaultValue_0 ) + andBool ( #rangeBool ( V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) + andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ketch ( V0_target : address , V1_newRuntimeBytecode : bytes ) => #abiCallData ( "etch" , #address ( V0_target ) , #bytes ( V1_newRuntimeBytecode ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_newRuntimeBytecode ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_data : bytes , V2_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #uint64 ( V2_count ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + andBool ( #rangeUInt ( 64 , V2_count ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #uint64 ( V3_count ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + andBool ( #rangeUInt ( 64 , V3_count ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_gas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_gas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + andBool ( #rangeUInt ( 64 , V4_count ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_minGas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_minGas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + andBool ( #rangeUInt ( 64 , V4_count ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( ) => #abiCallData ( "expectEmit" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( V0_emitter : address ) => #abiCallData ( "expectEmit" , #address ( V0_emitter ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_emitter ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , .TypedArgs ) ) + ensures ( #rangeBool ( V0_checkTopic1 ) + andBool ( #rangeBool ( V1_checkTopic2 ) + andBool ( #rangeBool ( V2_checkTopic3 ) + andBool ( #rangeBool ( V3_checkData ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool , V4_emitter : address ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , #address ( V4_emitter ) , .TypedArgs ) ) + ensures ( #rangeBool ( V0_checkTopic1 ) + andBool ( #rangeBool ( V1_checkTopic2 ) + andBool ( #rangeBool ( V2_checkTopic3 ) + andBool ( #rangeBool ( V3_checkData ) + andBool ( #rangeAddress ( V4_emitter ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectRevert ( ) => #abiCallData ( "expectRevert" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectRevert ( V0_revertData : bytes ) => #abiCallData ( "expectRevert" , #bytes ( V0_revertData ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V0_revertData ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectRevert ( V0_revertData : bytes4 ) => #abiCallData ( "expectRevert" , #bytes4 ( V0_revertData ) , .TypedArgs ) ) + ensures #rangeBytes ( 4 , V0_revertData ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectSafeMemory ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemory" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , V0_min ) + andBool ( #rangeUInt ( 64 , V1_max ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectSafeMemoryCall ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemoryCall" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , V0_min ) + andBool ( #rangeUInt ( 64 , V1_max ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kfee ( V0_newBasefee : uint256 ) => #abiCallData ( "fee" , #uint256 ( V0_newBasefee ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_newBasefee ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KisPersistent ( V0_account : address ) => #abiCallData ( "isPersistent" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeBytes ( 32 , V1_slot ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_account : address ) => #abiCallData ( "makePersistent" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_account0 ) + andBool ( #rangeAddress ( V1_account1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address , V2_account2 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , #address ( V2_account2 ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_account0 ) + andBool ( #rangeAddress ( V1_account1 ) + andBool ( #rangeAddress ( V2_account2 ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "makePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_accounts_0 ) + andBool ( #rangeAddress ( V0_accounts_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCall ( V0_callee : address , V1_data : bytes , V2_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_returnData ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_returnData ) ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_returnData ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_returnData ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCallRevert ( V0_callee : address , V1_data : bytes , V2_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_revertData ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_revertData ) ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCallRevert ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_revertData ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_revertData ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kprank ( V0_msgSender : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_msgSender ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kprank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_msgSender ) + andBool ( #rangeAddress ( V1_txOrigin ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kprevrandao ( V0_newPrevrandao : bytes32 ) => #abiCallData ( "prevrandao" , #bytes32 ( V0_newPrevrandao ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V0_newPrevrandao ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadCallers ( ) => #abiCallData ( "readCallers" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , V1_maxDepth ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , V1_maxDepth ) + andBool ( #rangeBool ( V2_followLinks ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + ensures #rangeBool ( V1_recursive ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KresetNonce ( V0_account : address ) => #abiCallData ( "resetNonce" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrevertTo ( V0_snapshotId : uint256 ) => #abiCallData ( "revertTo" , #uint256 ( V0_snapshotId ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_snapshotId ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrevokePersistent ( V0_account : address ) => #abiCallData ( "revokePersistent" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrevokePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "revokePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_accounts_0 ) + andBool ( #rangeAddress ( V0_accounts_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kroll ( V0_newHeight : uint256 ) => #abiCallData ( "roll" , #uint256 ( V0_newHeight ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_newHeight ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_txHash : bytes32 ) => #abiCallData ( "rollFork" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V0_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_blockNumber ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_forkId ) + andBool ( #rangeBytes ( 32 , V1_txHash ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_forkId : uint256 , V1_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_forkId ) + andBool ( #rangeUInt ( 256 , V1_blockNumber ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KselectFork ( V0_forkId : uint256 ) => #abiCallData ( "selectFork" , #uint256 ( V0_forkId ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_forkId ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) + ensures #rangeAddress ( V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V2_values_0 ) + andBool ( #rangeAddress ( V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) + ensures #rangeBool ( V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V2_values_0 ) + andBool ( #rangeBool ( V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBytes ( 32 , V2_values_0 ) + andBool ( #rangeBytes ( 32 , V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeSInt ( 256 , V2_values_0 ) + andBool ( #rangeSInt ( 256 , V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V2_values_0 ) + andBool ( #rangeUInt ( 256 , V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KsetNonce ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonce" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_account ) + andBool ( #rangeUInt ( 64 , V1_newNonce ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KsetNonceUnsafe ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonceUnsafe" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_account ) + andBool ( #rangeUInt ( 64 , V1_newNonce ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_privateKey ) + andBool ( #rangeBytes ( 32 , V1_digest ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kskip ( V0_skipTest : bool ) => #abiCallData ( "skip" , #bool ( V0_skipTest ) , .TypedArgs ) ) + ensures #rangeBool ( V0_skipTest ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ksnapshot ( ) => #abiCallData ( "snapshot" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_signer ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartPrank ( V0_msgSender : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_msgSender ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartPrank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_msgSender ) + andBool ( #rangeAddress ( V1_txOrigin ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstopPrank ( ) => #abiCallData ( "stopPrank" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kstore ( V0_target : address , V1_slot : bytes32 , V2_value : bytes32 ) => #abiCallData ( "store" , #address ( V0_target ) , #bytes32 ( V1_slot ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeBytes ( 32 , V1_slot ) + andBool ( #rangeBytes ( 32 , V2_value ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) + ensures #rangeBool ( V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ktransact ( V0_txHash : bytes32 ) => #abiCallData ( "transact" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V0_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ktransact ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "transact" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_forkId ) + andBool ( #rangeBytes ( 32 , V1_txHash ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtxGasPrice ( V0_newGasPrice : uint256 ) => #abiCallData ( "txGasPrice" , #uint256 ( V0_newGasPrice ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_newGasPrice ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kwarp ( V0_newTimestamp : uint256 ) => #abiCallData ( "warp" , #uint256 ( V0_newTimestamp ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_newTimestamp ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + + + rule ( selector ( "accesses(address)" ) => 1706857601 ) + + + rule ( selector ( "activeFork()" ) => 789593890 ) + + + rule ( selector ( "addr(uint256)" ) => 4288775753 ) + + + rule ( selector ( "allowCheatcodes(address)" ) => 3926262417 ) + + + rule ( selector ( "assume(bool)" ) => 1281615202 ) + + + rule ( selector ( "breakpoint(string)" ) => 4028997266 ) + + + rule ( selector ( "breakpoint(string,bool)" ) => 4157840013 ) + + + rule ( selector ( "broadcast()" ) => 2949218368 ) + + + rule ( selector ( "broadcast(address)" ) => 3868601563 ) + + + rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) + + + rule ( selector ( "chainId(uint256)" ) => 1078582738 ) + + + rule ( selector ( "clearMockedCalls()" ) => 1071599125 ) + + + rule ( selector ( "closeFile(string)" ) => 1220748319 ) + + + rule ( selector ( "coinbase(address)" ) => 4282924116 ) + + + rule ( selector ( "createDir(string,bool)" ) => 378234067 ) + + + rule ( selector ( "createFork(string)" ) => 834286744 ) + + + rule ( selector ( "createFork(string,bytes32)" ) => 2091030146 ) + + + rule ( selector ( "createFork(string,uint256)" ) => 1805892139 ) + + + rule ( selector ( "createSelectFork(string)" ) => 2556952628 ) + + + rule ( selector ( "createSelectFork(string,bytes32)" ) => 2228562810 ) + + + rule ( selector ( "createSelectFork(string,uint256)" ) => 1911440973 ) + + + rule ( selector ( "deal(address,uint256)" ) => 3364511341 ) + + + rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) + + + rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) + + + rule ( selector ( "difficulty(uint256)" ) => 1187812057 ) + + + rule ( selector ( "envAddress(string)" ) => 890066623 ) + + + rule ( selector ( "envAddress(string,string)" ) => 2905717242 ) + + + rule ( selector ( "envBool(string)" ) => 2127686781 ) + + + rule ( selector ( "envBool(string,string)" ) => 2863521455 ) + + + rule ( selector ( "envBytes(string)" ) => 1299951366 ) + + + rule ( selector ( "envBytes(string,string)" ) => 3720504603 ) + + + rule ( selector ( "envBytes32(string)" ) => 2543095874 ) + + + rule ( selector ( "envBytes32(string,string)" ) => 1525821889 ) + + + rule ( selector ( "envInt(string)" ) => 2301234273 ) + + + rule ( selector ( "envInt(string,string)" ) => 1108873552 ) + + + rule ( selector ( "envOr(string,address)" ) => 1444930880 ) + + + rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) + + + rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) + + + rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) + + + rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) + + + rule ( selector ( "envOr(string,string)" ) => 3510989676 ) + + + rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) + + + rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) + + + rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) + + + rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) + + + rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) + + + rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) + + + rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) + + + rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) + + + rule ( selector ( "envString(string)" ) => 4168600345 ) + + + rule ( selector ( "envString(string,string)" ) => 347089865 ) + + + rule ( selector ( "envUint(string)" ) => 3247934751 ) + + + rule ( selector ( "envUint(string,string)" ) => 4091461785 ) + + + rule ( selector ( "etch(address,bytes)" ) => 3033974658 ) + + + rule ( selector ( "expectCall(address,bytes)" ) => 3177903156 ) + + + rule ( selector ( "expectCall(address,bytes,uint64)" ) => 3249388543 ) + + + rule ( selector ( "expectCall(address,uint256,bytes)" ) => 4077681571 ) + + + rule ( selector ( "expectCall(address,uint256,bytes,uint64)" ) => 2729550254 ) + + + rule ( selector ( "expectCall(address,uint256,uint64,bytes)" ) => 590746119 ) + + + rule ( selector ( "expectCall(address,uint256,uint64,bytes,uint64)" ) => 1706538956 ) + + + rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes)" ) => 149217558 ) + + + rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes,uint64)" ) => 3778680884 ) + + + rule ( selector ( "expectEmit()" ) => 1141821709 ) + + + rule ( selector ( "expectEmit(address)" ) => 2260296205 ) + + + rule ( selector ( "expectEmit(bool,bool,bool,bool)" ) => 1226622914 ) + + + rule ( selector ( "expectEmit(bool,bool,bool,bool,address)" ) => 2176505587 ) + + + rule ( selector ( "expectRevert()" ) => 4102309908 ) + + + rule ( selector ( "expectRevert(bytes)" ) => 4069379763 ) + + + rule ( selector ( "expectRevert(bytes4)" ) => 3273568480 ) + + + rule ( selector ( "expectSafeMemory(uint64,uint64)" ) => 1828808328 ) + + + rule ( selector ( "expectSafeMemoryCall(uint64,uint64)" ) => 92507124 ) + + + rule ( selector ( "fee(uint256)" ) => 968063664 ) + + + rule ( selector ( "ffi(string[])" ) => 2299921511 ) + + + rule ( selector ( "fsMetadata(string)" ) => 2939587080 ) + + + rule ( selector ( "getCode(string)" ) => 2367473957 ) + + + rule ( selector ( "getDeployedCode(string)" ) => 1052734388 ) + + + rule ( selector ( "getLabel(address)" ) => 681724336 ) + + + rule ( selector ( "getNonce(address)" ) => 755185067 ) + + + rule ( selector ( "getRecordedLogs()" ) => 420828068 ) + + + rule ( selector ( "isPersistent(address)" ) => 3643641597 ) + + + rule ( selector ( "label(address,string)" ) => 3327641368 ) + + + rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) + + + rule ( selector ( "makePersistent(address)" ) => 1474440670 ) + + + rule ( selector ( "makePersistent(address,address)" ) => 1081401512 ) + + + rule ( selector ( "makePersistent(address,address,address)" ) => 4021779061 ) + + + rule ( selector ( "makePersistent(address[])" ) => 496903838 ) + + + rule ( selector ( "mockCall(address,bytes,bytes)" ) => 3110212580 ) + + + rule ( selector ( "mockCall(address,uint256,bytes,bytes)" ) => 2168494993 ) + + + rule ( selector ( "mockCallRevert(address,bytes,bytes)" ) => 3685404999 ) + + + rule ( selector ( "mockCallRevert(address,uint256,bytes,bytes)" ) => 3527200823 ) + + + rule ( selector ( "parseAddress(string)" ) => 3335390621 ) + + + rule ( selector ( "parseBool(string)" ) => 2538535204 ) + + + rule ( selector ( "parseBytes(string)" ) => 2405245741 ) + + + rule ( selector ( "parseBytes32(string)" ) => 142503553 ) + + + rule ( selector ( "parseInt(string)" ) => 1110731870 ) + + + rule ( selector ( "parseJson(string)" ) => 1786929162 ) + + + rule ( selector ( "parseJson(string,string)" ) => 2241072881 ) + + + rule ( selector ( "parseJsonAddress(string,string)" ) => 505013847 ) + + + rule ( selector ( "parseJsonAddressArray(string,string)" ) => 802060419 ) + + + rule ( selector ( "parseJsonBool(string,string)" ) => 2676415633 ) + + + rule ( selector ( "parseJsonBoolArray(string,string)" ) => 2448669007 ) + + + rule ( selector ( "parseJsonBytes(string,string)" ) => 4254211048 ) + + + rule ( selector ( "parseJsonBytes32(string,string)" ) => 393733533 ) + + + rule ( selector ( "parseJsonBytes32Array(string,string)" ) => 2445761475 ) + + + rule ( selector ( "parseJsonBytesArray(string,string)" ) => 1714530969 ) + + + rule ( selector ( "parseJsonInt(string,string)" ) => 2063895757 ) + + + rule ( selector ( "parseJsonIntArray(string,string)" ) => 2575549066 ) + + + rule ( selector ( "parseJsonString(string,string)" ) => 1237646024 ) + + + rule ( selector ( "parseJsonStringArray(string,string)" ) => 1234164980 ) + + + rule ( selector ( "parseJsonUint(string,string)" ) => 2916999862 ) + + + rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) + + + rule ( selector ( "parseUint(string)" ) => 4203824461 ) + + + rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) + + + rule ( selector ( "prank(address)" ) => 3395723175 ) + + + rule ( selector ( "prank(address,address)" ) => 1206193358 ) + + + rule ( selector ( "prevrandao(bytes32)" ) => 999445833 ) + + + rule ( selector ( "projectRoot()" ) => 3643842790 ) + + + rule ( selector ( "readCallers()" ) => 1255193289 ) + + + rule ( selector ( "readDir(string)" ) => 3300678112 ) + + + rule ( selector ( "readDir(string,uint64)" ) => 345474924 ) + + + rule ( selector ( "readDir(string,uint64,bool)" ) => 2164446989 ) + + + rule ( selector ( "readFile(string)" ) => 1626979089 ) + + + rule ( selector ( "readFileBinary(string)" ) => 384662468 ) + + + rule ( selector ( "readLine(string)" ) => 1895126824 ) + + + rule ( selector ( "readLink(string)" ) => 2673247394 ) + + + rule ( selector ( "record()" ) => 644673801 ) + + + rule ( selector ( "recordLogs()" ) => 1101999954 ) + + + rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) + + + rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) + + + rule ( selector ( "removeFile(string)" ) => 4054835277 ) + + + rule ( selector ( "resetNonce(address)" ) => 477246573 ) + + + rule ( selector ( "resumeGasMetering()" ) => 734875872 ) + + + rule ( selector ( "revertTo(uint256)" ) => 1155002532 ) + + + rule ( selector ( "revokePersistent(address)" ) => 2574909986 ) + + + rule ( selector ( "revokePersistent(address[])" ) => 1021929958 ) + + + rule ( selector ( "roll(uint256)" ) => 528174896 ) + + + rule ( selector ( "rollFork(bytes32)" ) => 254375723 ) + + + rule ( selector ( "rollFork(uint256)" ) => 3652973473 ) + + + rule ( selector ( "rollFork(uint256,bytes32)" ) => 4068675451 ) + + + rule ( selector ( "rollFork(uint256,uint256)" ) => 3612115876 ) + + + rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) + + + rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) + + + rule ( selector ( "rpcUrls()" ) => 2824504344 ) + + + rule ( selector ( "selectFork(uint256)" ) => 2663344167 ) + + + rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) + + + rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) + + + rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) + + + rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) + + + rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) + + + rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) + + + rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) + + + rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) + + + rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) + + + rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) + + + rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) + + + rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) + + + rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) + + + rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) + + + rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) + + + rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) + + + rule ( selector ( "setNonceUnsafe(address,uint64)" ) => 2607264284 ) + + + rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + + + rule ( selector ( "skip(bool)" ) => 3716337982 ) + + + rule ( selector ( "snapshot()" ) => 2534502746 ) + + + rule ( selector ( "startBroadcast()" ) => 2142579071 ) + + + rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) + + + rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) + + + rule ( selector ( "startPrank(address)" ) => 105151830 ) + + + rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) + + + rule ( selector ( "stopBroadcast()" ) => 1995103542 ) + + + rule ( selector ( "stopPrank()" ) => 2428830011 ) + + + rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) + + + rule ( selector ( "toString(address)" ) => 1456103998 ) + + + rule ( selector ( "toString(bool)" ) => 1910302682 ) + + + rule ( selector ( "toString(bytes)" ) => 1907020045 ) + + + rule ( selector ( "toString(bytes32)" ) => 2971277800 ) + + + rule ( selector ( "toString(int256)" ) => 2736964622 ) + + + rule ( selector ( "toString(uint256)" ) => 1761649582 ) + + + rule ( selector ( "transact(bytes32)" ) => 3194252705 ) + + + rule ( selector ( "transact(uint256,bytes32)" ) => 1300937803 ) + + + rule ( selector ( "txGasPrice(uint256)" ) => 1224018959 ) + + + rule ( selector ( "warp(uint256)" ) => 3856056066 ) + + + rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) + + + rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) + + + rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) + + + rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) + + + rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%VmSafe.0.8.13)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + + + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kaccesses_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kaddr_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kassume_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbreakpoint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbreakpoint_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbroadcast_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbroadcast_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KcloseFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KcreateDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KderiveKey_string_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KderiveKey_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_int256_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvString_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvString_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvUint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvUint_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kffi_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KfsMetadata_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetCode_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetDeployedCode_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetLabel_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetNonce_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetRecordedLogs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Klabel_address_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kload_address_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJson_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJson_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonAddressArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBoolArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytes32Array_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytesArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonIntArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonString_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonStringArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonUint_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonUintArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseUint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KpauseGasMetering_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KprojectRoot_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadDir_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadDir_string_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadDir_string_uint64_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadFileBinary_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadLine_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadLink_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Krecord_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrecordLogs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrememberKey_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KremoveDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KremoveFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KresumeGasMetering_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrpcUrl_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrpcUrlStructs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrpcUrls_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeAddress_string_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeAddress_string_string_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBool_string_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBool_string_string_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes_string_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes_string_string_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes32_string_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes32_string_string_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeInt_string_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeInt_string_string_int256_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeString_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeString_string_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeUint_string_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeUint_string_string_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KsetEnv_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Ksign_uint256_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstartBroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstartBroadcast_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstartBroadcast_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstopBroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteFile_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteFileBinary_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteJson_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteJson_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteLine_string_string)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_target ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) + ensures #rangeBool ( V0_condition ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) + ensures #rangeBool ( V1_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_signer ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + ensures #rangeBool ( V1_recursive ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) + ensures #rangeUInt ( 32 , V2_index ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) + ensures #rangeUInt ( 32 , V1_index ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeAddress ( V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeBool ( V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V2_defaultValue_0 ) + andBool ( #rangeAddress ( V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V2_defaultValue_0 ) + andBool ( #rangeBool ( V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) + andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeBytes ( 32 , V1_slot ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , V1_maxDepth ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , V1_maxDepth ) + andBool ( #rangeBool ( V2_followLinks ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + ensures #rangeBool ( V1_recursive ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) + ensures #rangeAddress ( V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V2_values_0 ) + andBool ( #rangeAddress ( V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) + ensures #rangeBool ( V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V2_values_0 ) + andBool ( #rangeBool ( V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBytes ( 32 , V2_values_0 ) + andBool ( #rangeBytes ( 32 , V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeSInt ( 256 , V2_values_0 ) + andBool ( #rangeSInt ( 256 , V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V2_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V2_values_0 ) + andBool ( #rangeUInt ( 256 , V2_values_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_privateKey ) + andBool ( #rangeBytes ( 32 , V1_digest ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_signer ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) + ensures #rangeBool ( V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_value ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + + + rule ( selector ( "accesses(address)" ) => 1706857601 ) + + + rule ( selector ( "addr(uint256)" ) => 4288775753 ) + + + rule ( selector ( "assume(bool)" ) => 1281615202 ) + + + rule ( selector ( "breakpoint(string)" ) => 4028997266 ) + + + rule ( selector ( "breakpoint(string,bool)" ) => 4157840013 ) + + + rule ( selector ( "broadcast()" ) => 2949218368 ) + + + rule ( selector ( "broadcast(address)" ) => 3868601563 ) + + + rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) + + + rule ( selector ( "closeFile(string)" ) => 1220748319 ) + + + rule ( selector ( "createDir(string,bool)" ) => 378234067 ) + + + rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) + + + rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) + + + rule ( selector ( "envAddress(string)" ) => 890066623 ) + + + rule ( selector ( "envAddress(string,string)" ) => 2905717242 ) + + + rule ( selector ( "envBool(string)" ) => 2127686781 ) + + + rule ( selector ( "envBool(string,string)" ) => 2863521455 ) + + + rule ( selector ( "envBytes(string)" ) => 1299951366 ) + + + rule ( selector ( "envBytes(string,string)" ) => 3720504603 ) + + + rule ( selector ( "envBytes32(string)" ) => 2543095874 ) + + + rule ( selector ( "envBytes32(string,string)" ) => 1525821889 ) + + + rule ( selector ( "envInt(string)" ) => 2301234273 ) + + + rule ( selector ( "envInt(string,string)" ) => 1108873552 ) + + + rule ( selector ( "envOr(string,address)" ) => 1444930880 ) + + + rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) + + + rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) + + + rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) + + + rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) + + + rule ( selector ( "envOr(string,string)" ) => 3510989676 ) + + + rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) + + + rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) + + + rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) + + + rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) + + + rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) + + + rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) + + + rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) + + + rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) + + + rule ( selector ( "envString(string)" ) => 4168600345 ) + + + rule ( selector ( "envString(string,string)" ) => 347089865 ) + + + rule ( selector ( "envUint(string)" ) => 3247934751 ) + + + rule ( selector ( "envUint(string,string)" ) => 4091461785 ) + + + rule ( selector ( "ffi(string[])" ) => 2299921511 ) + + + rule ( selector ( "fsMetadata(string)" ) => 2939587080 ) + + + rule ( selector ( "getCode(string)" ) => 2367473957 ) + + + rule ( selector ( "getDeployedCode(string)" ) => 1052734388 ) + + + rule ( selector ( "getLabel(address)" ) => 681724336 ) + + + rule ( selector ( "getNonce(address)" ) => 755185067 ) + + + rule ( selector ( "getRecordedLogs()" ) => 420828068 ) + + + rule ( selector ( "label(address,string)" ) => 3327641368 ) + + + rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) + + + rule ( selector ( "parseAddress(string)" ) => 3335390621 ) + + + rule ( selector ( "parseBool(string)" ) => 2538535204 ) + + + rule ( selector ( "parseBytes(string)" ) => 2405245741 ) + + + rule ( selector ( "parseBytes32(string)" ) => 142503553 ) + + + rule ( selector ( "parseInt(string)" ) => 1110731870 ) + + + rule ( selector ( "parseJson(string)" ) => 1786929162 ) + + + rule ( selector ( "parseJson(string,string)" ) => 2241072881 ) + + + rule ( selector ( "parseJsonAddress(string,string)" ) => 505013847 ) + + + rule ( selector ( "parseJsonAddressArray(string,string)" ) => 802060419 ) + + + rule ( selector ( "parseJsonBool(string,string)" ) => 2676415633 ) + + + rule ( selector ( "parseJsonBoolArray(string,string)" ) => 2448669007 ) + + + rule ( selector ( "parseJsonBytes(string,string)" ) => 4254211048 ) + + + rule ( selector ( "parseJsonBytes32(string,string)" ) => 393733533 ) + + + rule ( selector ( "parseJsonBytes32Array(string,string)" ) => 2445761475 ) + + + rule ( selector ( "parseJsonBytesArray(string,string)" ) => 1714530969 ) + + + rule ( selector ( "parseJsonInt(string,string)" ) => 2063895757 ) + + + rule ( selector ( "parseJsonIntArray(string,string)" ) => 2575549066 ) + + + rule ( selector ( "parseJsonString(string,string)" ) => 1237646024 ) + + + rule ( selector ( "parseJsonStringArray(string,string)" ) => 1234164980 ) + + + rule ( selector ( "parseJsonUint(string,string)" ) => 2916999862 ) + + + rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) + + + rule ( selector ( "parseUint(string)" ) => 4203824461 ) + + + rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) + + + rule ( selector ( "projectRoot()" ) => 3643842790 ) + + + rule ( selector ( "readDir(string)" ) => 3300678112 ) + + + rule ( selector ( "readDir(string,uint64)" ) => 345474924 ) + + + rule ( selector ( "readDir(string,uint64,bool)" ) => 2164446989 ) + + + rule ( selector ( "readFile(string)" ) => 1626979089 ) + + + rule ( selector ( "readFileBinary(string)" ) => 384662468 ) + + + rule ( selector ( "readLine(string)" ) => 1895126824 ) + + + rule ( selector ( "readLink(string)" ) => 2673247394 ) + + + rule ( selector ( "record()" ) => 644673801 ) + + + rule ( selector ( "recordLogs()" ) => 1101999954 ) + + + rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) + + + rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) + + + rule ( selector ( "removeFile(string)" ) => 4054835277 ) + + + rule ( selector ( "resumeGasMetering()" ) => 734875872 ) + + + rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) + + + rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) + + + rule ( selector ( "rpcUrls()" ) => 2824504344 ) + + + rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) + + + rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) + + + rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) + + + rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) + + + rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) + + + rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) + + + rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) + + + rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) + + + rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) + + + rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) + + + rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) + + + rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) + + + rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) + + + rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) + + + rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) + + + rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + + + rule ( selector ( "startBroadcast()" ) => 2142579071 ) + + + rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) + + + rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) + + + rule ( selector ( "stopBroadcast()" ) => 1995103542 ) + + + rule ( selector ( "toString(address)" ) => 1456103998 ) + + + rule ( selector ( "toString(bool)" ) => 1910302682 ) + + + rule ( selector ( "toString(bytes)" ) => 1907020045 ) + + + rule ( selector ( "toString(bytes32)" ) => 2971277800 ) + + + rule ( selector ( "toString(int256)" ) => 2736964622 ) + + + rule ( selector ( "toString(uint256)" ) => 1761649582 ) + + + rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) + + + rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) + + + rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) + + + rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) + + + rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%VmSafe.0.8.15)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + + + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kaccesses_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kaddr_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kassume_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbreakpoint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbreakpoint_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbroadcast_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbroadcast_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KcloseFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KcreateDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KderiveKey_string_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KderiveKey_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_int256_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvString_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvString_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvUint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvUint_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kffi_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KfsMetadata_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetCode_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetDeployedCode_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetLabel_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetNonce_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetRecordedLogs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Klabel_address_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kload_address_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJson_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJson_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonAddressArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBoolArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytes32Array_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytesArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonIntArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonString_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonStringArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonUint_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonUintArray_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseUint_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KpauseGasMetering_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KprojectRoot_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadDir_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadDir_string_uint64)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadDir_string_uint64_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadFileBinary_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadLine_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadLink_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Krecord_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrecordLogs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrememberKey_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KremoveDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KremoveFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KresumeGasMetering_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrpcUrl_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrpcUrlStructs_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrpcUrls_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeAddress_string_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeAddress_string_string_address_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBool_string_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBool_string_string_bool_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes_string_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes_string_string_bytes_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes32_string_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes32_string_string_bytes32_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeInt_string_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeInt_string_string_int256_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeString_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeString_string_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeUint_string_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeUint_string_string_uint256_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KsetEnv_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Ksign_uint256_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstartBroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstartBroadcast_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstartBroadcast_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstopBroadcast_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteFile_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteFileBinary_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteJson_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteJson_string_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteLine_string_string)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_target ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( selector ( "recordLogs()" ) => 1101999954 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) + ensures #rangeBool ( V0_condition ) - rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) - rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) + ensures #rangeBool ( V1_value ) - rule ( selector ( "removeFile(string)" ) => 4054835277 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) - rule ( selector ( "resetNonce(address)" ) => 477246573 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_signer ) - rule ( selector ( "resumeGasMetering()" ) => 734875872 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( selector ( "revertTo(uint256)" ) => 1155002532 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) - rule ( selector ( "revokePersistent(address)" ) => 2574909986 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + ensures #rangeBool ( V1_recursive ) - rule ( selector ( "revokePersistent(address[])" ) => 1021929958 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) + ensures #rangeUInt ( 32 , V2_index ) - rule ( selector ( "roll(uint256)" ) => 528174896 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) + ensures #rangeUInt ( 32 , V1_index ) - rule ( selector ( "rollFork(bytes32)" ) => 254375723 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "rollFork(uint256)" ) => 3652973473 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "rollFork(uint256,bytes32)" ) => 4068675451 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "rollFork(uint256,uint256)" ) => 3612115876 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "rpcUrls()" ) => 2824504344 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "selectFork(uint256)" ) => 2663344167 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeAddress ( V1_defaultValue ) - rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeBool ( V1_defaultValue ) - rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) - rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V1_defaultValue ) - rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V1_defaultValue ) - rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) - rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V2_defaultValue_0 ) + andBool ( #rangeAddress ( V2_defaultValue_1 ) + )) - rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V2_defaultValue_0 ) + andBool ( #rangeBool ( V2_defaultValue_1 ) + )) - rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) + andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) + )) - rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) + )) - rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) + )) - rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) + )) - rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V1_defaultValue ) - rule ( selector ( "setNonceUnsafe(address,uint64)" ) => 2607264284 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "skip(bool)" ) => 3716337982 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) - rule ( selector ( "snapshot()" ) => 2534502746 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - rule ( selector ( "startBroadcast()" ) => 2142579071 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) - rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) - rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - rule ( selector ( "startPrank(address)" ) => 105151830 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) - rule ( selector ( "stopBroadcast()" ) => 1995103542 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) - rule ( selector ( "stopPrank()" ) => 2428830011 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) - rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_account ) - rule ( selector ( "toString(address)" ) => 1456103998 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeBytes ( 32 , V1_slot ) + )) - rule ( selector ( "toString(bool)" ) => 1910302682 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( selector ( "toString(bytes)" ) => 1907020045 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( selector ( "toString(bytes32)" ) => 2971277800 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( selector ( "toString(int256)" ) => 2736964622 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( selector ( "toString(uint256)" ) => 1761649582 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - rule ( selector ( "transact(bytes32)" ) => 3194252705 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) - rule ( selector ( "transact(uint256,bytes32)" ) => 1300937803 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) - rule ( selector ( "txGasPrice(uint256)" ) => 1224018959 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( selector ( "warp(uint256)" ) => 3856056066 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmSafe-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeContract - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeContract ::= "S2KlibZModforgeZSubstdZModsrcZModVmSafe" [symbol(""), klabel(contract_lib%forge-std%src%VmSafe)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmSafe ) => #parseByteStack ( "0x" ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeContract "." S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod [function, symbol(""), klabel(method_lib%forge-std%src%VmSafe)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kaccesses_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kaddr_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kassume_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbreakpoint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbreakpoint_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbroadcast_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbroadcast_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KcloseFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KcreateDir_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KderiveKey_string_string_uint32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KderiveKey_string_uint32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvAddress_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvAddress_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBool_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBool_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes32_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes32_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvInt_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvInt_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_int256_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvString_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvString_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvUint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvUint_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kffi_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KfsMetadata_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetCode_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetDeployedCode_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetLabel_address)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetNonce_address)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetRecordedLogs_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Klabel_address_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kload_address_bytes32)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , V1_maxDepth ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseAddress_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , V1_maxDepth ) + andBool ( #rangeBool ( V2_followLinks ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseBool_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseBytes_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseBytes32_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseInt_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJson_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJson_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonAddress_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonAddressArray_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + ensures #rangeBool ( V1_recursive ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBool_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBoolArray_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytes_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytes32_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytes32Array_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytesArray_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) + ensures #rangeAddress ( V2_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonInt_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeAddress ( V2_values_0 ) + andBool ( #rangeAddress ( V2_values_1 ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonIntArray_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) + ensures #rangeBool ( V2_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonString_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBool ( V2_values_0 ) + andBool ( #rangeBool ( V2_values_1 ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonStringArray_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonUint_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonUintArray_string_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V2_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseUint_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeBytes ( 32 , V2_values_0 ) + andBool ( #rangeBytes ( 32 , V2_values_1 ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KpauseGasMetering_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V2_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KprojectRoot_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeSInt ( 256 , V2_values_0 ) + andBool ( #rangeSInt ( 256 , V2_values_1 ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadDir_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadDir_string_uint64)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadDir_string_uint64_bool)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V2_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadFile_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V2_values_0 ) + andBool ( #rangeUInt ( 256 , V2_values_1 ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadFileBinary_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadLine_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) + ensures ( #rangeUInt ( 256 , V0_privateKey ) + andBool ( #rangeBytes ( 32 , V1_digest ) + )) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadLink_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Krecord_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_signer ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrecordLogs_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrememberKey_uint256)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KremoveDir_string_bool)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) + ensures #rangeAddress ( V0_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KremoveFile_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) + ensures #rangeBool ( V0_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KresumeGasMetering_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrpcUrl_string)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) + ensures #rangeBytes ( 32 , V0_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrpcUrlStructs_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) + ensures #rangeSInt ( 256 , V0_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrpcUrls_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) + ensures #rangeUInt ( 256 , V0_value ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeAddress_string_string_address)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeAddress_string_string_address_address)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBool_string_string_bool)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBool_string_string_bool_bool)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes_string_string_bytes)] + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes_string_string_bytes_bytes)] + rule ( selector ( "accesses(address)" ) => 1706857601 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes32_string_string_bytes32)] + rule ( selector ( "addr(uint256)" ) => 4288775753 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes32_string_string_bytes32_bytes32)] + rule ( selector ( "assume(bool)" ) => 1281615202 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeInt_string_string_int256)] + rule ( selector ( "breakpoint(string)" ) => 4028997266 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeInt_string_string_int256_int256)] + rule ( selector ( "breakpoint(string,bool)" ) => 4157840013 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeString_string_string_string)] + rule ( selector ( "broadcast()" ) => 2949218368 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeString_string_string_string_string)] + rule ( selector ( "broadcast(address)" ) => 3868601563 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeUint_string_string_uint256)] + rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeUint_string_string_uint256_uint256)] + rule ( selector ( "closeFile(string)" ) => 1220748319 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KsetEnv_string_string)] + rule ( selector ( "createDir(string,bool)" ) => 378234067 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Ksign_uint256_bytes32)] + rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstartBroadcast_)] + rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstartBroadcast_address)] + rule ( selector ( "envAddress(string)" ) => 890066623 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstartBroadcast_uint256)] + rule ( selector ( "envAddress(string,string)" ) => 2905717242 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstopBroadcast_)] + rule ( selector ( "envBool(string)" ) => 2127686781 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_address)] + rule ( selector ( "envBool(string,string)" ) => 2863521455 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_bool)] + rule ( selector ( "envBytes(string)" ) => 1299951366 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_bytes)] + rule ( selector ( "envBytes(string,string)" ) => 3720504603 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_bytes32)] + rule ( selector ( "envBytes32(string)" ) => 2543095874 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_int256)] + rule ( selector ( "envBytes32(string,string)" ) => 1525821889 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_uint256)] + rule ( selector ( "envInt(string)" ) => 2301234273 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteFile_string_string)] + rule ( selector ( "envInt(string,string)" ) => 1108873552 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteFileBinary_string_bytes)] + rule ( selector ( "envOr(string,address)" ) => 1444930880 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteJson_string_string)] + rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteJson_string_string_string)] + rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteLine_string_string)] + rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) + - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_target ) + rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) + rule ( selector ( "envOr(string,string)" ) => 3510989676 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) - ensures #rangeBool ( V0_condition ) + rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) + rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) - ensures #rangeBool ( V1_value ) + rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) + rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_signer ) + rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) + rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) + rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) - ensures #rangeUInt ( 32 , V2_index ) + rule ( selector ( "envString(string)" ) => 4168600345 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) - ensures #rangeUInt ( 32 , V1_index ) + rule ( selector ( "envString(string,string)" ) => 347089865 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "envUint(string)" ) => 3247934751 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "envUint(string,string)" ) => 4091461785 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "ffi(string[])" ) => 2299921511 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "fsMetadata(string)" ) => 2939587080 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "getCode(string)" ) => 2367473957 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "getDeployedCode(string)" ) => 1052734388 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "getLabel(address)" ) => 681724336 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "getNonce(address)" ) => 755185067 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "getRecordedLogs()" ) => 420828068 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "label(address,string)" ) => 3327641368 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeAddress ( V1_defaultValue ) + rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeBool ( V1_defaultValue ) + rule ( selector ( "parseAddress(string)" ) => 3335390621 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) + rule ( selector ( "parseBool(string)" ) => 2538535204 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_defaultValue ) + rule ( selector ( "parseBytes(string)" ) => 2405245741 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V1_defaultValue ) + rule ( selector ( "parseBytes32(string)" ) => 142503553 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) + rule ( selector ( "parseInt(string)" ) => 1110731870 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V2_defaultValue_0 ) - andBool ( #rangeAddress ( V2_defaultValue_1 ) - )) + rule ( selector ( "parseJson(string)" ) => 1786929162 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_defaultValue_0 ) - andBool ( #rangeBool ( V2_defaultValue_1 ) - )) + rule ( selector ( "parseJson(string,string)" ) => 2241072881 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) - andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) - )) + rule ( selector ( "parseJsonAddress(string,string)" ) => 505013847 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) - )) + rule ( selector ( "parseJsonAddressArray(string,string)" ) => 802060419 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) - )) + rule ( selector ( "parseJsonBool(string,string)" ) => 2676415633 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( selector ( "parseJsonBoolArray(string,string)" ) => 2448669007 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) - )) + rule ( selector ( "parseJsonBytes(string,string)" ) => 4254211048 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_defaultValue ) + rule ( selector ( "parseJsonBytes32(string,string)" ) => 393733533 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "parseJsonBytes32Array(string,string)" ) => 2445761475 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "parseJsonBytesArray(string,string)" ) => 1714530969 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) + rule ( selector ( "parseJsonInt(string,string)" ) => 2063895757 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( selector ( "parseJsonIntArray(string,string)" ) => 2575549066 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( selector ( "parseJsonString(string,string)" ) => 1237646024 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "parseJsonStringArray(string,string)" ) => 1234164980 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( selector ( "parseJsonUint(string,string)" ) => 2916999862 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) + rule ( selector ( "parseUint(string)" ) => 4203824461 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) + rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + rule ( selector ( "projectRoot()" ) => 3643842790 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) + rule ( selector ( "readDir(string)" ) => 3300678112 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeBytes ( 32 , V1_slot ) - )) + rule ( selector ( "readDir(string,uint64)" ) => 345474924 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( selector ( "readDir(string,uint64,bool)" ) => 2164446989 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( selector ( "readFile(string)" ) => 1626979089 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( selector ( "readFileBinary(string)" ) => 384662468 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( selector ( "readLine(string)" ) => 1895126824 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( selector ( "readLink(string)" ) => 2673247394 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) + rule ( selector ( "record()" ) => 644673801 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) + rule ( selector ( "recordLogs()" ) => 1101999954 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "removeFile(string)" ) => 4054835277 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "resumeGasMetering()" ) => 734875872 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "rpcUrls()" ) => 2824504344 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , V1_maxDepth ) + rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V1_maxDepth ) - andBool ( #rangeBool ( V2_followLinks ) - )) + rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + rule ( selector ( "startBroadcast()" ) => 2142579071 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) + rule ( selector ( "stopBroadcast()" ) => 1995103542 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) + rule ( selector ( "toString(address)" ) => 1456103998 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( selector ( "toString(bool)" ) => 1910302682 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + rule ( selector ( "toString(bytes)" ) => 1907020045 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + rule ( selector ( "toString(bytes32)" ) => 2971277800 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + rule ( selector ( "toString(int256)" ) => 2736964622 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + rule ( selector ( "toString(uint256)" ) => 1761649582 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) - ensures #rangeAddress ( V2_value ) + rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V2_values_0 ) - andBool ( #rangeAddress ( V2_values_1 ) - )) + rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) - ensures #rangeBool ( V2_value ) + rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_values_0 ) - andBool ( #rangeBool ( V2_values_1 ) - )) + rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) + rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%console.0.8.13)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) - )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V2_value ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122055cb7f21d69d5a68626bed666b69adc58fdc46d700fc111b3a1cc03e01c56ffd64736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%console.0.8.15)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_values_0 ) - andBool ( #rangeBytes ( 32 , V2_values_1 ) - )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V2_value ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201d25d05e8da19a5a52a88623f169ba7b5f6e46e4aad0bc3c9b81153df6fe05f664736f6c634300080f0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%console2.0.8.13)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_values_0 ) - andBool ( #rangeSInt ( 256 , V2_values_1 ) - )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220960f8d81933cd5ebe21cd13b3acc336b566f7139bfa3f0613418e5412003e06164736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%console2.0.8.15)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V2_value ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f94436be188e3ea27cfcdf912a1f3a428b921b82abf4286d5cbd9d0ff2f08c0364736f6c634300080f0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%safeconsole.0.8.13)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_values_0 ) - andBool ( #rangeUInt ( 256 , V2_values_1 ) - )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209a2d4663758ab2478722148cf51761578af92021d18dfb13347d86a29c38717f64736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15Contract + + syntax S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%safeconsole.0.8.15)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_privateKey ) - andBool ( #rangeBytes ( 32 , V1_digest ) - )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122026e1380d587291c9b302a499255950bc5e48ae3847c723d5a857861c80a483fd64736f6c634300080f0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Contract + + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%lib%ds-test%src%DSTest.0.8.13)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102598061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ca565b60408051601f198184030181529082905261012c916101ee565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b50915050808060200190518101906101869190610201565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b818111156101bf576000828601525b509290920192915050565b6001600160e01b03198316815260006101e6600483018461018f565b949350505050565b60006101fa828461018f565b9392505050565b60006020828403121561021357600080fd5b815180151581146101fa57600080fdfea2646970667358221220acd34c7900a0f78b52ca6e76525777d2bb4ff172d44682161ada1b655e2ff2cb64736f6c634300080d0033" ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + syntax Field ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Field + + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.13_IS_TEST)] + + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.13__failed)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . IS_TEST ) => 0 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_value ) + rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . _failed ) => 0 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) - ensures #rangeBool ( V0_value ) + syntax Bytes ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.13)] + + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.13_S2KISZUndTEST_)] + + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.13_S2Kfailed_)] + + rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) + rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_value ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V0_value ) + rule ( selector ( "failed()" ) => 3124842406 ) + +endmodule + +module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_value ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Contract - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%lib%ds-test%src%DSTest.0.8.15)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102598061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ca565b60408051601f198184030181529082905261012c916101ee565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b50915050808060200190518101906101869190610201565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b818111156101bf576000828601525b509290920192915050565b6001600160e01b03198316815260006101e6600483018461018f565b949350505050565b60006101fa828461018f565b9392505050565b60006020828403121561021357600080fd5b815180151581146101fa57600080fdfea264697066735822122088d875cadb59210b84c489a34361bfd4f42e88d54985628896053500caa4781464736f6c634300080f0033" ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) - + syntax Field ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Field - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.15_IS_TEST)] - rule ( selector ( "accesses(address)" ) => 1706857601 ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.15__failed)] - rule ( selector ( "addr(uint256)" ) => 4288775753 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . IS_TEST ) => 0 ) - rule ( selector ( "assume(bool)" ) => 1281615202 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . _failed ) => 0 ) - rule ( selector ( "breakpoint(string)" ) => 4028997266 ) - + syntax Bytes ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.15)] - rule ( selector ( "breakpoint(string,bool)" ) => 4157840013 ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.15_S2KISZUndTEST_)] - rule ( selector ( "broadcast()" ) => 2949218368 ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.15_S2Kfailed_)] - rule ( selector ( "broadcast(address)" ) => 3868601563 ) + rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) + rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( selector ( "closeFile(string)" ) => 1220748319 ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( selector ( "createDir(string,bool)" ) => 378234067 ) + rule ( selector ( "failed()" ) => 3124842406 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-CONTRACT + imports public FOUNDRY - rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Contract - rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%Test.0.8.13)] - rule ( selector ( "envAddress(string)" ) => 890066623 ) - rule ( selector ( "envAddress(string,string)" ) => 2905717242 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - rule ( selector ( "envBool(string)" ) => 2127686781 ) - + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field - rule ( selector ( "envBool(string,string)" ) => 2863521455 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_stdstore)] - rule ( selector ( "envBytes(string)" ) => 1299951366 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_IS_TEST)] - rule ( selector ( "envBytes(string,string)" ) => 3720504603 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__failed)] - rule ( selector ( "envBytes32(string)" ) => 2543095874 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_stdChainsInitialized)] - rule ( selector ( "envBytes32(string,string)" ) => 1525821889 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_chains)] - rule ( selector ( "envInt(string)" ) => 2301234273 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_defaultRpcUrls)] - rule ( selector ( "envInt(string,string)" ) => 1108873552 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_idToAlias)] - rule ( selector ( "envOr(string,address)" ) => 1444930880 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_fallbackToDefaultRpcUrls)] - rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_gasMeteringOff)] - rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__excludedContracts)] - rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__excludedSenders)] - rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedContracts)] - rule ( selector ( "envOr(string,string)" ) => 3510989676 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedSenders)] - rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__excludedArtifacts)] - rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedArtifacts)] - rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedArtifactSelectors)] - rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedSelectors)] - rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . stdstore ) => 0 ) - rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . IS_TEST ) => 7 ) - rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _failed ) => 7 ) - rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . stdChainsInitialized ) => 7 ) - rule ( selector ( "envString(string)" ) => 4168600345 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . chains ) => 8 ) - rule ( selector ( "envString(string,string)" ) => 347089865 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . defaultRpcUrls ) => 9 ) - rule ( selector ( "envUint(string)" ) => 3247934751 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . idToAlias ) => 10 ) - rule ( selector ( "envUint(string,string)" ) => 4091461785 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . fallbackToDefaultRpcUrls ) => 11 ) - rule ( selector ( "ffi(string[])" ) => 2299921511 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . gasMeteringOff ) => 11 ) - rule ( selector ( "fsMetadata(string)" ) => 2939587080 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _excludedContracts ) => 19 ) - rule ( selector ( "getCode(string)" ) => 2367473957 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _excludedSenders ) => 20 ) - rule ( selector ( "getDeployedCode(string)" ) => 1052734388 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedContracts ) => 21 ) - rule ( selector ( "getLabel(address)" ) => 681724336 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedSenders ) => 22 ) - rule ( selector ( "getNonce(address)" ) => 755185067 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _excludedArtifacts ) => 23 ) - rule ( selector ( "getRecordedLogs()" ) => 420828068 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedArtifacts ) => 24 ) - rule ( selector ( "label(address,string)" ) => 3327641368 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedArtifactSelectors ) => 25 ) - rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedSelectors ) => 26 ) - rule ( selector ( "parseAddress(string)" ) => 3335390621 ) - + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13)] - rule ( selector ( "parseBool(string)" ) => 2538535204 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KISZUndTEST_)] - rule ( selector ( "parseBytes(string)" ) => 2405245741 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KexcludeArtifacts_)] - rule ( selector ( "parseBytes32(string)" ) => 142503553 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KexcludeContracts_)] - rule ( selector ( "parseInt(string)" ) => 1110731870 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KexcludeSenders_)] - rule ( selector ( "parseJson(string)" ) => 1786929162 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2Kfailed_)] - rule ( selector ( "parseJson(string,string)" ) => 2241072881 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetArtifactSelectors_)] - rule ( selector ( "parseJsonAddress(string,string)" ) => 505013847 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetArtifacts_)] - rule ( selector ( "parseJsonAddressArray(string,string)" ) => 802060419 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetContracts_)] - rule ( selector ( "parseJsonBool(string,string)" ) => 2676415633 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetSelectors_)] - rule ( selector ( "parseJsonBoolArray(string,string)" ) => 2448669007 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetSenders_)] - rule ( selector ( "parseJsonBytes(string,string)" ) => 4254211048 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( selector ( "parseJsonBytes32(string,string)" ) => 393733533 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( selector ( "parseJsonBytes32Array(string,string)" ) => 2445761475 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( selector ( "parseJsonBytesArray(string,string)" ) => 1714530969 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( selector ( "parseJsonInt(string,string)" ) => 2063895757 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( selector ( "parseJsonIntArray(string,string)" ) => 2575549066 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( selector ( "parseJsonString(string,string)" ) => 1237646024 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( selector ( "parseJsonStringArray(string,string)" ) => 1234164980 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( selector ( "parseJsonUint(string,string)" ) => 2916999862 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - rule ( selector ( "parseUint(string)" ) => 4203824461 ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - rule ( selector ( "projectRoot()" ) => 3643842790 ) + rule ( selector ( "excludeContracts()" ) => 3792478065 ) - rule ( selector ( "readDir(string)" ) => 3300678112 ) + rule ( selector ( "excludeSenders()" ) => 517440284 ) - rule ( selector ( "readDir(string,uint64)" ) => 345474924 ) + rule ( selector ( "failed()" ) => 3124842406 ) - rule ( selector ( "readDir(string,uint64,bool)" ) => 2164446989 ) + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - rule ( selector ( "readFile(string)" ) => 1626979089 ) + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - rule ( selector ( "readFileBinary(string)" ) => 384662468 ) + rule ( selector ( "targetContracts()" ) => 1064470260 ) - rule ( selector ( "readLine(string)" ) => 1895126824 ) + rule ( selector ( "targetSelectors()" ) => 2439649222 ) - rule ( selector ( "readLink(string)" ) => 2673247394 ) + rule ( selector ( "targetSenders()" ) => 1046363171 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-CONTRACT + imports public FOUNDRY - rule ( selector ( "record()" ) => 644673801 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Contract - rule ( selector ( "recordLogs()" ) => 1101999954 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%Test.0.8.15)] - rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) - rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - rule ( selector ( "removeFile(string)" ) => 4054835277 ) - + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field - rule ( selector ( "resumeGasMetering()" ) => 734875872 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_stdstore)] - rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_IS_TEST)] - rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__failed)] - rule ( selector ( "rpcUrls()" ) => 2824504344 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_stdChainsInitialized)] - rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_chains)] - rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_defaultRpcUrls)] - rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_idToAlias)] - rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_fallbackToDefaultRpcUrls)] - rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_gasMeteringOff)] - rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__excludedContracts)] - rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__excludedSenders)] - rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedContracts)] - rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedSenders)] - rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__excludedArtifacts)] - rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedArtifacts)] - rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedArtifactSelectors)] - rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedSelectors)] - rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . stdstore ) => 0 ) - rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . IS_TEST ) => 7 ) - rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _failed ) => 7 ) - rule ( selector ( "startBroadcast()" ) => 2142579071 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . stdChainsInitialized ) => 7 ) - rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . chains ) => 8 ) - rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . defaultRpcUrls ) => 9 ) - rule ( selector ( "stopBroadcast()" ) => 1995103542 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . idToAlias ) => 10 ) - rule ( selector ( "toString(address)" ) => 1456103998 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . fallbackToDefaultRpcUrls ) => 11 ) - rule ( selector ( "toString(bool)" ) => 1910302682 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . gasMeteringOff ) => 11 ) - rule ( selector ( "toString(bytes)" ) => 1907020045 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _excludedContracts ) => 19 ) - rule ( selector ( "toString(bytes32)" ) => 2971277800 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _excludedSenders ) => 20 ) - rule ( selector ( "toString(int256)" ) => 2736964622 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedContracts ) => 21 ) - rule ( selector ( "toString(uint256)" ) => 1761649582 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedSenders ) => 22 ) - rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _excludedArtifacts ) => 23 ) - rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedArtifacts ) => 24 ) - rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedArtifactSelectors ) => 25 ) - rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedSelectors ) => 26 ) - rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsole-CONTRACT - imports public FOUNDRY + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsoleContract + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KISZUndTEST_)] - syntax S2KlibZModforgeZSubstdZModsrcZModconsoleContract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole" [symbol(""), klabel(contract_lib%forge-std%src%console)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KexcludeArtifacts_)] - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KexcludeContracts_)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122055cb7f21d69d5a68626bed666b69adc58fdc46d700fc111b3a1cc03e01c56ffd64736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsole2-CONTRACT - imports public FOUNDRY + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KexcludeSenders_)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsole2Contract + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2Kfailed_)] - syntax S2KlibZModforgeZSubstdZModsrcZModconsole2Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole2" [symbol(""), klabel(contract_lib%forge-std%src%console2)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetArtifactSelectors_)] - + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetArtifacts_)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole2 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220960f8d81933cd5ebe21cd13b3acc336b566f7139bfa3f0613418e5412003e06164736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModsafeconsole-CONTRACT - imports public FOUNDRY + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetContracts_)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModsafeconsoleContract + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModsafeconsoleContract ::= "S2KlibZModforgeZSubstdZModsrcZModsafeconsole" [symbol(""), klabel(contract_lib%forge-std%src%safeconsole)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetSenders_)] + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModsafeconsole ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209a2d4663758ab2478722148cf51761578af92021d18dfb13347d86a29c38717f64736f6c634300080d0033" ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestContract + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestContract ::= "S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest" [symbol(""), klabel(contract_lib%forge-std%lib%ds-test%src%DSTest)] + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102598061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ca565b60408051601f198184030181529082905261012c916101ee565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b50915050808060200190518101906101869190610201565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b818111156101bf576000828601525b509290920192915050565b6001600160e01b03198316815260006101e6600483018461018f565b949350505050565b60006101fa828461018f565b9392505050565b60006020828403121561021357600080fd5b815180151581146101fa57600080fdfea2646970667358221220acd34c7900a0f78b52ca6e76525777d2bb4ff172d44682161ada1b655e2ff2cb64736f6c634300080d0033" ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestField + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest_IS_TEST)] + rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest__failed)] + rule ( selector ( "IS_TEST()" ) => 4202047188 ) + - rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . IS_TEST ) => 0 ) + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . _failed ) => 0 ) + rule ( selector ( "excludeContracts()" ) => 3792478065 ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestContract "." S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestMethod [function, symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest)] + rule ( selector ( "excludeSenders()" ) => 517440284 ) + - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest_S2KISZUndTEST_)] + rule ( selector ( "failed()" ) => 3124842406 ) + - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest_S2Kfailed_)] + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + - rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( selector ( "targetContracts()" ) => 1064470260 ) - rule ( selector ( "IS_TEST()" ) => 4202047188 ) + rule ( selector ( "targetSelectors()" ) => 2439649222 ) - rule ( selector ( "failed()" ) => 3124842406 ) + rule ( selector ( "targetSenders()" ) => 1046363171 ) endmodule diff --git a/src/tests/integration/test-data/show/foundry.k.expected b/src/tests/integration/test-data/show/foundry.k.expected index e8cb060af..29dfef5b9 100644 --- a/src/tests/integration/test-data/show/foundry.k.expected +++ b/src/tests/integration/test-data/show/foundry.k.expected @@ -15,9 +15,12 @@ module FOUNDRY-MAIN imports public S2KsrcZModArithmeticContract-VERIFICATION imports public S2KtestZModAssumeTest-VERIFICATION imports public S2KtestZModBMCLoopsTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModCommonBase-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModScriptBase-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestBase-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-VERIFICATION imports public S2KtestZModBlockParamsTest-VERIFICATION imports public S2KtestZModChainIdTest-VERIFICATION imports public S2KtestZModCoinBaseTest-VERIFICATION @@ -50,11 +53,14 @@ module FOUNDRY-MAIN imports public S2KtestZModFreshIntTest-VERIFICATION imports public S2KtestZModGasTest-VERIFICATION imports public S2KtestZModGetCodeTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-VERIFICATION imports public S2KtestZModInitCodeTest-VERIFICATION imports public S2KtestZModInitCodeBranchTest-VERIFICATION - imports public S2KsrcZModKEVMCheats-VERIFICATION - imports public S2KsrcZModKEVMCheatsBase-VERIFICATION + imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-VERIFICATION imports public S2KtestZModLabelTest-VERIFICATION imports public S2KtestZModLoopsTest-VERIFICATION imports public S2KtestZModMergeTest-VERIFICATION @@ -67,14 +73,13 @@ module FOUNDRY-MAIN imports public S2KsrcZModMyIERC20-VERIFICATION imports public S2KsrcZModMyToken-VERIFICATION imports public S2KtestZModNoImport-VERIFICATION + imports public S2KsrcZModOptimismPortal-VERIFICATION + imports public S2KtestZModOptimismPortalKontrol-VERIFICATION imports public S2KsrcZModOwnerUpOnly-VERIFICATION imports public S2KtestZModOwnerUpOnlyTest-VERIFICATION imports public S2KtestZModAdditionalToken-VERIFICATION imports public S2KtestZModMyErc20-VERIFICATION imports public S2KtestZModPlainPrankTest-VERIFICATION - imports public S2KsrcZModPortal-VERIFICATION - imports public S2KsrcZModTypes-VERIFICATION - imports public S2KtestZModPortalTest-VERIFICATION imports public S2KsrcZModPrank-VERIFICATION imports public S2KtestZModPrankTest-VERIFICATION imports public S2KtestZModPrankTestMsgSender-VERIFICATION @@ -91,23 +96,34 @@ module FOUNDRY-MAIN imports public S2KtestZModSignTest-VERIFICATION imports public S2KtestZModAssertTest-VERIFICATION imports public S2KtestZModSnapshotTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertions-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdChains-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheats-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdError-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariant-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdJson-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdMath-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorage-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdStyle-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdUtils-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-VERIFICATION imports public S2KtestZModStore-VERIFICATION imports public S2KtestZModStoreTest-VERIFICATION imports public S2KtestZModSymbolicStorageTest-VERIFICATION imports public S2KtestZModSymbolicStore-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION imports public S2KsrcZModTestNumber-VERIFICATION imports public S2KtestZModToStringTest-VERIFICATION imports public S2KsrcZModToken-VERIFICATION @@ -115,12 +131,21 @@ module FOUNDRY-MAIN imports public S2KtestZModIntTypeTest-VERIFICATION imports public S2KtestZModStructTypeTest-VERIFICATION imports public S2KtestZModUintTypeTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVm-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmSafe-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole2-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsole-VERIFICATION - imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION + imports public S2KsrcZModlibrariesZModTypes-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-VERIFICATION @@ -210,22 +235,43 @@ module S2KtestZModBMCLoopsTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModCommonBase-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModCommonBase-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModScriptBase-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModScriptBase-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModTestBase-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestBase-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-CONTRACT @@ -455,8 +501,15 @@ module S2KtestZModGetCodeTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-CONTRACT @@ -476,15 +529,29 @@ module S2KtestZModInitCodeBranchTest-VERIFICATION endmodule -module S2KsrcZModKEVMCheats-VERIFICATION - imports public S2KsrcZModKEVMCheats-CONTRACT +module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-VERIFICATION + imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KsrcZModKEVMCheatsBase-VERIFICATION - imports public S2KsrcZModKEVMCheatsBase-CONTRACT +module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-CONTRACT @@ -610,22 +677,15 @@ module S2KtestZModPlainPrankTest-VERIFICATION endmodule -module S2KsrcZModPortal-VERIFICATION - imports public S2KsrcZModPortal-CONTRACT +module S2KsrcZModOptimismPortal-VERIFICATION + imports public S2KsrcZModOptimismPortal-CONTRACT endmodule -module S2KsrcZModTypes-VERIFICATION - imports public S2KsrcZModTypes-CONTRACT - - - -endmodule - -module S2KtestZModPortalTest-VERIFICATION - imports public S2KtestZModPortalTest-CONTRACT +module S2KtestZModOptimismPortalKontrol-VERIFICATION + imports public S2KtestZModOptimismPortalKontrol-CONTRACT imports public PAUSABILITY-LEMMAS @@ -744,85 +804,169 @@ module S2KtestZModSnapshotTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdAssertions-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertions-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdChains-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdChains-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdCheats-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheats-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdError-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdError-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdInvariant-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariant-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdJson-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdJson-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdMath-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdMath-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdStorage-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorage-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdStyle-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdStyle-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdUtils-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdUtils-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-CONTRACT @@ -854,13 +998,6 @@ module S2KtestZModSymbolicStore-VERIFICATION -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT - - - endmodule module S2KsrcZModTestNumber-VERIFICATION @@ -912,43 +1049,106 @@ module S2KtestZModUintTypeTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModVm-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT +module S2KsrcZModlibrariesZModTypes-VERIFICATION + imports public S2KsrcZModlibrariesZModTypes-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-CONTRACT + + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModVmSafe-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmSafe-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModconsole-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole-CONTRACT +module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModconsole2-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole2-CONTRACT +module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModsafeconsole-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsole-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-CONTRACT diff --git a/src/tests/integration/test_foundry_prove.py b/src/tests/integration/test_foundry_prove.py index 93b920021..fcf33a895 100644 --- a/src/tests/integration/test_foundry_prove.py +++ b/src/tests/integration/test_foundry_prove.py @@ -84,7 +84,7 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo foundry=Foundry(foundry_root), includes=(), requires=[str(TEST_DATA_DIR / 'sum-to-n-lemmas.k'), str(TEST_DATA_DIR / 'pausability-lemmas.k')], - imports=['LoopsTest:SUM-TO-N-INVARIANT', 'PortalTest:PAUSABILITY-LEMMAS'], + imports=['LoopsTest:SUM-TO-N-INVARIANT', 'OptimismPortalKontrol:PAUSABILITY-LEMMAS'], ) session_foundry_root = tmp_path_factory.mktemp('foundry') From e0742cfb2ea08211fff7a64ef783a26055ec9d51 Mon Sep 17 00:00:00 2001 From: devops Date: Tue, 5 Mar 2024 08:12:54 +0000 Subject: [PATCH 12/28] Set Version: 0.1.180 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index f4fdeb66b..2005625e8 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.179 +0.1.180 diff --git a/pyproject.toml b/pyproject.toml index 59a2a61b5..da1590f24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.179" +version = "0.1.180" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index ea7dbbf01..87f1aded2 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.179' +VERSION: Final = '0.1.180' From ccd9d74135e94ffc3ec5823d613a0d7b3b519087 Mon Sep 17 00:00:00 2001 From: devops Date: Wed, 6 Mar 2024 14:50:05 +0000 Subject: [PATCH 13/28] Set Version: 0.1.185 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index c3ba241b6..8fe4a535a 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.184 +0.1.185 diff --git a/pyproject.toml b/pyproject.toml index 8ea084dfa..73263fb60 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.184" +version = "0.1.185" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 69df8e738..b4dfa7918 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.184' +VERSION: Final = '0.1.185' From 665f0cc9a0276170c9cf612ef98112f500afd62b Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Wed, 6 Mar 2024 23:44:03 +0800 Subject: [PATCH 14/28] Upstreamed simplified `PortalTest` --- .../integration/test-data/foundry-prove-all | 2 +- .../test-data/foundry-prove-skip-legacy | 2 +- .../test-data/foundry/src/OptimismPortal.sol | 43 - .../test-data/foundry/src/Portal.sol | 50 + .../test-data/foundry/src/libraries/Types.sol | 70 - .../foundry/test/OptimismPortalKontrol.t.sol | 33 - .../test-data/foundry/test/PortalTest.sol | 27 + .../test-data/pausability-lemmas.k | 50 +- .../test-data/show/contracts.k.expected | 9238 +++++------------ .../test-data/show/foundry.k.expected | 378 +- src/tests/integration/test_foundry_prove.py | 2 +- 11 files changed, 2920 insertions(+), 6975 deletions(-) delete mode 100644 src/tests/integration/test-data/foundry/src/OptimismPortal.sol create mode 100644 src/tests/integration/test-data/foundry/src/Portal.sol delete mode 100644 src/tests/integration/test-data/foundry/src/libraries/Types.sol delete mode 100644 src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol create mode 100644 src/tests/integration/test-data/foundry/test/PortalTest.sol diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index 2a702c799..048bffc4d 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -181,7 +181,7 @@ PlainPrankTest.test_startPrankWithOrigin_true() PlainPrankTest.test_startPrank_zeroAddress_true() PlainPrankTest.test_stopPrank_notExistent() PlainPrankTest.test_prank_expectRevert() -OptimismPortalKontrol.test_finalizeWithdrawalTransaction_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) +PortalTest.test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) PrankTest.testAddAsOwner(uint256) PrankTest.testAddStartPrank(uint256) PrankTest.testFailAddPrank(uint256) diff --git a/src/tests/integration/test-data/foundry-prove-skip-legacy b/src/tests/integration/test-data/foundry-prove-skip-legacy index fe780d3e5..bec93743b 100644 --- a/src/tests/integration/test-data/foundry-prove-skip-legacy +++ b/src/tests/integration/test-data/foundry-prove-skip-legacy @@ -180,7 +180,7 @@ PlainPrankTest.test_prank_zeroAddress_true() PlainPrankTest.test_startPrank_true() PlainPrankTest.test_startPrankWithOrigin_true() PlainPrankTest.test_startPrank_zeroAddress_true() -OptimismPortalKontrol.test_finalizeWithdrawalTransaction_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) +PortalTest.test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[]) PrankTestMsgSender.test_msgsender_setup() PrankTestOrigin.test_origin_setup() PrankTest.testAddAsOwner(uint256) diff --git a/src/tests/integration/test-data/foundry/src/OptimismPortal.sol b/src/tests/integration/test-data/foundry/src/OptimismPortal.sol deleted file mode 100644 index 3944c8d3b..000000000 --- a/src/tests/integration/test-data/foundry/src/OptimismPortal.sol +++ /dev/null @@ -1,43 +0,0 @@ -pragma solidity 0.8.15; - -import { Types } from "./libraries/Types.sol"; - -contract OptimismPortal { - - bool paused; - - /// @notice Emitted when the pause is triggered. - /// @param account Address of the account triggering the pause. - event Paused(address account); - - /// @notice Emitted when the pause is lifted. - /// @param account Address of the account triggering the unpause. - event Unpaused(address account); - - /// @notice Reverts when paused. - modifier whenNotPaused() { - require(paused == false, "OptimismPortal: paused"); - _; - } - - // TODO: supplementary function for easier verification - function pause() external { - paused = true; - } - - /// @notice Proves a withdrawal transaction. - /// @param _tx Withdrawal transaction to finalize. - /// @param _l2OutputIndex L2 output index to prove against. - /// @param _outputRootProof Inclusion proof of the L2ToL1MessagePasser contract's storage root. - /// @param _withdrawalProof Inclusion proof of the withdrawal in L2ToL1MessagePasser contract. - function proveWithdrawalTransaction( - Types.WithdrawalTransaction memory _tx, - uint256 _l2OutputIndex, - Types.OutputRootProof calldata _outputRootProof, - bytes[] calldata _withdrawalProof - ) - external - whenNotPaused - { - } -} diff --git a/src/tests/integration/test-data/foundry/src/Portal.sol b/src/tests/integration/test-data/foundry/src/Portal.sol new file mode 100644 index 000000000..0f41c4103 --- /dev/null +++ b/src/tests/integration/test-data/foundry/src/Portal.sol @@ -0,0 +1,50 @@ +pragma solidity =0.8.13; + +library Types { + struct OutputRootProof { + bytes32 version; + bytes32 stateRoot; + bytes32 messagePasserStorageRoot; + bytes32 latestBlockhash; + } + + struct WithdrawalTransaction { + uint256 nonce; + address sender; + address target; + uint256 value; + uint256 gasLimit; + bytes data; + } +} + +contract Portal { + bool paused; + + /// @notice Emitted when a withdrawal transaction is proven. + event WithdrawalProven(address indexed from, address indexed to); + + /// @notice Reverts when paused. + modifier whenNotPaused() { + require(paused == false, "OptimismPortal: paused"); + _; + } + + constructor() { + paused = true; + } + + /// @notice Proves a withdrawal transaction. + function proveWithdrawalTransaction( + Types.WithdrawalTransaction memory _tx, + uint256 _l2OutputIndex, + Types.OutputRootProof calldata _outputRootProof, + bytes[] calldata _withdrawalProof + ) + external + whenNotPaused + { + // Emit a `WithdrawalProven` event. + emit WithdrawalProven(_tx.sender, _tx.target); + } +} diff --git a/src/tests/integration/test-data/foundry/src/libraries/Types.sol b/src/tests/integration/test-data/foundry/src/libraries/Types.sol deleted file mode 100644 index 36582d5d3..000000000 --- a/src/tests/integration/test-data/foundry/src/libraries/Types.sol +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -/// @title Types -/// @notice Contains various types used throughout the Optimism contract system. -library Types { - /// @notice OutputProposal represents a commitment to the L2 state. The timestamp is the L1 - /// timestamp that the output root is posted. This timestamp is used to verify that the - /// finalization period has passed since the output root was submitted. - /// @custom:field outputRoot Hash of the L2 output. - /// @custom:field timestamp Timestamp of the L1 block that the output root was submitted in. - /// @custom:field l2BlockNumber L2 block number that the output corresponds to. - struct OutputProposal { - bytes32 outputRoot; - uint128 timestamp; - uint128 l2BlockNumber; - } - - /// @notice Struct representing the elements that are hashed together to generate an output root - /// which itself represents a snapshot of the L2 state. - /// @custom:field version Version of the output root. - /// @custom:field stateRoot Root of the state trie at the block of this output. - /// @custom:field messagePasserStorageRoot Root of the message passer storage trie. - /// @custom:field latestBlockhash Hash of the block this output was generated from. - struct OutputRootProof { - bytes32 version; - bytes32 stateRoot; - bytes32 messagePasserStorageRoot; - bytes32 latestBlockhash; - } - - /// @notice Struct representing a deposit transaction (L1 => L2 transaction) created by an end - /// user (as opposed to a system deposit transaction generated by the system). - /// @custom:field from Address of the sender of the transaction. - /// @custom:field to Address of the recipient of the transaction. - /// @custom:field isCreation True if the transaction is a contract creation. - /// @custom:field value Value to send to the recipient. - /// @custom:field mint Amount of ETH to mint. - /// @custom:field gasLimit Gas limit of the transaction. - /// @custom:field data Data of the transaction. - /// @custom:field l1BlockHash Hash of the block the transaction was submitted in. - /// @custom:field logIndex Index of the log in the block the transaction was submitted in. - struct UserDepositTransaction { - address from; - address to; - bool isCreation; - uint256 value; - uint256 mint; - uint64 gasLimit; - bytes data; - bytes32 l1BlockHash; - uint256 logIndex; - } - - /// @notice Struct representing a withdrawal transaction. - /// @custom:field nonce Nonce of the withdrawal transaction - /// @custom:field sender Address of the sender of the transaction. - /// @custom:field target Address of the recipient of the transaction. - /// @custom:field value Value to send to the recipient. - /// @custom:field gasLimit Gas limit of the transaction. - /// @custom:field data Data of the transaction. - struct WithdrawalTransaction { - uint256 nonce; - address sender; - address target; - uint256 value; - uint256 gasLimit; - bytes data; - } -} diff --git a/src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol b/src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol deleted file mode 100644 index a38cd6099..000000000 --- a/src/tests/integration/test-data/foundry/test/OptimismPortalKontrol.t.sol +++ /dev/null @@ -1,33 +0,0 @@ -pragma solidity ^0.8.13; - -import { Vm } from "lib/forge-std/src/Vm.sol"; -import { Types } from "src/libraries/Types.sol"; - -import { OptimismPortal } from "../src/OptimismPortal.sol"; - -contract OptimismPortalKontrol { - address private constant VM_ADDRESS = address(uint160(uint256(keccak256("hevm cheat code")))); - Vm private constant vm = Vm(VM_ADDRESS); - OptimismPortal optimismPortal; - - function setUp() public{ - optimismPortal = new OptimismPortal(); - } - - /// @custom:kontrol-array-length-equals _withdrawalProof: 2, - /// @custom:kontrol-bytes-length-equals _withdrawalProof: 32, - function test_finalizeWithdrawalTransaction_paused( - Types.WithdrawalTransaction memory _tx, - uint256 _l2OutputIndex, - Types.OutputRootProof calldata _outputRootProof, - bytes[] calldata _withdrawalProof - ) - external - { - optimismPortal.pause(); - - vm.expectRevert(); - optimismPortal.proveWithdrawalTransaction(_tx, _l2OutputIndex, _outputRootProof, _withdrawalProof); - } -} - diff --git a/src/tests/integration/test-data/foundry/test/PortalTest.sol b/src/tests/integration/test-data/foundry/test/PortalTest.sol new file mode 100644 index 000000000..6cd6a9a8f --- /dev/null +++ b/src/tests/integration/test-data/foundry/test/PortalTest.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity =0.8.13; + +import "forge-std/Test.sol"; +import "../src/Portal.sol"; + +contract PortalTest is Test { + Portal portalContract; + + function setUp() public { + portalContract = new Portal(); + } + + /// @custom:kontrol-array-length-equals _withdrawalProof: 1, + /// @custom:kontrol-bytes-length-equals _withdrawalProof: 32, + function test_withdrawal_paused( + Types.WithdrawalTransaction memory _tx, + uint256 _l2OutputIndex, + Types.OutputRootProof calldata _outputRootProof, + bytes[] calldata _withdrawalProof + ) + external + { + vm.expectRevert(); + portalContract.proveWithdrawalTransaction(_tx, _l2OutputIndex, _outputRootProof, _withdrawalProof); + } +} \ No newline at end of file diff --git a/src/tests/integration/test-data/pausability-lemmas.k b/src/tests/integration/test-data/pausability-lemmas.k index 8d3a57d97..01bc7d161 100644 --- a/src/tests/integration/test-data/pausability-lemmas.k +++ b/src/tests/integration/test-data/pausability-lemmas.k @@ -141,45 +141,30 @@ module PAUSABILITY-LEMMAS [symbolic] // from the requires and not from the structure // copy-memory-to-memory - rule [copy-memory-to-memory-summary]: + rule [test-copy-memory-to-memory-summary]: #execute ... false SHANGHAI JUMPDESTS - // The whole program is fully symbolic, and the executed portion is determined from the original program + // The program and program counter are symbolic, focusing on the part we will be executing (CP) PROGRAM - PCOUNT => PCOUNT +Int lengthBytes(CP) + PCOUNT => PCOUNT +Int 44 // The word stack has the appropriate form, as per the compiled code - LENGTH : SRC : STEP : DEST : WS => LENGTH : SRC : STEP : 0 : DEST : WS + SRC : DEST : LENGTH : WS // The program copies LENGTH bytes of memory from SRC +Int 32 to DEST +Int OFFSET, // padded with 32 zeros in case LENGTH is not divisible by 32 - LM => LM [ DEST +Int OFFSET := #range ( LM, SRC +Int 32, LENGTH ) +Bytes - #buf ( ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) , 0 ) +Bytes - #buf ( ( ( ( 32 -Int ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) ) ) modInt 32 ), 0 ) ] + LM => LM [ DEST := #range ( LM, SRC, LENGTH ) +Bytes + #buf ( ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) , 0 ) +Bytes + #buf ( ( ( ( 32 -Int ( ( notMaxUInt5 &Int ( LENGTH +Int maxUInt5 ) ) -Int LENGTH ) ) ) modInt 32 ), 0 ) ] - // OP is the program corresponding to the original compiled EVM bytecode, starting from program counter 1427 - requires OP ==K b"`\x00\x92\x91\x90\x83[\x81\x81\x10\x15a\x05\xb6W\x82\x81\x01\x84\x01Q\x86\x82\x01a\x01\xc0\x01R\x83\x01a\x05\x99V[\x81\x81\x11\x15a\x05\xc9W`\x00a\x01\xc0\x83\x88\x01\x01R[P" - // The execution effectively starts from CP - andBool CP ==K #range(PROGRAM, PCOUNT, lengthBytes(OP)) - // OFFSET_BYTES and OFFSET represent a symbolic offset, generalizing the concrete hardcoded offset (448). - andBool OFFSET_BYTES ==K #range(CP, 25, 2) - andBool OFFSET ==Int #asWord ( OFFSET_BYTES ) - + requires // The current program we are executing differs from the original one only in the hardcoded jump addresses, // which are now relative to PCOUNT, and the hardcoded offset, which is now symbolic. - andBool CP ==K OP - [ 12 := #buf(2, PCOUNT +Int 35) ] - [ 25 := OFFSET_BYTES ] - [ 32 := #buf(2, PCOUNT +Int 6) ] - [ 41 := #buf(2, PCOUNT +Int 54) ] - [ 47 := OFFSET_BYTES ] - - // STEP always equals 32 as the memory is copied in chunks of 32 bytes - // This equality is placed in the requires clause instead of in the LHS - // of the config directly to enable unification of the LHS to pass trivially, - // speeding up the execution - andBool STEP ==Int 32 + #range(PROGRAM, PCOUNT, 44) ==K b"[`\x00[\x83\x81\x10\x15a\n\x9fW\x81\x81\x01Q\x83\x82\x01R` \x01a\n\x87V[\x83\x81\x11\x15a\n\xaeW`\x00\x84\x84\x01R[P" + [ 09 := #buf(2, PCOUNT +Int 27) ] + [ 24 := #buf(2, PCOUNT +Int 3) ] + [ 33 := #buf(2, PCOUNT +Int 42) ] // Various well-formedness constraints. In particular, the maxBytesLength-related ones are present to // remove various chops that would otherwise creep into the execution, and are reasonable since byte @@ -188,14 +173,13 @@ module PAUSABILITY-LEMMAS [symbolic] andBool 0 <=Int LENGTH andBool LENGTH #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModCommonBase ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseField - syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%CommonBase.0.8.13_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%CommonBase_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13 . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModCommonBase . stdstore ) => 0 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModScriptBase-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseContract - syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%CommonBase.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseContract ::= "S2KlibZModforgeZSubstdZModsrcZModScriptBase" [symbol(""), klabel(contract_lib%forge-std%src%ScriptBase)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModScriptBase ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseField - syntax S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%CommonBase.0.8.15_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%ScriptBase_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15 . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModScriptBase . stdstore ) => 0 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModTestBase-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseContract - syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%ScriptBase.0.8.13)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseContract ::= "S2KlibZModforgeZSubstdZModsrcZModTestBase" [symbol(""), klabel(contract_lib%forge-std%src%TestBase)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestBase ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseField - syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%ScriptBase.0.8.13_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%TestBase_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13 . stdstore ) => 0 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%ScriptBase.0.8.15)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Field - - syntax S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%ScriptBase.0.8.15_stdstore)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15 . stdstore ) => 0 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%TestBase.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Field - - syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%TestBase.0.8.13_stdstore)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13 . stdstore ) => 0 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%TestBase.0.8.15)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Field - - syntax S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%TestBase.0.8.15_stdstore)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15 . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestBase . stdstore ) => 0 ) endmodule @@ -4021,7 +3958,7 @@ module S2KtestZModCounter-CONTRACT - rule ( #initBytecode ( S2KtestZModCounter ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220e80a38e9145ddfc7a68edd97e724f3ff2a5e257df754cf79c3261e97b822641e64736f6c634300080f0033" ) ) + rule ( #initBytecode ( S2KtestZModCounter ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122070d88430bfb9338d7edf04e583c08eeab03f97f5e6fac4ee86294a29e113093664736f6c634300080d0033" ) ) syntax Field ::= S2KtestZModCounterField @@ -4069,7 +4006,7 @@ module S2KtestZModCounterTest-CONTRACT - rule ( #initBytecode ( S2KtestZModCounterTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b5061112d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063916a17c61161008c578063ba414fa611610066578063ba414fa61461019f578063d6a2ec76146101b7578063e20c9f71146101de578063fa7626d4146101e657600080fd5b8063916a17c614610187578063b5508aa91461018f578063b913a5ca1461019757600080fd5b806361bc221a116100c857806361bc221a1461011d57806366d9a9a01461014857806370f985be1461015d57806385226c811461017257600080fd5b80631ed7831c146100ef5780633e5e3c231461010d5780633f7286f414610115575b600080fd5b6100f76101f3565b6040516101049190610d55565b60405180910390f35b6100f7610255565b6100f76102b5565b601b54610130906001600160a01b031681565b6040516001600160a01b039091168152602001610104565b610150610315565b6040516101049190610da2565b61017061016b366004610e55565b610404565b005b61017a61057c565b6040516101049190610e9e565b61015061064c565b61017a610732565b610170610802565b6101a7610984565b6040519015158152602001610104565b6101307f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6100f7610ab1565b6007546101a79060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561024b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161022d575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103e357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103a55790505b50505050508152505081526020019060010190610339565b50505050905090565b60405161041090610d48565b604051809103906000f08015801561042c573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b5050601b54604051633fb5c1cb60e01b8152600481018590526001600160a01b039091169250633fb5c1cb9150602401600060405180830381600087803b1580156104e157600080fd5b505af11580156104f5573d6000803e3d6000fd5b50505050610579601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190610f18565b82610b11565b50565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103fb5783829060005260206000200180546105bf90610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb90610f31565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b5050505050815260200190600101906105a0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561071a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106dc5790505b50505050508152505081526020019060010190610670565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103fb57838290600052602060002001805461077590610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546107a190610f31565b80156107ee5780601f106107c3576101008083540402835291602001916107ee565b820191906000526020600020905b8154815290600101906020018083116107d157829003601f168201915b505050505081526020019060010190610756565b60405161080e90610d48565b604051809103906000f08015801561082a573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b50505050601b60009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b50505050610982601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f18565b6001610b11565b565b600754600090610100900460ff16156109a65750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610aac5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610a34917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610f6b565b60408051601f1981840301815290829052610a4e91610f9c565b6000604051808303816000865af19150503d8060008114610a8b576040519150601f19603f3d011682016040523d82523d6000602084013e610a90565b606091505b5091505080806020019051810190610aa89190610fb8565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b808214610c38577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610b829060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610c38610c3c565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d375760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610cd69291602001610f6b565b60408051601f1981840301815290829052610cf091610f9c565b6000604051808303816000865af19150503d8060008114610d2d576040519150601f19603f3d011682016040523d82523d6000602084013e610d32565b606091505b505050505b6007805461ff001916610100179055565b61011680610fe283390190565b6020808252825182820181905260009190848201906040850190845b81811015610d965783516001600160a01b031683529284019291840191600101610d71565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610e4657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610e315783516001600160e01b0319168252928b019260019290920191908b0190610e07565b50978a01979550505091870191600101610dca565b50919998505050505050505050565b600060208284031215610e6757600080fd5b5035919050565b60005b83811015610e89578181015183820152602001610e71565b83811115610e98576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610f0b57878503603f1901845281518051808752610eec818989018a8501610e6e565b601f01601f191695909501860194509285019290850190600101610ec5565b5092979650505050505050565b600060208284031215610f2a57600080fd5b5051919050565b600181811c90821680610f4557607f821691505b602082108103610f6557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610f8e816004850160208701610e6e565b919091016004019392505050565b60008251610fae818460208701610e6e565b9190910192915050565b600060208284031215610fca57600080fd5b81518015158114610fda57600080fd5b939250505056fe608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220e80a38e9145ddfc7a68edd97e724f3ff2a5e257df754cf79c3261e97b822641e64736f6c634300080f0033a26469706673582212209496ba1750caac9d326a3e8fee6a2d14918fc7766f62b17485cbb9995ff62bfe64736f6c634300080f0033" ) ) + rule ( #initBytecode ( S2KtestZModCounterTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b5061112d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063916a17c61161008c578063ba414fa611610066578063ba414fa61461019f578063d6a2ec76146101b7578063e20c9f71146101de578063fa7626d4146101e657600080fd5b8063916a17c614610187578063b5508aa91461018f578063b913a5ca1461019757600080fd5b806361bc221a116100c857806361bc221a1461011d57806366d9a9a01461014857806370f985be1461015d57806385226c811461017257600080fd5b80631ed7831c146100ef5780633e5e3c231461010d5780633f7286f414610115575b600080fd5b6100f76101f3565b6040516101049190610d55565b60405180910390f35b6100f7610255565b6100f76102b5565b601b54610130906001600160a01b031681565b6040516001600160a01b039091168152602001610104565b610150610315565b6040516101049190610da2565b61017061016b366004610e55565b610404565b005b61017a61057c565b6040516101049190610e9e565b61015061064c565b61017a610732565b610170610802565b6101a7610984565b6040519015158152602001610104565b6101307f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6100f7610ab1565b6007546101a79060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561024b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161022d575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103e357602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103a55790505b50505050508152505081526020019060010190610339565b50505050905090565b60405161041090610d48565b604051809103906000f08015801561042c573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561048357600080fd5b505af1158015610497573d6000803e3d6000fd5b5050601b54604051633fb5c1cb60e01b8152600481018590526001600160a01b039091169250633fb5c1cb9150602401600060405180830381600087803b1580156104e157600080fd5b505af11580156104f5573d6000803e3d6000fd5b50505050610579601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190610f18565b82610b11565b50565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103fb5783829060005260206000200180546105bf90610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546105eb90610f31565b80156106385780601f1061060d57610100808354040283529160200191610638565b820191906000526020600020905b81548152906001019060200180831161061b57829003601f168201915b5050505050815260200190600101906105a0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103fb5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561071a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106dc5790505b50505050508152505081526020019060010190610670565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103fb57838290600052602060002001805461077590610f31565b80601f01602080910402602001604051908101604052809291908181526020018280546107a190610f31565b80156107ee5780601f106107c3576101008083540402835291602001916107ee565b820191906000526020600020905b8154815290600101906020018083116107d157829003601f168201915b505050505081526020019060010190610756565b60405161080e90610d48565b604051809103906000f08015801561082a573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b03929092169182179055604051633fb5c1cb60e01b815260006004820152633fb5c1cb90602401600060405180830381600087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b50505050601b60009054906101000a90046001600160a01b03166001600160a01b031663d09de08a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108e957600080fd5b505af11580156108fd573d6000803e3d6000fd5b50505050610982601b60009054906101000a90046001600160a01b03166001600160a01b0316638381f58a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190610f18565b6001610b11565b565b600754600090610100900460ff16156109a65750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610aac5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610a34917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610f6b565b60408051601f1981840301815290829052610a4e91610f9c565b6000604051808303816000865af19150503d8060008114610a8b576040519150601f19603f3d011682016040523d82523d6000602084013e610a90565b606091505b5091505080806020019051810190610aa89190610fb8565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801561024b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161022d575050505050905090565b808214610c38577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610b829060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610c38610c3c565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d375760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610cd69291602001610f6b565b60408051601f1981840301815290829052610cf091610f9c565b6000604051808303816000865af19150503d8060008114610d2d576040519150601f19603f3d011682016040523d82523d6000602084013e610d32565b606091505b505050505b6007805461ff001916610100179055565b61011680610fe283390190565b6020808252825182820181905260009190848201906040850190845b81811015610d965783516001600160a01b031683529284019291840191600101610d71565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610e4657898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610e315783516001600160e01b0319168252928b019260019290920191908b0190610e07565b50978a01979550505091870191600101610dca565b50919998505050505050505050565b600060208284031215610e6757600080fd5b5035919050565b60005b83811015610e89578181015183820152602001610e71565b83811115610e98576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610f0b57878503603f1901845281518051808752610eec818989018a8501610e6e565b601f01601f191695909501860194509285019290850190600101610ec5565b5092979650505050505050565b600060208284031215610f2a57600080fd5b5051919050565b600181811c90821680610f4557607f821691505b602082108103610f6557634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610f8e816004850160208701610e6e565b919091016004019392505050565b60008251610fae818460208701610e6e565b9190910192915050565b600060208284031215610fca57600080fd5b81518015158114610fda57600080fd5b939250505056fe608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122070d88430bfb9338d7edf04e583c08eeab03f97f5e6fac4ee86294a29e113093664736f6c634300080d0033a26469706673582212206e6ec879900c820f249c7ee6f0741c9fc97c534f8ff33930f854e1d12966c29d64736f6c634300080d0033" ) ) syntax Field ::= S2KtestZModCounterTestField @@ -7319,237 +7256,53 @@ module S2KtestZModGetCodeTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%interfaces%IMulticall3.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - - - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2Kaggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2Kaggregate_address_bytes_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2Kaggregate3" "(" Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2Kaggregate3_address_bool_bytes_address_bool_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2Kaggregate3Value" "(" Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2Kaggregate3Value_address_bool_uint256_bytes_address_bool_uint256_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KblockAndAggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KblockAndAggregate_address_bytes_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetBasefee" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetBasefee_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetBlockHash" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetBlockHash_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetBlockNumber" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetBlockNumber_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetChainId" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetChainId_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockCoinbase" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockCoinbase_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockDifficulty" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockDifficulty_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockGasLimit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockGasLimit_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetCurrentBlockTimestamp" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetCurrentBlockTimestamp_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetEthBalance" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetEthBalance_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KgetLastBlockHash" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KgetLastBlockHash_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KtryAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KtryAggregate_bool_address_bytes_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13Method ::= "S2KtryBlockAndAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.13_S2KtryBlockAndAggregate_bool_address_bytes_address_bytes)] - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2Kaggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "aggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target_0 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) - andBool ( #rangeAddress ( V0_target_1 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_1 ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2Kaggregate3 ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_callData_1 : bytes ) => #abiCallData ( "aggregate3" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target_0 ) - andBool ( #rangeBool ( V1_allowFailure_0 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) - andBool ( #rangeAddress ( V0_target_1 ) - andBool ( #rangeBool ( V1_allowFailure_1 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_1 ) ) - )))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2Kaggregate3Value ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_value_0 : uint256 , V3_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_value_1 : uint256 , V3_callData_1 : bytes ) => #abiCallData ( "aggregate3Value" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #uint256 ( V2_value_1 ) , #bytes ( V3_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target_0 ) - andBool ( #rangeBool ( V1_allowFailure_0 ) - andBool ( #rangeUInt ( 256 , V2_value_0 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_callData_0 ) ) - andBool ( #rangeAddress ( V0_target_1 ) - andBool ( #rangeBool ( V1_allowFailure_1 ) - andBool ( #rangeUInt ( 256 , V2_value_1 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_callData_1 ) ) - )))))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KblockAndAggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "blockAndAggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target_0 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) - andBool ( #rangeAddress ( V0_target_1 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_1 ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetBasefee ( ) => #abiCallData ( "getBasefee" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetBlockHash ( V0_blockNumber : uint256 ) => #abiCallData ( "getBlockHash" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_blockNumber ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetBlockNumber ( ) => #abiCallData ( "getBlockNumber" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetChainId ( ) => #abiCallData ( "getChainId" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockCoinbase ( ) => #abiCallData ( "getCurrentBlockCoinbase" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockDifficulty ( ) => #abiCallData ( "getCurrentBlockDifficulty" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockGasLimit ( ) => #abiCallData ( "getCurrentBlockGasLimit" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetCurrentBlockTimestamp ( ) => #abiCallData ( "getCurrentBlockTimestamp" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetEthBalance ( V0_addr : address ) => #abiCallData ( "getEthBalance" , #address ( V0_addr ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_addr ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KgetLastBlockHash ( ) => #abiCallData ( "getLastBlockHash" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KtryAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V0_requireSuccess ) - andBool ( #rangeAddress ( V1_target_0 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) - andBool ( #rangeAddress ( V1_target_1 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_1 ) ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13 . S2KtryBlockAndAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryBlockAndAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V0_requireSuccess ) - andBool ( #rangeAddress ( V1_target_0 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) - andBool ( #rangeAddress ( V1_target_1 ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_1 ) ) - ))))) - - - rule ( selector ( "aggregate((address,bytes)[])" ) => 623753794 ) - - - rule ( selector ( "aggregate3((address,bool,bytes)[])" ) => 2192398027 ) - - - rule ( selector ( "aggregate3Value((address,bool,uint256,bytes)[])" ) => 390982257 ) - - - rule ( selector ( "blockAndAggregate((address,bytes)[])" ) => 3272048553 ) - - - rule ( selector ( "getBasefee()" ) => 1046783638 ) - - - rule ( selector ( "getBlockHash(uint256)" ) => 4001541214 ) - - - rule ( selector ( "getBlockNumber()" ) => 1120645468 ) - - - rule ( selector ( "getChainId()" ) => 872998000 ) - - - rule ( selector ( "getCurrentBlockCoinbase()" ) => 2830128974 ) - - - rule ( selector ( "getCurrentBlockDifficulty()" ) => 1916951965 ) - - - rule ( selector ( "getCurrentBlockGasLimit()" ) => 2262111976 ) - - - rule ( selector ( "getCurrentBlockTimestamp()" ) => 254331261 ) - - - rule ( selector ( "getEthBalance(address)" ) => 1294139852 ) - - - rule ( selector ( "getLastBlockHash()" ) => 669543790 ) - - - rule ( selector ( "tryAggregate(bool,(address,bytes)[])" ) => 3169029079 ) - - - rule ( selector ( "tryBlockAndAggregate(bool,(address,bytes)[])" ) => 966083305 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Contract - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%interfaces%IMulticall3.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Contract ::= "S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3" [symbol(""), klabel(contract_lib%forge-std%src%interfaces%IMulticall3)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Contract "." S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method [function, symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2Kaggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2Kaggregate_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2Kaggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2Kaggregate_address_bytes_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2Kaggregate3" "(" Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2Kaggregate3_address_bool_bytes_address_bool_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2Kaggregate3" "(" Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2Kaggregate3_address_bool_bytes_address_bool_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2Kaggregate3Value" "(" Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2Kaggregate3Value_address_bool_uint256_bytes_address_bool_uint256_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2Kaggregate3Value" "(" Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "address" "," Int ":" "bool" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2Kaggregate3Value_address_bool_uint256_bytes_address_bool_uint256_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KblockAndAggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KblockAndAggregate_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KblockAndAggregate" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KblockAndAggregate_address_bytes_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetBasefee" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetBasefee_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetBasefee" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetBasefee_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetBlockHash" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetBlockHash_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetBlockHash" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetBlockHash_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetBlockNumber" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetBlockNumber_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetBlockNumber" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetBlockNumber_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetChainId" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetChainId_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetChainId" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetChainId_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockCoinbase" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockCoinbase_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockCoinbase" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockCoinbase_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockDifficulty" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockDifficulty_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockDifficulty" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockDifficulty_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockGasLimit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockGasLimit_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockGasLimit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockGasLimit_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetCurrentBlockTimestamp" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetCurrentBlockTimestamp_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetCurrentBlockTimestamp" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetCurrentBlockTimestamp_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetEthBalance" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetEthBalance_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetEthBalance" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetEthBalance_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KgetLastBlockHash" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KgetLastBlockHash_)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KgetLastBlockHash" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KgetLastBlockHash_)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KtryAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KtryAggregate_bool_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KtryAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KtryAggregate_bool_address_bytes_address_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15Method ::= "S2KtryBlockAndAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3.0.8.15_S2KtryBlockAndAggregate_bool_address_bytes_address_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3Method ::= "S2KtryBlockAndAggregate" "(" Int ":" "bool" "," Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%interfaces%IMulticall3_S2KtryBlockAndAggregate_bool_address_bytes_address_bytes)] - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2Kaggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "aggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2Kaggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "aggregate" , ( #array ( #tuple ( ( #address ( V0_target_0 ) , ( #bytes ( V1_callData_0 ) , .TypedArgs ) ) ) , 2 , ( #tuple ( ( #address ( V0_target_0 ) , ( #bytes ( V1_callData_0 ) , .TypedArgs ) ) ) , ( #tuple ( ( #address ( V0_target_1 ) , ( #bytes ( V1_callData_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) andBool ( #rangeAddress ( V0_target_1 ) @@ -7557,7 +7310,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot1 )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2Kaggregate3 ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_callData_1 : bytes ) => #abiCallData ( "aggregate3" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2Kaggregate3 ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_callData_1 : bytes ) => #abiCallData ( "aggregate3" , ( #array ( #tuple ( ( #address ( V0_target_0 ) , ( #bool ( V1_allowFailure_0 ) , ( #bytes ( V2_callData_0 ) , .TypedArgs ) ) ) ) , 2 , ( #tuple ( ( #address ( V0_target_0 ) , ( #bool ( V1_allowFailure_0 ) , ( #bytes ( V2_callData_0 ) , .TypedArgs ) ) ) ) , ( #tuple ( ( #address ( V0_target_1 ) , ( #bool ( V1_allowFailure_1 ) , ( #bytes ( V2_callData_1 ) , .TypedArgs ) ) ) ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeBool ( V1_allowFailure_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) @@ -7567,7 +7320,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot1 )))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2Kaggregate3Value ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_value_0 : uint256 , V3_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_value_1 : uint256 , V3_callData_1 : bytes ) => #abiCallData ( "aggregate3Value" , #array ( #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bool ( V1_allowFailure_0 ) , #uint256 ( V2_value_0 ) , #bytes ( V3_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bool ( V1_allowFailure_1 ) , #uint256 ( V2_value_1 ) , #bytes ( V3_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2Kaggregate3Value ( V0_target_0 : address , V1_allowFailure_0 : bool , V2_value_0 : uint256 , V3_callData_0 : bytes , V0_target_1 : address , V1_allowFailure_1 : bool , V2_value_1 : uint256 , V3_callData_1 : bytes ) => #abiCallData ( "aggregate3Value" , ( #array ( #tuple ( ( #address ( V0_target_0 ) , ( #bool ( V1_allowFailure_0 ) , ( #uint256 ( V2_value_0 ) , ( #bytes ( V3_callData_0 ) , .TypedArgs ) ) ) ) ) , 2 , ( #tuple ( ( #address ( V0_target_0 ) , ( #bool ( V1_allowFailure_0 ) , ( #uint256 ( V2_value_0 ) , ( #bytes ( V3_callData_0 ) , .TypedArgs ) ) ) ) ) , ( #tuple ( ( #address ( V0_target_1 ) , ( #bool ( V1_allowFailure_1 ) , ( #uint256 ( V2_value_1 ) , ( #bytes ( V3_callData_1 ) , .TypedArgs ) ) ) ) ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeBool ( V1_allowFailure_0 ) andBool ( #rangeUInt ( 256 , V2_value_0 ) @@ -7579,7 +7332,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot1 )))))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KblockAndAggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "blockAndAggregate" , #array ( #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V0_target_0 ) , #bytes ( V1_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V0_target_1 ) , #bytes ( V1_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KblockAndAggregate ( V0_target_0 : address , V1_callData_0 : bytes , V0_target_1 : address , V1_callData_1 : bytes ) => #abiCallData ( "blockAndAggregate" , ( #array ( #tuple ( ( #address ( V0_target_0 ) , ( #bytes ( V1_callData_0 ) , .TypedArgs ) ) ) , 2 , ( #tuple ( ( #address ( V0_target_0 ) , ( #bytes ( V1_callData_0 ) , .TypedArgs ) ) ) , ( #tuple ( ( #address ( V0_target_1 ) , ( #bytes ( V1_callData_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ensures ( #rangeAddress ( V0_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_callData_0 ) ) andBool ( #rangeAddress ( V0_target_1 ) @@ -7587,39 +7340,39 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot1 )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetBasefee ( ) => #abiCallData ( "getBasefee" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetBasefee ( ) => #abiCallData ( "getBasefee" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetBlockHash ( V0_blockNumber : uint256 ) => #abiCallData ( "getBlockHash" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetBlockHash ( V0_blockNumber : uint256 ) => #abiCallData ( "getBlockHash" , ( #uint256 ( V0_blockNumber ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_blockNumber ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetBlockNumber ( ) => #abiCallData ( "getBlockNumber" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetBlockNumber ( ) => #abiCallData ( "getBlockNumber" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetChainId ( ) => #abiCallData ( "getChainId" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetChainId ( ) => #abiCallData ( "getChainId" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockCoinbase ( ) => #abiCallData ( "getCurrentBlockCoinbase" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockCoinbase ( ) => #abiCallData ( "getCurrentBlockCoinbase" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockDifficulty ( ) => #abiCallData ( "getCurrentBlockDifficulty" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockDifficulty ( ) => #abiCallData ( "getCurrentBlockDifficulty" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockGasLimit ( ) => #abiCallData ( "getCurrentBlockGasLimit" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockGasLimit ( ) => #abiCallData ( "getCurrentBlockGasLimit" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetCurrentBlockTimestamp ( ) => #abiCallData ( "getCurrentBlockTimestamp" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetCurrentBlockTimestamp ( ) => #abiCallData ( "getCurrentBlockTimestamp" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetEthBalance ( V0_addr : address ) => #abiCallData ( "getEthBalance" , #address ( V0_addr ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetEthBalance ( V0_addr : address ) => #abiCallData ( "getEthBalance" , ( #address ( V0_addr ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_addr ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KgetLastBlockHash ( ) => #abiCallData ( "getLastBlockHash" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KgetLastBlockHash ( ) => #abiCallData ( "getLastBlockHash" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KtryAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KtryAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryAggregate" , ( #bool ( V0_requireSuccess ) , ( #array ( #tuple ( ( #address ( V1_target_0 ) , ( #bytes ( V2_callData_0 ) , .TypedArgs ) ) ) , 2 , ( #tuple ( ( #address ( V1_target_0 ) , ( #bytes ( V2_callData_0 ) , .TypedArgs ) ) ) , ( #tuple ( ( #address ( V1_target_1 ) , ( #bytes ( V2_callData_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ensures ( #rangeBool ( V0_requireSuccess ) andBool ( #rangeAddress ( V1_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) @@ -7628,7 +7381,7 @@ module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot1 ))))) - rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15 . S2KtryBlockAndAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryBlockAndAggregate" , #bool ( V0_requireSuccess ) , #array ( #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , 2 , #tuple ( #address ( V1_target_0 ) , #bytes ( V2_callData_0 ) , .TypedArgs ) , #tuple ( #address ( V1_target_1 ) , #bytes ( V2_callData_1 ) , .TypedArgs ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3 . S2KtryBlockAndAggregate ( V0_requireSuccess : bool , V1_target_0 : address , V2_callData_0 : bytes , V1_target_1 : address , V2_callData_1 : bytes ) => #abiCallData ( "tryBlockAndAggregate" , ( #bool ( V0_requireSuccess ) , ( #array ( #tuple ( ( #address ( V1_target_0 ) , ( #bytes ( V2_callData_0 ) , .TypedArgs ) ) ) , 2 , ( #tuple ( ( #address ( V1_target_0 ) , ( #bytes ( V2_callData_0 ) , .TypedArgs ) ) ) , ( #tuple ( ( #address ( V1_target_1 ) , ( #bytes ( V2_callData_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ensures ( #rangeBool ( V0_requireSuccess ) andBool ( #rangeAddress ( V1_target_0 ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_callData_0 ) ) @@ -8118,47 +7871,23 @@ module S2KtestZModInitCodeBranchTest-CONTRACT endmodule -module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Contract - - syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Contract ::= "S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_src%KEVMCheats.0.8.13)] - - - - rule ( #initBytecode ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - - - syntax Bytes ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Contract "." S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_src%KEVMCheats.0.8.13)] - - syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13Method ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_src%KEVMCheats.0.8.13_S2Kkevm_)] - - rule ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13 . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) - - - rule ( selector ( "kevm()" ) => 3601001590 ) - - -endmodule - -module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-CONTRACT +module S2KsrcZModKEVMCheats-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KsrcZModKEVMCheatsContract - syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Contract ::= "S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_src%KEVMCheats.0.8.15)] + syntax S2KsrcZModKEVMCheatsContract ::= "S2KsrcZModKEVMCheats" [symbol(""), klabel(contract_src%KEVMCheats)] - rule ( #initBytecode ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KsrcZModKEVMCheats ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Contract "." S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_src%KEVMCheats.0.8.15)] + syntax Bytes ::= S2KsrcZModKEVMCheatsContract "." S2KsrcZModKEVMCheatsMethod [function, symbol(""), klabel(method_src%KEVMCheats)] - syntax S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15Method ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_src%KEVMCheats.0.8.15_S2Kkevm_)] + syntax S2KsrcZModKEVMCheatsMethod ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_src%KEVMCheats_S2Kkevm_)] - rule ( S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15 . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheats . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) rule ( selector ( "kevm()" ) => 3601001590 ) @@ -8166,121 +7895,121 @@ module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-CONTRACT +module S2KsrcZModKEVMCheatsBase-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Contract + syntax Contract ::= S2KsrcZModKEVMCheatsBaseContract - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Contract ::= "S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13" [symbol(""), klabel(contract_src%KEVMCheatsBase.0.8.13)] + syntax S2KsrcZModKEVMCheatsBaseContract ::= "S2KsrcZModKEVMCheatsBase" [symbol(""), klabel(contract_src%KEVMCheatsBase)] - rule ( #initBytecode ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KsrcZModKEVMCheatsBase ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Contract "." S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13)] + syntax Bytes ::= S2KsrcZModKEVMCheatsBaseContract "." S2KsrcZModKEVMCheatsBaseMethod [function, symbol(""), klabel(method_src%KEVMCheatsBase)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KallowCallsToAddress" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KallowCallsToAddress_address)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KallowCallsToAddress" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KallowCallsToAddress_address)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KallowChangesToStorage" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KallowChangesToStorage_address_uint256)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KallowChangesToStorage" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KallowChangesToStorage_address_uint256)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectCreate" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectCreate_address_uint256_bytes)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectCreate" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectCreate_address_uint256_bytes)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectCreate2" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectCreate2_address_uint256_bytes)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectCreate2" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectCreate2_address_uint256_bytes)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectDelegateCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectDelegateCall_address_bytes)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectDelegateCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectDelegateCall_address_bytes)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectNoCall" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectNoCall_)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectNoCall" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectNoCall_)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectRegularCall_address_bytes)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectRegularCall_address_bytes)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectRegularCall_address_uint256_bytes)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectRegularCall_address_uint256_bytes)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KexpectStaticCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KexpectStaticCall_address_bytes)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KexpectStaticCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KexpectStaticCall_address_bytes)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KfreshBool" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KfreshBool_)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KfreshBool" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KfreshBool_)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KfreshBytes_uint256)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KfreshBytes_uint256)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KfreshUInt_uint8)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KfreshUInt_uint8)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KinfiniteGas" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KinfiniteGas_)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KinfiniteGas" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KinfiniteGas_)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KsetGas" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KsetGas_uint256)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KsetGas" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KsetGas_uint256)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13Method ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.13_S2KsymbolicStorage_address)] + syntax S2KsrcZModKEVMCheatsBaseMethod ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase_S2KsymbolicStorage_address)] - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , #address ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , ( #address ( V0_ ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_ ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KallowChangesToStorage ( V0_ : address , V1_ : uint256 ) => #abiCallData ( "allowChangesToStorage" , #address ( V0_ ) , #uint256 ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KallowChangesToStorage ( V0_ : address , V1_ : uint256 ) => #abiCallData ( "allowChangesToStorage" , ( #address ( V0_ ) , ( #uint256 ( V1_ ) , .TypedArgs ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) )) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectCreate ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectCreate ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate" , ( #address ( V0_ ) , ( #uint256 ( V1_ ) , ( #bytes ( V2_ ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) ))) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectCreate2 ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate2" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectCreate2 ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate2" , ( #address ( V0_ ) , ( #uint256 ( V1_ ) , ( #bytes ( V2_ ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) ))) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectDelegateCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectDelegateCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectDelegateCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectDelegateCall" , ( #address ( V0_ ) , ( #bytes ( V1_ ) , .TypedArgs ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) )) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectNoCall ( ) => #abiCallData ( "expectNoCall" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectNoCall ( ) => #abiCallData ( "expectNoCall" , .TypedArgs ) ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectRegularCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectRegularCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectRegularCall" , ( #address ( V0_ ) , ( #bytes ( V1_ ) , .TypedArgs ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) )) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectRegularCall ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectRegularCall ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectRegularCall" , ( #address ( V0_ ) , ( #uint256 ( V1_ ) , ( #bytes ( V2_ ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 256 , V1_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) ))) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KexpectStaticCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectStaticCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KexpectStaticCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectStaticCall" , ( #address ( V0_ ) , ( #bytes ( V1_ ) , .TypedArgs ) ) ) ) ensures ( #rangeAddress ( V0_ ) andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) )) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , #uint256 ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , ( #uint256 ( V0_ ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_ ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , #uint8 ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , ( #uint8 ( V0_ ) , .TypedArgs ) ) ) ensures #rangeUInt ( 8 , V0_ ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KsetGas ( V0_ : uint256 ) => #abiCallData ( "setGas" , #uint256 ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KsetGas ( V0_ : uint256 ) => #abiCallData ( "setGas" , ( #uint256 ( V0_ ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_ ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13 . S2KsymbolicStorage ( V0_ : address ) => #abiCallData ( "symbolicStorage" , #address ( V0_ ) , .TypedArgs ) ) + rule ( S2KsrcZModKEVMCheatsBase . S2KsymbolicStorage ( V0_ : address ) => #abiCallData ( "symbolicStorage" , ( #address ( V0_ ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_ ) @@ -8331,238 +8060,73 @@ module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-CONTRACT +module S2KtestZModLabelTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KtestZModLabelTestContract - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Contract ::= "S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15" [symbol(""), klabel(contract_src%KEVMCheatsBase.0.8.15)] + syntax S2KtestZModLabelTestContract ::= "S2KtestZModLabelTest" [symbol(""), klabel(contract_test%LabelTest)] - rule ( #initBytecode ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KtestZModLabelTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610ab18061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806385226c811161007157806385226c81146100fb578063916a17c614610110578063b5508aa914610118578063ba414fa614610120578063e20c9f7114610138578063fa7626d41461014057600080fd5b80631ed7831c146100ae5780632fa150bd146100cc5780633e5e3c23146100d65780633f7286f4146100de57806366d9a9a0146100e6575b600080fd5b6100b661014d565b6040516100c3919061080b565b60405180910390f35b6100d46101af565b005b6100b6610249565b6100b66102a9565b6100ee610309565b6040516100c39190610858565b6101036103f8565b6040516100c3919061093b565b6100ee6104c8565b6101036105ae565b61012861067e565b60405190151581526020016100c3565b6100b66107ab565b6007546101289060ff1681565b606060148054806020026020016040519081016040528092919081815260200182805480156101a557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610187575b5050505050905090565b604080516318caf8e360e31b8152600060048201526024810191909152600c60448201526b5a65726f204164647265737360a01b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506001610247576102476109b5565b565b606060168054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103d757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103995790505b5050505050815250508152602001906001019061032d565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103ef57838290600052602060002001805461043b906109cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610467906109cb565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b50505050508152602001906001019061041c565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561059657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105585790505b505050505081525050815260200190600101906104ec565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103ef5783829060005260206000200180546105f1906109cb565b80601f016020809104026020016040519081016040528092919081815260200182805461061d906109cb565b801561066a5780601f1061063f5761010080835404028352916020019161066a565b820191906000526020600020905b81548152906001019060200180831161064d57829003601f168201915b5050505050815260200190600101906105d2565b600754600090610100900460ff16156106a05750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107a65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909161072e917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610a05565b60408051601f198184030181529082905261074891610a36565b6000604051808303816000865af19150503d8060008114610785576040519150601f19603f3d011682016040523d82523d6000602084013e61078a565b606091505b50915050808060200190518101906107a29190610a52565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b6020808252825182820181905260009190848201906040850190845b8181101561084c5783516001600160a01b031683529284019291840191600101610827565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156108fc57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156108e75783516001600160e01b0319168252928b019260019290920191908b01906108bd565b50978a01979550505091870191600101610880565b50919998505050505050505050565b60005b8381101561092657818101518382015260200161090e565b83811115610935576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156109a857878503603f1901845281518051808752610989818989018a850161090b565b601f01601f191695909501860194509285019290850190600101610962565b5092979650505050505050565b634e487b7160e01b600052600160045260246000fd5b600181811c908216806109df57607f821691505b6020821081036109ff57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610a2881600485016020870161090b565b919091016004019392505050565b60008251610a4881846020870161090b565b9190910192915050565b600060208284031215610a6457600080fd5b81518015158114610a7457600080fd5b939250505056fea26469706673582212203a7aea418edcca50234463b79aa25edd8e96650bcf3e6ac0f7b90ebcd7b1931364736f6c634300080d0033" ) ) - syntax Bytes ::= S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Contract "." S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15)] + syntax Field ::= S2KtestZModLabelTestField + + syntax S2KtestZModLabelTestField ::= "stdstore" [symbol(""), klabel(field_test%LabelTest_stdstore)] + + syntax S2KtestZModLabelTestField ::= "IS_TEST" [symbol(""), klabel(field_test%LabelTest_IS_TEST)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KallowCallsToAddress" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KallowCallsToAddress_address)] + syntax S2KtestZModLabelTestField ::= "_failed" [symbol(""), klabel(field_test%LabelTest__failed)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KallowChangesToStorage" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KallowChangesToStorage_address_uint256)] + syntax S2KtestZModLabelTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%LabelTest_stdChainsInitialized)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectCreate" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectCreate_address_uint256_bytes)] + syntax S2KtestZModLabelTestField ::= "chains" [symbol(""), klabel(field_test%LabelTest_chains)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectCreate2" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectCreate2_address_uint256_bytes)] + syntax S2KtestZModLabelTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_defaultRpcUrls)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectDelegateCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectDelegateCall_address_bytes)] + syntax S2KtestZModLabelTestField ::= "idToAlias" [symbol(""), klabel(field_test%LabelTest_idToAlias)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectNoCall" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectNoCall_)] + syntax S2KtestZModLabelTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_fallbackToDefaultRpcUrls)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectRegularCall_address_bytes)] + syntax S2KtestZModLabelTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%LabelTest_gasMeteringOff)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectRegularCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectRegularCall_address_uint256_bytes)] + syntax S2KtestZModLabelTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%LabelTest__excludedContracts)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KexpectStaticCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KexpectStaticCall_address_bytes)] + syntax S2KtestZModLabelTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%LabelTest__excludedSenders)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KfreshBool" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KfreshBool_)] + syntax S2KtestZModLabelTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%LabelTest__targetedContracts)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KfreshBytes_uint256)] + syntax S2KtestZModLabelTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%LabelTest__targetedSenders)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KfreshUInt_uint8)] + syntax S2KtestZModLabelTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%LabelTest__excludedArtifacts)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KinfiniteGas" "(" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KinfiniteGas_)] + syntax S2KtestZModLabelTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%LabelTest__targetedArtifacts)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KsetGas" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KsetGas_uint256)] + syntax S2KtestZModLabelTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%LabelTest__targetedArtifactSelectors)] - syntax S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15Method ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol(""), klabel(method_src%KEVMCheatsBase.0.8.15_S2KsymbolicStorage_address)] + syntax S2KtestZModLabelTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%LabelTest__targetedSelectors)] - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , #address ( V0_ ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_ ) + rule ( #loc ( S2KtestZModLabelTest . stdstore ) => 0 ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KallowChangesToStorage ( V0_ : address , V1_ : uint256 ) => #abiCallData ( "allowChangesToStorage" , #address ( V0_ ) , #uint256 ( V1_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 256 , V1_ ) - )) + rule ( #loc ( S2KtestZModLabelTest . IS_TEST ) => 7 ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectCreate ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 256 , V1_ ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) - ))) + rule ( #loc ( S2KtestZModLabelTest . _failed ) => 7 ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectCreate2 ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectCreate2" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 256 , V1_ ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) - ))) + rule ( #loc ( S2KtestZModLabelTest . stdChainsInitialized ) => 7 ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectDelegateCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectDelegateCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) - )) + rule ( #loc ( S2KtestZModLabelTest . chains ) => 8 ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectNoCall ( ) => #abiCallData ( "expectNoCall" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModLabelTest . defaultRpcUrls ) => 9 ) - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectRegularCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) - )) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectRegularCall ( V0_ : address , V1_ : uint256 , V2_ : bytes ) => #abiCallData ( "expectRegularCall" , #address ( V0_ ) , #uint256 ( V1_ ) , #bytes ( V2_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 256 , V1_ ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_ ) ) - ))) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KexpectStaticCall ( V0_ : address , V1_ : bytes ) => #abiCallData ( "expectStaticCall" , #address ( V0_ ) , #bytes ( V1_ ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_ ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_ ) ) - )) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , #uint256 ( V0_ ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_ ) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , #uint8 ( V0_ ) , .TypedArgs ) ) - ensures #rangeUInt ( 8 , V0_ ) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KsetGas ( V0_ : uint256 ) => #abiCallData ( "setGas" , #uint256 ( V0_ ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_ ) - - - rule ( S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15 . S2KsymbolicStorage ( V0_ : address ) => #abiCallData ( "symbolicStorage" , #address ( V0_ ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_ ) - - - rule ( selector ( "allowCallsToAddress(address)" ) => 1850795572 ) - - - rule ( selector ( "allowChangesToStorage(address,uint256)" ) => 4207417100 ) - - - rule ( selector ( "expectCreate(address,uint256,bytes)" ) => 658968394 ) - - - rule ( selector ( "expectCreate2(address,uint256,bytes)" ) => 3854582462 ) - - - rule ( selector ( "expectDelegateCall(address,bytes)" ) => 1030406631 ) - - - rule ( selector ( "expectNoCall()" ) => 3861374088 ) - - - rule ( selector ( "expectRegularCall(address,bytes)" ) => 3178868520 ) - - - rule ( selector ( "expectRegularCall(address,uint256,bytes)" ) => 1973496647 ) - - - rule ( selector ( "expectStaticCall(address,bytes)" ) => 2232945516 ) - - - rule ( selector ( "freshBool()" ) => 2935720297 ) - - - rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) - - - rule ( selector ( "freshUInt(uint8)" ) => 625253732 ) - - - rule ( selector ( "infiniteGas()" ) => 3986649939 ) - - - rule ( selector ( "setGas(uint256)" ) => 3713137314 ) - - - rule ( selector ( "symbolicStorage(address)" ) => 769677742 ) - - -endmodule - -module S2KtestZModLabelTest-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModLabelTestContract - - syntax S2KtestZModLabelTestContract ::= "S2KtestZModLabelTest" [symbol(""), klabel(contract_test%LabelTest)] - - - - rule ( #initBytecode ( S2KtestZModLabelTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610ab18061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806385226c811161007157806385226c81146100fb578063916a17c614610110578063b5508aa914610118578063ba414fa614610120578063e20c9f7114610138578063fa7626d41461014057600080fd5b80631ed7831c146100ae5780632fa150bd146100cc5780633e5e3c23146100d65780633f7286f4146100de57806366d9a9a0146100e6575b600080fd5b6100b661014d565b6040516100c3919061080b565b60405180910390f35b6100d46101af565b005b6100b6610249565b6100b66102a9565b6100ee610309565b6040516100c39190610858565b6101036103f8565b6040516100c3919061093b565b6100ee6104c8565b6101036105ae565b61012861067e565b60405190151581526020016100c3565b6100b66107ab565b6007546101289060ff1681565b606060148054806020026020016040519081016040528092919081815260200182805480156101a557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610187575b5050505050905090565b604080516318caf8e360e31b8152600060048201526024810191909152600c60448201526b5a65726f204164647265737360a01b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c71890608401600060405180830381600087803b15801561022157600080fd5b505af1158015610235573d6000803e3d6000fd5b505050506001610247576102476109b5565b565b606060168054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103d757602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103995790505b5050505050815250508152602001906001019061032d565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103ef57838290600052602060002001805461043b906109cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610467906109cb565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b50505050508152602001906001019061041c565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103ef5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561059657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105585790505b505050505081525050815260200190600101906104ec565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103ef5783829060005260206000200180546105f1906109cb565b80601f016020809104026020016040519081016040528092919081815260200182805461061d906109cb565b801561066a5780601f1061063f5761010080835404028352916020019161066a565b820191906000526020600020905b81548152906001019060200180831161064d57829003601f168201915b5050505050815260200190600101906105d2565b600754600090610100900460ff16156106a05750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107a65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b8284015282518083038401815260608301909352600092909161072e917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610a05565b60408051601f198184030181529082905261074891610a36565b6000604051808303816000865af19150503d8060008114610785576040519150601f19603f3d011682016040523d82523d6000602084013e61078a565b606091505b50915050808060200190518101906107a29190610a52565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156101a5576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610187575050505050905090565b6020808252825182820181905260009190848201906040850190845b8181101561084c5783516001600160a01b031683529284019291840191600101610827565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156108fc57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156108e75783516001600160e01b0319168252928b019260019290920191908b01906108bd565b50978a01979550505091870191600101610880565b50919998505050505050505050565b60005b8381101561092657818101518382015260200161090e565b83811115610935576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156109a857878503603f1901845281518051808752610989818989018a850161090b565b601f01601f191695909501860194509285019290850190600101610962565b5092979650505050505050565b634e487b7160e01b600052600160045260246000fd5b600181811c908216806109df57607f821691505b6020821081036109ff57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610a2881600485016020870161090b565b919091016004019392505050565b60008251610a4881846020870161090b565b9190910192915050565b600060208284031215610a6457600080fd5b81518015158114610a7457600080fd5b939250505056fea26469706673582212203a7aea418edcca50234463b79aa25edd8e96650bcf3e6ac0f7b90ebcd7b1931364736f6c634300080d0033" ) ) - - - syntax Field ::= S2KtestZModLabelTestField - - syntax S2KtestZModLabelTestField ::= "stdstore" [symbol(""), klabel(field_test%LabelTest_stdstore)] - - syntax S2KtestZModLabelTestField ::= "IS_TEST" [symbol(""), klabel(field_test%LabelTest_IS_TEST)] - - syntax S2KtestZModLabelTestField ::= "_failed" [symbol(""), klabel(field_test%LabelTest__failed)] - - syntax S2KtestZModLabelTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%LabelTest_stdChainsInitialized)] - - syntax S2KtestZModLabelTestField ::= "chains" [symbol(""), klabel(field_test%LabelTest_chains)] - - syntax S2KtestZModLabelTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_defaultRpcUrls)] - - syntax S2KtestZModLabelTestField ::= "idToAlias" [symbol(""), klabel(field_test%LabelTest_idToAlias)] - - syntax S2KtestZModLabelTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%LabelTest_fallbackToDefaultRpcUrls)] - - syntax S2KtestZModLabelTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%LabelTest_gasMeteringOff)] - - syntax S2KtestZModLabelTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%LabelTest__excludedContracts)] - - syntax S2KtestZModLabelTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%LabelTest__excludedSenders)] - - syntax S2KtestZModLabelTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%LabelTest__targetedContracts)] - - syntax S2KtestZModLabelTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%LabelTest__targetedSenders)] - - syntax S2KtestZModLabelTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%LabelTest__excludedArtifacts)] - - syntax S2KtestZModLabelTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%LabelTest__targetedArtifacts)] - - syntax S2KtestZModLabelTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%LabelTest__targetedArtifactSelectors)] - - syntax S2KtestZModLabelTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%LabelTest__targetedSelectors)] - - rule ( #loc ( S2KtestZModLabelTest . stdstore ) => 0 ) - - - rule ( #loc ( S2KtestZModLabelTest . IS_TEST ) => 7 ) - - - rule ( #loc ( S2KtestZModLabelTest . _failed ) => 7 ) - - - rule ( #loc ( S2KtestZModLabelTest . stdChainsInitialized ) => 7 ) - - - rule ( #loc ( S2KtestZModLabelTest . chains ) => 8 ) - - - rule ( #loc ( S2KtestZModLabelTest . defaultRpcUrls ) => 9 ) - - - rule ( #loc ( S2KtestZModLabelTest . idToAlias ) => 10 ) + rule ( #loc ( S2KtestZModLabelTest . idToAlias ) => 10 ) rule ( #loc ( S2KtestZModLabelTest . fallbackToDefaultRpcUrls ) => 11 ) @@ -10462,112 +10026,6 @@ module S2KtestZModNoImport-CONTRACT rule ( selector ( "test_source_map()" ) => 3563497491 ) -endmodule - -module S2KsrcZModOptimismPortal-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KsrcZModOptimismPortalContract - - syntax S2KsrcZModOptimismPortalContract ::= "S2KsrcZModOptimismPortal" [symbol(""), klabel(contract_src%OptimismPortal)] - - - - rule ( #initBytecode ( S2KsrcZModOptimismPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610325806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101a9565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156100f2576100f26100b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610121576101216100b9565b604052919050565b80356001600160a01b038116811461014057600080fd5b919050565b60006080828403121561015757600080fd5b50919050565b60008083601f84011261016f57600080fd5b50813567ffffffffffffffff81111561018757600080fd5b6020830191508360208260051b85010111156101a257600080fd5b9250929050565b600080600080600060e086880312156101c157600080fd5b853567ffffffffffffffff808211156101d957600080fd5b9087019060c0828a0312156101ed57600080fd5b6101f56100cf565b823581526020610206818501610129565b8183015261021660408501610129565b6040830152606084013560608301526080840135608083015260a08401358381111561024157600080fd5b8085019450508a601f85011261025657600080fd5b833583811115610268576102686100b9565b61027a601f8201601f191683016100f8565b8181528c8383880101111561028e57600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102bb8960408a01610145565b945060c08801359150808211156102d157600080fd5b506102de8882890161015d565b96999598509396509294939250505056fea264697066735822122058f6ef661b792bf6a541d1c8af533b706e12e0195294925b93882f2cc900c20364736f6c634300080f0033" ) ) - - - syntax Field ::= S2KsrcZModOptimismPortalField - - syntax S2KsrcZModOptimismPortalField ::= "paused" [symbol(""), klabel(field_src%OptimismPortal_paused)] - - rule ( #loc ( S2KsrcZModOptimismPortal . paused ) => 0 ) - - - syntax Bytes ::= S2KsrcZModOptimismPortalContract "." S2KsrcZModOptimismPortalMethod [function, symbol(""), klabel(method_src%OptimismPortal)] - - syntax S2KsrcZModOptimismPortalMethod ::= "S2Kpause" "(" ")" [symbol(""), klabel(method_src%OptimismPortal_S2Kpause_)] - - syntax S2KsrcZModOptimismPortalMethod ::= "S2KproveWithdrawalTransaction" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%OptimismPortal_S2KproveWithdrawalTransaction_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] - - rule ( S2KsrcZModOptimismPortal . S2Kpause ( ) => #abiCallData ( "pause" , .TypedArgs ) ) - - - rule ( S2KsrcZModOptimismPortal . S2KproveWithdrawalTransaction ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "proveWithdrawalTransaction" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_nonce ) - andBool ( #rangeAddress ( V1_sender ) - andBool ( #rangeAddress ( V2_target ) - andBool ( #rangeUInt ( 256 , V3_value ) - andBool ( #rangeUInt ( 256 , V4_gasLimit ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) - andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) - andBool ( #rangeBytes ( 32 , V7_version ) - andBool ( #rangeBytes ( 32 , V8_stateRoot ) - andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) - andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) - ))))))))))))) - - - rule ( selector ( "pause()" ) => 2220280665 ) - - - rule ( selector ( "proveWithdrawalTransaction((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 1215318383 ) - - -endmodule - -module S2KtestZModOptimismPortalKontrol-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModOptimismPortalKontrolContract - - syntax S2KtestZModOptimismPortalKontrolContract ::= "S2KtestZModOptimismPortalKontrol" [symbol(""), klabel(contract_test%OptimismPortalKontrol)] - - - - rule ( #initBytecode ( S2KtestZModOptimismPortalKontrol ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610956806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630a9254e41461003b578063a102c42514610045575b600080fd5b610043610058565b005b6100436100533660046102e0565b6100a3565b604051610064906101e3565b604051809103906000f080158015610080573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000805460408051638456cb5960e01b815290516001600160a01b0390921692638456cb599260048084019382900301818387803b1580156100e457600080fd5b505af11580156100f8573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561015a57600080fd5b505af115801561016e573d6000803e3d6000fd5b5050600054604051634870496f60e01b81526001600160a01b039091169250634870496f91506101aa90889088908890889088906004016104e1565b600060405180830381600087803b1580156101c457600080fd5b505af11580156101d8573d6000803e3d6000fd5b505050505050505050565b610345806105dc83390190565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610229576102296101f0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610258576102586101f0565b604052919050565b80356001600160a01b038116811461027757600080fd5b919050565b60006080828403121561028e57600080fd5b50919050565b60008083601f8401126102a657600080fd5b50813567ffffffffffffffff8111156102be57600080fd5b6020830191508360208260051b85010111156102d957600080fd5b9250929050565b600080600080600060e086880312156102f857600080fd5b853567ffffffffffffffff8082111561031057600080fd5b9087019060c0828a03121561032457600080fd5b61032c610206565b82358152602061033d818501610260565b8183015261034d60408501610260565b6040830152606084013560608301526080840135608083015260a08401358381111561037857600080fd5b8085019450508a601f85011261038d57600080fd5b83358381111561039f5761039f6101f0565b6103b1601f8201601f1916830161022f565b8181528c838388010111156103c557600080fd5b8183870184830137600091810183019190915260a083015290975088013595506103f28960408a0161027c565b945060c088013591508082111561040857600080fd5b5061041588828901610294565b969995985093965092949392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b878110156104d45782840389528135601e1988360301811261048a57600080fd5b8701858101903567ffffffffffffffff8111156104a657600080fd5b8036038213156104b557600080fd5b6104c0868284610426565b9a87019a9550505090840190600101610469565b5091979650505050505050565b60e08082528651908201526020808701516001600160a01b039081166101008401526040880151166101208301526060870151610140830152608087015161016083015260a087015160c061018084015280516101a084018190526000929190835b81811015610560578281018401518682016101c001528301610543565b818111156105735760006101c083880101525b50828501899052601f01601f1916840190506101c06105b66040860189803582526020810135602083015260408101356040830152606081013560608301525050565b808583030160c08601526105cd818301878961044f565b9a995050505050505050505056fe608060405234801561001057600080fd5b50610325806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634870496f1461003b5780638456cb5914610050575b600080fd5b61004e6100493660046101a9565b610062565b005b61004e6000805460ff19166001179055565b60005460ff16156100b25760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b5050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156100f2576100f26100b9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610121576101216100b9565b604052919050565b80356001600160a01b038116811461014057600080fd5b919050565b60006080828403121561015757600080fd5b50919050565b60008083601f84011261016f57600080fd5b50813567ffffffffffffffff81111561018757600080fd5b6020830191508360208260051b85010111156101a257600080fd5b9250929050565b600080600080600060e086880312156101c157600080fd5b853567ffffffffffffffff808211156101d957600080fd5b9087019060c0828a0312156101ed57600080fd5b6101f56100cf565b823581526020610206818501610129565b8183015261021660408501610129565b6040830152606084013560608301526080840135608083015260a08401358381111561024157600080fd5b8085019450508a601f85011261025657600080fd5b833583811115610268576102686100b9565b61027a601f8201601f191683016100f8565b8181528c8383880101111561028e57600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102bb8960408a01610145565b945060c08801359150808211156102d157600080fd5b506102de8882890161015d565b96999598509396509294939250505056fea264697066735822122058f6ef661b792bf6a541d1c8af533b706e12e0195294925b93882f2cc900c20364736f6c634300080f0033a26469706673582212205ef81eebd779728bbd62841c470695468fce0d223cac32a1d9e34844a21ca6b164736f6c634300080f0033" ) ) - - - syntax Field ::= S2KtestZModOptimismPortalKontrolField - - syntax S2KtestZModOptimismPortalKontrolField ::= "optimismPortal" [symbol(""), klabel(field_test%OptimismPortalKontrol_optimismPortal)] - - rule ( #loc ( S2KtestZModOptimismPortalKontrol . optimismPortal ) => 0 ) - - - syntax Bytes ::= S2KtestZModOptimismPortalKontrolContract "." S2KtestZModOptimismPortalKontrolMethod [function, symbol(""), klabel(method_test%OptimismPortalKontrol)] - - syntax S2KtestZModOptimismPortalKontrolMethod ::= "S2KsetUp" "(" ")" [symbol(""), klabel(method_test%OptimismPortalKontrol_S2KsetUp_)] - - syntax S2KtestZModOptimismPortalKontrolMethod ::= "S2KtestZUndfinalizeWithdrawalTransactionZUndpaused" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_test%OptimismPortalKontrol_S2KtestZUndfinalizeWithdrawalTransactionZUndpaused_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] - - rule ( S2KtestZModOptimismPortalKontrol . S2KsetUp ( ) => #abiCallData ( "setUp" , .TypedArgs ) ) - - - rule ( S2KtestZModOptimismPortalKontrol . S2KtestZUndfinalizeWithdrawalTransactionZUndpaused ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "test_finalizeWithdrawalTransaction_paused" , #tuple ( #uint256 ( V0_nonce ) , #address ( V1_sender ) , #address ( V2_target ) , #uint256 ( V3_value ) , #uint256 ( V4_gasLimit ) , #bytes ( V5_data ) , .TypedArgs ) , #uint256 ( V6__l2OutputIndex ) , #tuple ( #bytes32 ( V7_version ) , #bytes32 ( V8_stateRoot ) , #bytes32 ( V9_messagePasserStorageRoot ) , #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) , #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , #bytes ( V11__withdrawalProof_0 ) , #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_nonce ) - andBool ( #rangeAddress ( V1_sender ) - andBool ( #rangeAddress ( V2_target ) - andBool ( #rangeUInt ( 256 , V3_value ) - andBool ( #rangeUInt ( 256 , V4_gasLimit ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) - andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) - andBool ( #rangeBytes ( 32 , V7_version ) - andBool ( #rangeBytes ( 32 , V8_stateRoot ) - andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) - andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) - ))))))))))))) - - - rule ( selector ( "setUp()" ) => 177362148 ) - - - rule ( selector ( "test_finalizeWithdrawalTransaction_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 2701313061 ) - - endmodule module S2KsrcZModOwnerUpOnly-CONTRACT @@ -11187,36 +10645,312 @@ module S2KtestZModPlainPrankTest-CONTRACT endmodule -module S2KsrcZModPrank-CONTRACT +module S2KsrcZModPortal-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModPrankContract + syntax Contract ::= S2KsrcZModPortalContract - syntax S2KsrcZModPrankContract ::= "S2KsrcZModPrank" [symbol(""), klabel(contract_src%Prank)] + syntax S2KsrcZModPortalContract ::= "S2KsrcZModPortal" [symbol(""), klabel(contract_src%Portal)] - rule ( #initBytecode ( S2KsrcZModPrank ) => #parseByteStack ( "0x60a060405234801561001057600080fd5b50336080526080516102376100366000396000818160b0015261010101526102376000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306661abd146100675780631003e2d2146100835780631dc05f17146100985780638da5cb5b146100ab578063d737d0c7146100ea578063f96757d1146100f0575b600080fd5b61007060005481565b6040519081526020015b60405180910390f35b6100966100913660046101a3565b6100f6565b005b6100966100a63660046101a3565b610178565b6100d27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007a565b336100d2565b326100d2565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461015f5760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b604482015260640160405180910390fd5b8060008082825461017091906101d2565b909155505050565b321561018357600080fd5b80600054101561019257600080fd5b8060008082825461017091906101ea565b6000602082840312156101b557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156101e5576101e56101bc565b500190565b6000828210156101fc576101fc6101bc565b50039056fea26469706673582212209fec2a98ce783918a505ab8dd5902fd0124c28b9082bff3625e1ca56841a14c364736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KsrcZModPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b506000805460ff191660011790556103508061002d6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634870496f14610030575b600080fd5b61004361003e3660046101d4565b610045565b005b60005460ff16156100955760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561011d5761011d6100e4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561014c5761014c6100e4565b604052919050565b80356001600160a01b038116811461016b57600080fd5b919050565b60006080828403121561018257600080fd5b50919050565b60008083601f84011261019a57600080fd5b50813567ffffffffffffffff8111156101b257600080fd5b6020830191508360208260051b85010111156101cd57600080fd5b9250929050565b600080600080600060e086880312156101ec57600080fd5b853567ffffffffffffffff8082111561020457600080fd5b9087019060c0828a03121561021857600080fd5b6102206100fa565b823581526020610231818501610154565b8183015261024160408501610154565b6040830152606084013560608301526080840135608083015260a08401358381111561026c57600080fd5b8085019450508a601f85011261028157600080fd5b833583811115610293576102936100e4565b6102a5601f8201601f19168301610123565b8181528c838388010111156102b957600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102e68960408a01610170565b945060c08801359150808211156102fc57600080fd5b5061030988828901610188565b96999598509396509294939250505056fea2646970667358221220062c4298072ddeb8328879da5e738481c8674c1221cac4f7c5c5182cca39324164736f6c634300080d0033" ) ) - syntax Field ::= S2KsrcZModPrankField + syntax Field ::= S2KsrcZModPortalField - syntax S2KsrcZModPrankField ::= "count" [symbol(""), klabel(field_src%Prank_count)] + syntax S2KsrcZModPortalField ::= "paused" [symbol(""), klabel(field_src%Portal_paused)] - rule ( #loc ( S2KsrcZModPrank . count ) => 0 ) + rule ( #loc ( S2KsrcZModPortal . paused ) => 0 ) - syntax Bytes ::= S2KsrcZModPrankContract "." S2KsrcZModPrankMethod [function, symbol(""), klabel(method_src%Prank)] + syntax Bytes ::= S2KsrcZModPortalContract "." S2KsrcZModPortalMethod [function, symbol(""), klabel(method_src%Portal)] - syntax S2KsrcZModPrankMethod ::= "S2Kadd" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Kadd_uint256)] + syntax S2KsrcZModPortalMethod ::= "S2KproveWithdrawalTransaction" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_src%Portal_S2KproveWithdrawalTransaction_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes_bytes)] - syntax S2KsrcZModPrankMethod ::= "S2Kcount" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kcount_)] + rule ( S2KsrcZModPortal . S2KproveWithdrawalTransaction ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes , V11__withdrawalProof_1 : bytes ) => #abiCallData ( "proveWithdrawalTransaction" , ( #tuple ( ( #uint256 ( V0_nonce ) , ( #address ( V1_sender ) , ( #address ( V2_target ) , ( #uint256 ( V3_value ) , ( #uint256 ( V4_gasLimit ) , ( #bytes ( V5_data ) , .TypedArgs ) ) ) ) ) ) ) , ( #uint256 ( V6__l2OutputIndex ) , ( #tuple ( ( #bytes32 ( V7_version ) , ( #bytes32 ( V8_stateRoot ) , ( #bytes32 ( V9_messagePasserStorageRoot ) , ( #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) ) ) ) ) , ( #array ( #bytes ( V11__withdrawalProof_0 ) , 2 , ( #bytes ( V11__withdrawalProof_0 ) , ( #bytes ( V11__withdrawalProof_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeUInt ( 256 , V0_nonce ) + andBool ( #rangeAddress ( V1_sender ) + andBool ( #rangeAddress ( V2_target ) + andBool ( #rangeUInt ( 256 , V3_value ) + andBool ( #rangeUInt ( 256 , V4_gasLimit ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) + andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) + andBool ( #rangeBytes ( 32 , V7_version ) + andBool ( #rangeBytes ( 32 , V8_stateRoot ) + andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) + andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V11__withdrawalProof_1 ) ) + ))))))))))))) + - syntax S2KsrcZModPrankMethod ::= "S2KmsgSender" "(" ")" [symbol(""), klabel(method_src%Prank_S2KmsgSender_)] + rule ( selector ( "proveWithdrawalTransaction((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 1215318383 ) + + +endmodule + +module S2KsrcZModTypes-CONTRACT + imports public FOUNDRY - syntax S2KsrcZModPrankMethod ::= "S2Kowner" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kowner_)] + syntax Contract ::= S2KsrcZModTypesContract - syntax S2KsrcZModPrankMethod ::= "S2Ksubtract" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Ksubtract_uint256)] + syntax S2KsrcZModTypesContract ::= "S2KsrcZModTypes" [symbol(""), klabel(contract_src%Types)] + + + + rule ( #initBytecode ( S2KsrcZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122011693de452f249cae1e16e5ef2c650b724bffeda922f655e92d2856ce9f3177064736f6c634300080d0033" ) ) + + +endmodule + +module S2KtestZModPortalTest-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KtestZModPortalTestContract + + syntax S2KtestZModPortalTestContract ::= "S2KtestZModPortalTest" [symbol(""), klabel(contract_test%PortalTest)] + + + + rule ( #initBytecode ( S2KtestZModPortalTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b5061128a8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063916a17c611610071578063916a17c61461011b578063b5508aa914610123578063ba414fa61461012b578063c1cd1d7c14610143578063e20c9f7114610156578063fa7626d41461015e57600080fd5b80630a9254e4146100b95780631ed7831c146100c35780633e5e3c23146100e15780633f7286f4146100e957806366d9a9a0146100f157806385226c8114610106575b600080fd5b6100c161016b565b005b6100cb6101b6565b6040516100d891906108ce565b60405180910390f35b6100cb610218565b6100cb610278565b6100f96102d8565b6040516100d8919061091b565b61010e6103c7565b6040516100d89190610a2a565b6100f9610497565b61010e61057d565b61013361064d565b60405190151581526020016100d8565b6100c1610151366004610b77565b61077a565b6100cb610861565b6007546101339060ff1681565b604051610177906108c1565b604051809103906000f080158015610193573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060601480548060200260200160405190810160405280929190818152602001828054801561020e57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f0575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103a657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103685790505b505050505081525050815260200190600101906102fc565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103be57838290600052602060002001805461040a90610cbd565b80601f016020809104026020016040519081016040528092919081815260200182805461043690610cbd565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050815260200190600101906103eb565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561056557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105275790505b505050505081525050815260200190600101906104bb565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103be5783829060005260206000200180546105c090610cbd565b80601f01602080910402602001604051908101604052809291908181526020018280546105ec90610cbd565b80156106395780601f1061060e57610100808354040283529160200191610639565b820191906000526020600020905b81548152906001019060200180831161061c57829003601f168201915b5050505050815260200190600101906105a1565b600754600090610100900460ff161561066f5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916106fd917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cf1565b60408051601f198184030181529082905261071791610d22565b6000604051808303816000865af19150503d8060008114610754576040519150601f19603f3d011682016040523d82523d6000602084013e610759565b606091505b50915050808060200190518101906107719190610d3e565b9150505b919050565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107d857600080fd5b505af11580156107ec573d6000803e3d6000fd5b5050601b54604051634870496f60e01b81526001600160a01b039091169250634870496f91506108289088908890889088908890600401610e21565b600060405180830381600087803b15801561084257600080fd5b505af1158015610856573d6000803e3d6000fd5b505050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b61037d80610ed883390190565b6020808252825182820181905260009190848201906040850190845b8181101561090f5783516001600160a01b0316835292840192918401916001016108ea565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156109bf57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156109aa5783516001600160e01b0319168252928b019260019290920191908b0190610980565b50978a01979550505091870191600101610943565b50919998505050505050505050565b60005b838110156109e95781810151838201526020016109d1565b838111156109f8576000848401525b50505050565b60008151808452610a168160208601602086016109ce565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610a7f57603f19888603018452610a6d8583516109fe565b94509285019290850190600101610a51565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610ac557610ac5610a8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610af457610af4610a8c565b604052919050565b80356001600160a01b038116811461077557600080fd5b600060808284031215610b2557600080fd5b50919050565b60008083601f840112610b3d57600080fd5b50813567ffffffffffffffff811115610b5557600080fd5b6020830191508360208260051b8501011115610b7057600080fd5b9250929050565b600080600080600060e08688031215610b8f57600080fd5b853567ffffffffffffffff80821115610ba757600080fd5b9087019060c0828a031215610bbb57600080fd5b610bc3610aa2565b823581526020610bd4818501610afc565b81830152610be460408501610afc565b6040830152606084013560608301526080840135608083015260a084013583811115610c0f57600080fd5b8085019450508a601f850112610c2457600080fd5b833583811115610c3657610c36610a8c565b610c48601f8201601f19168301610acb565b8181528c83838801011115610c5c57600080fd5b8183870184830137600091810183019190915260a08301529097508801359550610c898960408a01610b13565b945060c0880135915080821115610c9f57600080fd5b50610cac88828901610b2b565b969995985093965092949392505050565b600181811c90821680610cd157607f821691505b602082108103610b2557634e487b7160e01b600052602260045260246000fd5b6001600160e01b0319831681528151600090610d148160048501602087016109ce565b919091016004019392505050565b60008251610d348184602087016109ce565b9190910192915050565b600060208284031215610d5057600080fd5b81518015158114610d6057600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b87811015610e145782840389528135601e19883603018112610dcb57600080fd5b8701803567ffffffffffffffff811115610de457600080fd5b803603891315610df357600080fd5b610e008682898501610d67565b9a87019a9550505090840190600101610daa565b5091979650505050505050565b60e080825286519082015260208601516001600160a01b039081166101008301526040870151166101208201526060860151610140820152608086015161016082015260a086015160c0610180830152600090610e826101a08401826109fe565b9050866020840152610eb86040840187803582526020810135602083015260408101356040830152606081013560608301525050565b82810360c0840152610ecb818587610d90565b9897505050505050505056fe608060405234801561001057600080fd5b506000805460ff191660011790556103508061002d6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634870496f14610030575b600080fd5b61004361003e3660046101d4565b610045565b005b60005460ff16156100955760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561011d5761011d6100e4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561014c5761014c6100e4565b604052919050565b80356001600160a01b038116811461016b57600080fd5b919050565b60006080828403121561018257600080fd5b50919050565b60008083601f84011261019a57600080fd5b50813567ffffffffffffffff8111156101b257600080fd5b6020830191508360208260051b85010111156101cd57600080fd5b9250929050565b600080600080600060e086880312156101ec57600080fd5b853567ffffffffffffffff8082111561020457600080fd5b9087019060c0828a03121561021857600080fd5b6102206100fa565b823581526020610231818501610154565b8183015261024160408501610154565b6040830152606084013560608301526080840135608083015260a08401358381111561026c57600080fd5b8085019450508a601f85011261028157600080fd5b833583811115610293576102936100e4565b6102a5601f8201601f19168301610123565b8181528c838388010111156102b957600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102e68960408a01610170565b945060c08801359150808211156102fc57600080fd5b5061030988828901610188565b96999598509396509294939250505056fea2646970667358221220062c4298072ddeb8328879da5e738481c8674c1221cac4f7c5c5182cca39324164736f6c634300080d0033a2646970667358221220a12a76885d332a5c9250e94248e5b52fd7aeec13d65a44e8f64711e006b7ef9664736f6c634300080d0033" ) ) + + + syntax Field ::= S2KtestZModPortalTestField + + syntax S2KtestZModPortalTestField ::= "stdstore" [symbol(""), klabel(field_test%PortalTest_stdstore)] + + syntax S2KtestZModPortalTestField ::= "IS_TEST" [symbol(""), klabel(field_test%PortalTest_IS_TEST)] + + syntax S2KtestZModPortalTestField ::= "_failed" [symbol(""), klabel(field_test%PortalTest__failed)] + + syntax S2KtestZModPortalTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%PortalTest_stdChainsInitialized)] + + syntax S2KtestZModPortalTestField ::= "chains" [symbol(""), klabel(field_test%PortalTest_chains)] + + syntax S2KtestZModPortalTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%PortalTest_defaultRpcUrls)] + + syntax S2KtestZModPortalTestField ::= "idToAlias" [symbol(""), klabel(field_test%PortalTest_idToAlias)] + + syntax S2KtestZModPortalTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%PortalTest_fallbackToDefaultRpcUrls)] + + syntax S2KtestZModPortalTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%PortalTest_gasMeteringOff)] + + syntax S2KtestZModPortalTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%PortalTest__excludedContracts)] + + syntax S2KtestZModPortalTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%PortalTest__excludedSenders)] + + syntax S2KtestZModPortalTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%PortalTest__targetedContracts)] + + syntax S2KtestZModPortalTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%PortalTest__targetedSenders)] + + syntax S2KtestZModPortalTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%PortalTest__excludedArtifacts)] + + syntax S2KtestZModPortalTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%PortalTest__targetedArtifacts)] + + syntax S2KtestZModPortalTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%PortalTest__targetedArtifactSelectors)] + + syntax S2KtestZModPortalTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%PortalTest__targetedSelectors)] + + syntax S2KtestZModPortalTestField ::= "portalContract" [symbol(""), klabel(field_test%PortalTest_portalContract)] + + rule ( #loc ( S2KtestZModPortalTest . stdstore ) => 0 ) + + + rule ( #loc ( S2KtestZModPortalTest . IS_TEST ) => 7 ) + + + rule ( #loc ( S2KtestZModPortalTest . _failed ) => 7 ) + + + rule ( #loc ( S2KtestZModPortalTest . stdChainsInitialized ) => 7 ) + + + rule ( #loc ( S2KtestZModPortalTest . chains ) => 8 ) + + + rule ( #loc ( S2KtestZModPortalTest . defaultRpcUrls ) => 9 ) + + + rule ( #loc ( S2KtestZModPortalTest . idToAlias ) => 10 ) + + + rule ( #loc ( S2KtestZModPortalTest . fallbackToDefaultRpcUrls ) => 11 ) + + + rule ( #loc ( S2KtestZModPortalTest . gasMeteringOff ) => 11 ) + + + rule ( #loc ( S2KtestZModPortalTest . _excludedContracts ) => 19 ) + + + rule ( #loc ( S2KtestZModPortalTest . _excludedSenders ) => 20 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedContracts ) => 21 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedSenders ) => 22 ) + + + rule ( #loc ( S2KtestZModPortalTest . _excludedArtifacts ) => 23 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedArtifacts ) => 24 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedArtifactSelectors ) => 25 ) + + + rule ( #loc ( S2KtestZModPortalTest . _targetedSelectors ) => 26 ) + + + rule ( #loc ( S2KtestZModPortalTest . portalContract ) => 27 ) + + + syntax Bytes ::= S2KtestZModPortalTestContract "." S2KtestZModPortalTestMethod [function, symbol(""), klabel(method_test%PortalTest)] + + syntax S2KtestZModPortalTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KISZUndTEST_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KexcludeArtifacts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KexcludeContracts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KexcludeSenders_)] + + syntax S2KtestZModPortalTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2Kfailed_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KsetUp" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KsetUp_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KtargetArtifactSelectors_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KtargetArtifacts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KtargetContracts_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KtargetSelectors_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%PortalTest_S2KtargetSenders_)] + + syntax S2KtestZModPortalTestMethod ::= "S2KtestZUndwithdrawalZUndpaused" "(" Int ":" "uint256" "," Int ":" "address" "," Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint256" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Int ":" "bytes32" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_test%PortalTest_S2KtestZUndwithdrawalZUndpaused_uint256_address_address_uint256_uint256_bytes_uint256_bytes32_bytes32_bytes32_bytes32_bytes)] + + rule ( S2KtestZModPortalTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KsetUp ( ) => #abiCallData ( "setUp" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + + + rule ( S2KtestZModPortalTest . S2KtestZUndwithdrawalZUndpaused ( V0_nonce : uint256 , V1_sender : address , V2_target : address , V3_value : uint256 , V4_gasLimit : uint256 , V5_data : bytes , V6__l2OutputIndex : uint256 , V7_version : bytes32 , V8_stateRoot : bytes32 , V9_messagePasserStorageRoot : bytes32 , V10_latestBlockhash : bytes32 , V11__withdrawalProof_0 : bytes ) => #abiCallData ( "test_withdrawal_paused" , ( #tuple ( ( #uint256 ( V0_nonce ) , ( #address ( V1_sender ) , ( #address ( V2_target ) , ( #uint256 ( V3_value ) , ( #uint256 ( V4_gasLimit ) , ( #bytes ( V5_data ) , .TypedArgs ) ) ) ) ) ) ) , ( #uint256 ( V6__l2OutputIndex ) , ( #tuple ( ( #bytes32 ( V7_version ) , ( #bytes32 ( V8_stateRoot ) , ( #bytes32 ( V9_messagePasserStorageRoot ) , ( #bytes32 ( V10_latestBlockhash ) , .TypedArgs ) ) ) ) ) , ( #array ( #bytes ( V11__withdrawalProof_0 ) , 1 , ( #bytes ( V11__withdrawalProof_0 ) , .TypedArgs ) ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeUInt ( 256 , V0_nonce ) + andBool ( #rangeAddress ( V1_sender ) + andBool ( #rangeAddress ( V2_target ) + andBool ( #rangeUInt ( 256 , V3_value ) + andBool ( #rangeUInt ( 256 , V4_gasLimit ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V5_data ) ) + andBool ( #rangeUInt ( 256 , V6__l2OutputIndex ) + andBool ( #rangeBytes ( 32 , V7_version ) + andBool ( #rangeBytes ( 32 , V8_stateRoot ) + andBool ( #rangeBytes ( 32 , V9_messagePasserStorageRoot ) + andBool ( #rangeBytes ( 32 , V10_latestBlockhash ) + andBool ( lengthBytes ( V11__withdrawalProof_0 ) ==Int 32 + )))))))))))) + + + rule ( selector ( "IS_TEST()" ) => 4202047188 ) + + + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + + + rule ( selector ( "excludeContracts()" ) => 3792478065 ) + + + rule ( selector ( "excludeSenders()" ) => 517440284 ) + + + rule ( selector ( "failed()" ) => 3124842406 ) + + + rule ( selector ( "setUp()" ) => 177362148 ) + + + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + + + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + + + rule ( selector ( "targetContracts()" ) => 1064470260 ) + + + rule ( selector ( "targetSelectors()" ) => 2439649222 ) + + + rule ( selector ( "targetSenders()" ) => 1046363171 ) + + + rule ( selector ( "test_withdrawal_paused((uint256,address,address,uint256,uint256,bytes),uint256,(bytes32,bytes32,bytes32,bytes32),bytes[])" ) => 3251445116 ) + + +endmodule + +module S2KsrcZModPrank-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KsrcZModPrankContract + + syntax S2KsrcZModPrankContract ::= "S2KsrcZModPrank" [symbol(""), klabel(contract_src%Prank)] + + + + rule ( #initBytecode ( S2KsrcZModPrank ) => #parseByteStack ( "0x60a060405234801561001057600080fd5b50336080526080516102376100366000396000818160b0015261010101526102376000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806306661abd146100675780631003e2d2146100835780631dc05f17146100985780638da5cb5b146100ab578063d737d0c7146100ea578063f96757d1146100f0575b600080fd5b61007060005481565b6040519081526020015b60405180910390f35b6100966100913660046101a3565b6100f6565b005b6100966100a63660046101a3565b610178565b6100d27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007a565b336100d2565b326100d2565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461015f5760405162461bcd60e51b815260206004820152600a60248201526927b7363c9037bbb732b960b11b604482015260640160405180910390fd5b8060008082825461017091906101d2565b909155505050565b321561018357600080fd5b80600054101561019257600080fd5b8060008082825461017091906101ea565b6000602082840312156101b557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156101e5576101e56101bc565b500190565b6000828210156101fc576101fc6101bc565b50039056fea26469706673582212209fec2a98ce783918a505ab8dd5902fd0124c28b9082bff3625e1ca56841a14c364736f6c634300080d0033" ) ) + + + syntax Field ::= S2KsrcZModPrankField + + syntax S2KsrcZModPrankField ::= "count" [symbol(""), klabel(field_src%Prank_count)] + + rule ( #loc ( S2KsrcZModPrank . count ) => 0 ) + + + syntax Bytes ::= S2KsrcZModPrankContract "." S2KsrcZModPrankMethod [function, symbol(""), klabel(method_src%Prank)] + + syntax S2KsrcZModPrankMethod ::= "S2Kadd" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Kadd_uint256)] + + syntax S2KsrcZModPrankMethod ::= "S2Kcount" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kcount_)] + + syntax S2KsrcZModPrankMethod ::= "S2KmsgSender" "(" ")" [symbol(""), klabel(method_src%Prank_S2KmsgSender_)] + + syntax S2KsrcZModPrankMethod ::= "S2Kowner" "(" ")" [symbol(""), klabel(method_src%Prank_S2Kowner_)] + + syntax S2KsrcZModPrankMethod ::= "S2Ksubtract" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%Prank_S2Ksubtract_uint256)] syntax S2KsrcZModPrankMethod ::= "S2KtxOrigin" "(" ")" [symbol(""), klabel(method_src%Prank_S2KtxOrigin_)] @@ -12371,7 +12105,7 @@ module S2KtestZModPreconditionsTest-CONTRACT - rule ( #initBytecode ( S2KtestZModPreconditionsTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610d7d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063916a17c61161008c578063d6a2ec7611610066578063d6a2ec761461015e578063e20c9f711461019d578063ea281abd146101a5578063fa7626d4146101ad57600080fd5b8063916a17c614610136578063b5508aa91461013e578063ba414fa61461014657600080fd5b80630a9254e4146100d45780631ed7831c146100de5780633e5e3c23146100fc5780633f7286f41461010457806366d9a9a01461010c57806385226c8114610121575b600080fd5b6100dc6101ba565b005b6100e661028a565b6040516100f39190610af1565b60405180910390f35b6100e66102ec565b6100e661034c565b6101146103ac565b6040516100f39190610b3e565b61012961049b565b6040516100f39190610c1d565b61011461056b565b610129610651565b61014e610721565b60405190151581526020016100f3565b6101857f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b0390911681526020016100f3565b6100e661084e565b6100dc6108ae565b60075461014e9060ff1681565b6040516316f02cd760e11b8152306004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae90602401600060405180830381600087803b15801561020657600080fd5b505af115801561021a573d6000803e3d6000fd5b5050601b54604051632631f2b160e11b8152600a919091116004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561027057600080fd5b505afa158015610284573d6000803e3d6000fd5b50505050565b606060148054806020026020016040519081016040528092919081815260200182805480156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050905090565b606060168054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161043c5790505b505050505081525050815260200190600101906103d0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156104925783829060005260206000200180546104de90610c97565b80601f016020809104026020016040519081016040528092919081815260200182805461050a90610c97565b80156105575780601f1061052c57610100808354040283529160200191610557565b820191906000526020600020905b81548152906001019060200180831161053a57829003601f168201915b5050505050815260200190600101906104bf565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561063957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105fb5790505b5050505050815250508152602001906001019061058f565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561049257838290600052602060002001805461069490610c97565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090610c97565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b505050505081526020019060010190610675565b600754600090610100900460ff16156107435750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156108495760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916107d1917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cd1565b60408051601f19818403018152908290526107eb91610d02565b6000604051808303816000865af19150503d8060008114610828576040519150601f19603f3d011682016040523d82523d6000602084013e61082d565b606091505b50915050808060200190518101906108459190610d1e565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b6108bb601b54600a6108bd565b565b8082106109e1577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161092d9060208082526021908201527f4572726f723a2061203c2062206e6f7420736174697366696564205b75696e746040820152605d60f81b606082015260800190565b60405180910390a16040805181815260098183015268202056616c7565206160b81b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1604080518181526009818301526810102b30b63ab2903160b91b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16109e16109e5565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610ae05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610a7f9291602001610cd1565b60408051601f1981840301815290829052610a9991610d02565b6000604051808303816000865af19150503d8060008114610ad6576040519150601f19603f3d011682016040523d82523d6000602084013e610adb565b606091505b505050505b6007805461ff001916610100179055565b6020808252825182820181905260009190848201906040850190845b81811015610b325783516001600160a01b031683529284019291840191600101610b0d565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610be257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610bcd5783516001600160e01b0319168252928b019260019290920191908b0190610ba3565b50978a01979550505091870191600101610b66565b50919998505050505050505050565b60005b83811015610c0c578181015183820152602001610bf4565b838111156102845750506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610c8a57878503603f1901845281518051808752610c6b818989018a8501610bf1565b601f01601f191695909501860194509285019290850190600101610c44565b5092979650505050505050565b600181811c90821680610cab57607f821691505b602082108103610ccb57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610cf4816004850160208701610bf1565b919091016004019392505050565b60008251610d14818460208701610bf1565b9190910192915050565b600060208284031215610d3057600080fd5b81518015158114610d4057600080fd5b939250505056fea2646970667358221220bea4e81163dc008309f9539cd40446bca7b3c5381fc6495658ff6e7f1f9d1a6c64736f6c634300080f0033" ) ) + rule ( #initBytecode ( S2KtestZModPreconditionsTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610d7d8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063916a17c61161008c578063d6a2ec7611610066578063d6a2ec761461015e578063e20c9f711461019d578063ea281abd146101a5578063fa7626d4146101ad57600080fd5b8063916a17c614610136578063b5508aa91461013e578063ba414fa61461014657600080fd5b80630a9254e4146100d45780631ed7831c146100de5780633e5e3c23146100fc5780633f7286f41461010457806366d9a9a01461010c57806385226c8114610121575b600080fd5b6100dc6101ba565b005b6100e661028a565b6040516100f39190610af1565b60405180910390f35b6100e66102ec565b6100e661034c565b6101146103ac565b6040516100f39190610b3e565b61012961049b565b6040516100f39190610c1d565b61011461056b565b610129610651565b61014e610721565b60405190151581526020016100f3565b6101857f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b0390911681526020016100f3565b6100e661084e565b6100dc6108ae565b60075461014e9060ff1681565b6040516316f02cd760e11b8152306004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae90602401600060405180830381600087803b15801561020657600080fd5b505af115801561021a573d6000803e3d6000fd5b5050601b54604051632631f2b160e11b8152600a919091116004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561027057600080fd5b505afa158015610284573d6000803e3d6000fd5b50505050565b606060148054806020026020016040519081016040528092919081815260200182805480156102e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116102c4575b5050505050905090565b606060168054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b606060158054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561047a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161043c5790505b505050505081525050815260200190600101906103d0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156104925783829060005260206000200180546104de90610c97565b80601f016020809104026020016040519081016040528092919081815260200182805461050a90610c97565b80156105575780601f1061052c57610100808354040283529160200191610557565b820191906000526020600020905b81548152906001019060200180831161053a57829003601f168201915b5050505050815260200190600101906104bf565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104925760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561063957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105fb5790505b5050505050815250508152602001906001019061058f565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561049257838290600052602060002001805461069490610c97565b80601f01602080910402602001604051908101604052809291908181526020018280546106c090610c97565b801561070d5780601f106106e25761010080835404028352916020019161070d565b820191906000526020600020905b8154815290600101906020018083116106f057829003601f168201915b505050505081526020019060010190610675565b600754600090610100900460ff16156107435750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156108495760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916107d1917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cd1565b60408051601f19818403018152908290526107eb91610d02565b6000604051808303816000865af19150503d8060008114610828576040519150601f19603f3d011682016040523d82523d6000602084013e61082d565b606091505b50915050808060200190518101906108459190610d1e565b9150505b919050565b606060138054806020026020016040519081016040528092919081815260200182805480156102e2576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116102c4575050505050905090565b6108bb601b54600a6108bd565b565b8082106109e1577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161092d9060208082526021908201527f4572726f723a2061203c2062206e6f7420736174697366696564205b75696e746040820152605d60f81b606082015260800190565b60405180910390a16040805181815260098183015268202056616c7565206160b81b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1604080518181526009818301526810102b30b63ab2903160b91b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16109e16109e5565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610ae05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610a7f9291602001610cd1565b60408051601f1981840301815290829052610a9991610d02565b6000604051808303816000865af19150503d8060008114610ad6576040519150601f19603f3d011682016040523d82523d6000602084013e610adb565b606091505b505050505b6007805461ff001916610100179055565b6020808252825182820181905260009190848201906040850190845b81811015610b325783516001600160a01b031683529284019291840191600101610b0d565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610be257898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610bcd5783516001600160e01b0319168252928b019260019290920191908b0190610ba3565b50978a01979550505091870191600101610b66565b50919998505050505050505050565b60005b83811015610c0c578181015183820152602001610bf4565b838111156102845750506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610c8a57878503603f1901845281518051808752610c6b818989018a8501610bf1565b601f01601f191695909501860194509285019290850190600101610c44565b5092979650505050505050565b600181811c90821680610cab57607f821691505b602082108103610ccb57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610cf4816004850160208701610bf1565b919091016004019392505050565b60008251610d14818460208701610bf1565b9190910192915050565b600060208284031215610d3057600080fd5b81518015158114610d4057600080fd5b939250505056fea2646970667358221220d553d235d29e454d74e30e3fef995f1361f793cb8a6ff96bdcba15b59205a36864736f6c634300080d0033" ) ) syntax Field ::= S2KtestZModPreconditionsTestField @@ -14347,40 +14081,40 @@ module S2KtestZModSnapshotTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdAssertions-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdAssertions.0.8.13)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdAssertions" [symbol(""), klabel(contract_lib%forge-std%src%StdAssertions)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsField - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.13_IS_TEST)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions_IS_TEST)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.13__failed)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions__failed)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . IS_TEST ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . IS_TEST ) => 0 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . _failed ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . _failed ) => 0 ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.13)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsContract "." S2KlibZModforgeZSubstdZModsrcZModStdAssertionsMethod [function, symbol(""), klabel(method_lib%forge-std%src%StdAssertions)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.13_S2KISZUndTEST_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions_S2KISZUndTEST_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.13_S2Kfailed_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions_S2Kfailed_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertions . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) rule ( selector ( "IS_TEST()" ) => 4202047188 ) @@ -14391,618 +14125,611 @@ module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdChains-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdAssertions.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdChains" [symbol(""), klabel(contract_lib%forge-std%src%StdChains)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdChains ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsField - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.15_IS_TEST)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%StdChains_stdChainsInitialized)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%StdAssertions.0.8.15__failed)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . IS_TEST ) => 0 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%StdChains_chains)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . _failed ) => 0 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains_defaultRpcUrls)] - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%StdChains_idToAlias)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.15_S2KISZUndTEST_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains_fallbackToDefaultRpcUrls)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdAssertions.0.8.15_S2Kfailed_)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . stdChainsInitialized ) => 0 ) + - rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . chains ) => 1 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . defaultRpcUrls ) => 2 ) - rule ( selector ( "IS_TEST()" ) => 4202047188 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . idToAlias ) => 3 ) - rule ( selector ( "failed()" ) => 3124842406 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChains . fallbackToDefaultRpcUrls ) => 4 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheats-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdChains.0.8.13)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheats" [symbol(""), klabel(contract_lib%forge-std%src%StdCheats)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheats ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsField - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_stdChainsInitialized)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheats_gasMeteringOff)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_chains)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%StdCheats_stdstore)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_defaultRpcUrls)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheats . gasMeteringOff ) => 0 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_idToAlias)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheats . stdstore ) => 1 ) + + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-CONTRACT + imports public FOUNDRY - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.13_fallbackToDefaultRpcUrls)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeContract - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . stdChainsInitialized ) => 0 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe" [symbol(""), klabel(contract_lib%forge-std%src%StdCheatsSafe)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . chains ) => 1 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . defaultRpcUrls ) => 2 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe ) => #parseByteStack ( "0x" ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . idToAlias ) => 3 ) - + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeField - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13 . fallbackToDefaultRpcUrls ) => 4 ) + syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheatsSafe_gasMeteringOff)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe . gasMeteringOff ) => 0 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdError-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdChains.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdError" [symbol(""), klabel(contract_lib%forge-std%src%stdError)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdError ) => #parseByteStack ( "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b8181111561020a576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220b50568a01aeb365651845e1555ca92e15fc0bf558cbecc588728960215d1a59c64736f6c634300080d0033" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorContract "." S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod [function, symbol(""), klabel(method_lib%forge-std%src%stdError)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_stdChainsInitialized)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KarithmeticError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KarithmeticError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_chains)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KassertionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KassertionError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_defaultRpcUrls)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KdivisionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KdivisionError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_idToAlias)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KencodeStorageError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KencodeStorageError_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%StdChains.0.8.15_fallbackToDefaultRpcUrls)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KenumConversionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KenumConversionError_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . stdChainsInitialized ) => 0 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KindexOOBError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KindexOOBError_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . chains ) => 1 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KmemOverflowError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KmemOverflowError_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . defaultRpcUrls ) => 2 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KpopError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KpopError_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . idToAlias ) => 3 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorMethod ::= "S2KzeroVarError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError_S2KzeroVarError_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15 . fallbackToDefaultRpcUrls ) => 4 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KarithmeticError ( ) => #abiCallData ( "arithmeticError" , .TypedArgs ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Contract - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdCheats.0.8.13)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KassertionError ( ) => #abiCallData ( "assertionError" , .TypedArgs ) ) + + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KdivisionError ( ) => #abiCallData ( "divisionError" , .TypedArgs ) ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KencodeStorageError ( ) => #abiCallData ( "encodeStorageError" , .TypedArgs ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Field + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KenumConversionError ( ) => #abiCallData ( "enumConversionError" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.13_gasMeteringOff)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KindexOOBError ( ) => #abiCallData ( "indexOOBError" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.13_stdstore)] + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KmemOverflowError ( ) => #abiCallData ( "memOverflowError" , .TypedArgs ) ) + - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13 . gasMeteringOff ) => 0 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KpopError ( ) => #abiCallData ( "popError" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13 . stdstore ) => 1 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModstdError . S2KzeroVarError ( ) => #abiCallData ( "zeroVarError" , .TypedArgs ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Contract + rule ( selector ( "arithmeticError()" ) => 2308253967 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdCheats.0.8.15)] + rule ( selector ( "assertionError()" ) => 271788407 ) + + rule ( selector ( "divisionError()" ) => 4202187332 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( selector ( "encodeStorageError()" ) => 3512788190 ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Field + rule ( selector ( "enumConversionError()" ) => 501503328 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.15_gasMeteringOff)] + rule ( selector ( "indexOOBError()" ) => 99517970 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%StdCheats.0.8.15_stdstore)] + rule ( selector ( "memOverflowError()" ) => 2557239144 ) + - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15 . gasMeteringOff ) => 0 ) + rule ( selector ( "popError()" ) => 2989344077 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15 . stdstore ) => 1 ) + rule ( selector ( "zeroVarError()" ) => 3061221850 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdInvariant-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdCheatsSafe.0.8.13)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdInvariant" [symbol(""), klabel(contract_lib%forge-std%src%StdInvariant)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantField - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheatsSafe.0.8.13_gasMeteringOff)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__excludedContracts)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13 . gasMeteringOff ) => 0 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__excludedSenders)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Contract + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedContracts)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdCheatsSafe.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedSenders)] - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__excludedArtifacts)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedArtifacts)] - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Field + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedArtifactSelectors)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%StdCheatsSafe.0.8.15_gasMeteringOff)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantField ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant__targetedSelectors)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15 . gasMeteringOff ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _excludedContracts ) => 0 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _excludedSenders ) => 1 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Contract + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedContracts ) => 2 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdError.0.8.13)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedSenders ) => 3 ) + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _excludedArtifacts ) => 4 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b8181111561020a576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220b50568a01aeb365651845e1555ca92e15fc0bf558cbecc588728960215d1a59c64736f6c634300080d0033" ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedArtifacts ) => 5 ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedArtifactSelectors ) => 6 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KarithmeticError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KarithmeticError_)] + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . _targetedSelectors ) => 7 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KassertionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KassertionError_)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantContract "." S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod [function, symbol(""), klabel(method_lib%forge-std%src%StdInvariant)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KdivisionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KdivisionError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KexcludeArtifacts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KencodeStorageError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KencodeStorageError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KexcludeContracts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KenumConversionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KenumConversionError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KexcludeSenders_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KindexOOBError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KindexOOBError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetArtifactSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KmemOverflowError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KmemOverflowError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetArtifacts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KpopError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KpopError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetContracts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13Method ::= "S2KzeroVarError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.13_S2KzeroVarError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetSelectors_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KarithmeticError ( ) => #abiCallData ( "arithmeticError" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant_S2KtargetSenders_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KassertionError ( ) => #abiCallData ( "assertionError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KdivisionError ( ) => #abiCallData ( "divisionError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KencodeStorageError ( ) => #abiCallData ( "encodeStorageError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KenumConversionError ( ) => #abiCallData ( "enumConversionError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KindexOOBError ( ) => #abiCallData ( "indexOOBError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KmemOverflowError ( ) => #abiCallData ( "memOverflowError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KpopError ( ) => #abiCallData ( "popError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13 . S2KzeroVarError ( ) => #abiCallData ( "zeroVarError" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariant . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - rule ( selector ( "arithmeticError()" ) => 2308253967 ) + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - rule ( selector ( "assertionError()" ) => 271788407 ) + rule ( selector ( "excludeContracts()" ) => 3792478065 ) - rule ( selector ( "divisionError()" ) => 4202187332 ) + rule ( selector ( "excludeSenders()" ) => 517440284 ) - rule ( selector ( "encodeStorageError()" ) => 3512788190 ) - - - rule ( selector ( "enumConversionError()" ) => 501503328 ) + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - rule ( selector ( "indexOOBError()" ) => 99517970 ) + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - rule ( selector ( "memOverflowError()" ) => 2557239144 ) + rule ( selector ( "targetContracts()" ) => 1064470260 ) - rule ( selector ( "popError()" ) => 2989344077 ) + rule ( selector ( "targetSelectors()" ) => 2439649222 ) - rule ( selector ( "zeroVarError()" ) => 3061221850 ) + rule ( selector ( "targetSenders()" ) => 1046363171 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdJson-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdJsonContract - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdError.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdJsonContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdJson" [symbol(""), klabel(contract_lib%forge-std%src%stdJson)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x61025661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f68146100d8578063b22dc54d146100e0578063b67689da146100e8578063d160e4de146100f0578063fa784a44146100f857600080fd5b806305ee8612146100a257806310332977146100c05780631de45560146100c85780638995290f146100d0575b600080fd5b6100aa610100565b6040516100b791906101cb565b60405180910390f35b6100aa61013b565b6100aa61014d565b6100aa61015f565b6100aa610171565b6100aa610183565b6100aa610195565b6100aa6101a7565b6100aa6101b9565b604051603260248201526044015b60408051601f198184030181529190526020810180516001600160e01b0316634e487b7160e01b17905281565b6040516001602482015260440161010e565b6040516021602482015260440161010e565b6040516011602482015260440161010e565b6040516041602482015260440161010e565b6040516031602482015260440161010e565b6040516051602482015260440161010e565b6040516022602482015260440161010e565b6040516012602482015260440161010e565b600060208083528351808285015260005b818110156101f8578581018301518582016040015282016101dc565b8181111561020a576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220c09e5339b999f6a65b356ba80f9972bb9581b882232ddbb249206f90b4d632f164736f6c634300080f0033" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdJson ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220df7dc4d1800c459459a191c6e9a04ff356828c02156636c0da70d8b85d1d6da464736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdMath-CONTRACT + imports public FOUNDRY - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KarithmeticError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KarithmeticError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KassertionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KassertionError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KdivisionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KdivisionError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KencodeStorageError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KencodeStorageError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KenumConversionError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KenumConversionError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KindexOOBError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KindexOOBError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KmemOverflowError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KmemOverflowError_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KpopError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KpopError_)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdMathContract - syntax S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15Method ::= "S2KzeroVarError" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%stdError.0.8.15_S2KzeroVarError_)] + syntax S2KlibZModforgeZSubstdZModsrcZModstdMathContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdMath" [symbol(""), klabel(contract_lib%forge-std%src%stdMath)] - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KarithmeticError ( ) => #abiCallData ( "arithmeticError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KassertionError ( ) => #abiCallData ( "assertionError" , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdMath ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d5896cecc074b7a125dff1c77ff303e9e188764651777cf455720d281a08f2864736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorage-CONTRACT + imports public FOUNDRY - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KdivisionError ( ) => #abiCallData ( "divisionError" , .TypedArgs ) ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageContract - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KencodeStorageError ( ) => #abiCallData ( "encodeStorageError" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorage" [symbol(""), klabel(contract_lib%forge-std%src%stdStorage)] - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KenumConversionError ( ) => #abiCallData ( "enumConversionError" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KindexOOBError ( ) => #abiCallData ( "indexOOBError" , .TypedArgs ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorage ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205783f6e832bfb40b5a129ed00392cc4ddc0ee1b8814a44b32ec6685fd62b970064736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-CONTRACT + imports public FOUNDRY - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KmemOverflowError ( ) => #abiCallData ( "memOverflowError" , .TypedArgs ) ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeContract - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KpopError ( ) => #abiCallData ( "popError" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeContract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe" [symbol(""), klabel(contract_lib%forge-std%src%stdStorageSafe)] - rule ( S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15 . S2KzeroVarError ( ) => #abiCallData ( "zeroVarError" , .TypedArgs ) ) - rule ( selector ( "arithmeticError()" ) => 2308253967 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220759f01e635a02e37e6673da50d4bf039c7767b2dfa5940553e131b798527412664736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdStyle-CONTRACT + imports public FOUNDRY - rule ( selector ( "assertionError()" ) => 271788407 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdStyleContract - rule ( selector ( "divisionError()" ) => 4202187332 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdStyleContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdStyle" [symbol(""), klabel(contract_lib%forge-std%src%StdStyle)] - rule ( selector ( "encodeStorageError()" ) => 3512788190 ) - rule ( selector ( "enumConversionError()" ) => 501503328 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdStyle ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220013d1ea7f60ab0d57dc3e5d2001cc7935e44b07882c1aea9436566207923d48364736f6c634300080d0033" ) ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModStdUtils-CONTRACT + imports public FOUNDRY - rule ( selector ( "indexOOBError()" ) => 99517970 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdUtilsContract - rule ( selector ( "memOverflowError()" ) => 2557239144 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModStdUtilsContract ::= "S2KlibZModforgeZSubstdZModsrcZModStdUtils" [symbol(""), klabel(contract_lib%forge-std%src%StdUtils)] - rule ( selector ( "popError()" ) => 2989344077 ) - rule ( selector ( "zeroVarError()" ) => 3061221850 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdUtils ) => #parseByteStack ( "0x" ) ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-CONTRACT +module S2KtestZModStore-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Contract + syntax Contract ::= S2KtestZModStoreContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdInvariant.0.8.13)] + syntax S2KtestZModStoreContract ::= "S2KtestZModStore" [symbol(""), klabel(contract_test%Store)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KtestZModStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field + syntax Field ::= S2KtestZModStoreField - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__excludedContracts)] + syntax S2KtestZModStoreField ::= "testNumber" [symbol(""), klabel(field_test%Store_testNumber)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__excludedSenders)] + rule ( #loc ( S2KtestZModStore . testNumber ) => 0 ) + + +endmodule + +module S2KtestZModStoreTest-CONTRACT + imports public FOUNDRY - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedContracts)] + syntax Contract ::= S2KtestZModStoreTestContract - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedSenders)] + syntax S2KtestZModStoreTestContract ::= "S2KtestZModStoreTest" [symbol(""), klabel(contract_test%StoreTest)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__excludedArtifacts)] + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedArtifacts)] + rule ( #initBytecode ( S2KtestZModStoreTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113ad8061003d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806387a8a81b116100ad578063ba414fa611610071578063ba414fa6146101db578063e20c9f71146101f3578063e292f8b5146101fb578063e92ca5bb14610203578063fa7626d41461020b57600080fd5b806387a8a81b146101b357806389a99a74146101bb578063916a17c6146101c35780639b716e86146101cb578063b5508aa9146101d357600080fd5b80633f7286f4116100f45780633f7286f41461017157806348088073146101795780635c2d302e1461018157806366d9a9a01461018957806385226c811461019e57600080fd5b806305f6ff371461013157806309840bb51461013b5780631ed7831c1461014357806324007a26146101615780633e5e3c2314610169575b600080fd5b610139610218565b005b6101396102b8565b61014b6103fb565b6040516101589190610f36565b60405180910390f35b61013961045d565b61014b6104f5565b61014b610555565b6101396105b5565b6101396106f0565b61019161077c565b6040516101589190610f83565b6101a661086b565b6040516101589190611066565b61013961093b565b6101396109c9565b610191610a0b565b610139610af1565b6101a6610b79565b6101e3610c49565b6040519015158152602001610158565b61014b610d76565b610139610dd6565b610139610e06565b6007546101e39060ff1681565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f15050604051600093506102a392506000805160206113588339815191529150610274906065906017906005906024016110e0565b60408051601f198184030181529190526020810180516001600160e01b03166370ca10bb60e01b179052610f08565b905080607d146102b5576102b5611101565b50565b60006040516102c690610f2a565b604051809103906000f0801580156102e2573d6000803e3d6000fd5b50905060008051602061135883398151915260001c6001600160a01b031663266cf1096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50506040516365bc948160e01b81526001600160a01b038416600482015260009250829150737109709ecfa91a80626ff3989d68f67f5b1dd12d906365bc9481906024016000604051808303816000875af11580156103a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d091908101906111c8565b9150915081516001146103e5576103e5611101565b80516001146103f6576103f6611101565b505050565b6060601480548060200260200160405190810160405280929190818152602001828054801561045357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610435575b5050505050905090565b604051630667f9d760e41b81526065600482015260176024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d8919061122c565b5060006102a3606560405180602001604052806000815250610f08565b60606016805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60006040516105c390610f2a565b604051809103906000f0801580156105df573d6000803e3d6000fd5b506040516370ca10bb60e01b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610621908490600090617a69906004016110e0565b600060405180830381600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526000602482018190529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d9919061122c565b9050617a6981146106ec576106ec611101565b5050565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb9061072e906065906017906005906004016110e0565b600060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b5050505060006102a3606560405180602001604052806000815250610f08565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561084a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161080c5790505b505050505081525050815260200190600101906107a0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156108625783829060005260206000200180546108ae90611245565b80601f01602080910402602001604051908101604052809291908181526020018280546108da90611245565b80156109275780601f106108fc57610100808354040283529160200191610927565b820191906000526020600020905b81548152906001019060200180831161090a57829003601f168201915b50505050508152602001906001019061088f565b604051630667f9d760e41b81526064600482015260176024820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061122c565b905080156102b5576102b5611101565b6040516000906109f89060008051602061135883398151915290610274906065906017906005906024016110e0565b905080610a41146102b5576102b5611101565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610ad957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610a9b5790505b50505050508152505081526020019060010190610a2f565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f150506040516065602482015260176044820152600093506102a3925060008051602061135883398151915291506064015b60408051601f198184030181529190526020810180516001600160e01b0316630667f9d760e41b179052610f08565b60606017805480602002602001604051908101604052809291908181526020016000905b82821015610862578382906000526020600020018054610bbc90611245565b80601f0160208091040260200160405190810160405280929190818152602001828054610be890611245565b8015610c355780601f10610c0a57610100808354040283529160200191610c35565b820191906000526020600020905b815481529060010190602001808311610c1857829003601f168201915b505050505081526020019060010190610b9d565b600754600090610100900460ff1615610c6b5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d715760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610cf9917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800161127f565b60408051601f1981840301815290829052610d13916112b0565b6000604051808303816000865af19150503d8060008114610d50576040519150601f19603f3d011682016040523d82523d6000602084013e610d55565b606091505b5091505080806020019051810190610d6d91906112cc565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60405160656024820152601760448201526000906109f89060008051602061135883398151915290606401610b4a565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610e4590600090600390617a69906004016110e0565b600060405180830381600087803b158015610e5f57600080fd5b505af1158015610e73573d6000803e3d6000fd5b5050604051630667f9d760e41b8152600060048201819052600360248301529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef5919061122c565b9050617a6981146102b5576102b5611101565b6000808260200183515a600080838560008b86f1505a90039695505050505050565b6062806112f683390190565b6020808252825182820181905260009190848201906040850190845b81811015610f775783516001600160a01b031683529284019291840191600101610f52565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561102757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110125783516001600160e01b0319168252928b019260019290920191908b0190610fe8565b50978a01979550505091870191600101610fab565b50919998505050505050505050565b60005b83811015611051578181015183820152602001611039565b83811115611060576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156110d357878503603f19018452815180518087526110b4818989018a8501611036565b601f01601f19169590950186019450928501929085019060010161108d565b5092979650505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261113e57600080fd5b8151602067ffffffffffffffff8083111561115b5761115b611117565b8260051b604051601f19603f8301168101818110848211171561118057611180611117565b60405293845285810183019383810192508785111561119e57600080fd5b83870191505b848210156111bd578151835291830191908301906111a4565b979650505050505050565b600080604083850312156111db57600080fd5b825167ffffffffffffffff808211156111f357600080fd5b6111ff8683870161112d565b9350602085015191508082111561121557600080fd5b506112228582860161112d565b9150509250929050565b60006020828403121561123e57600080fd5b5051919050565b600181811c9082168061125957607f821691505b60208210810361127957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b03198316815281516000906112a2816004850160208701611036565b919091016004019392505050565b600082516112c2818460208701611036565b9190910192915050565b6000602082840312156112de57600080fd5b815180151581146112ee57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212200d53b9c70ab4ae45da5fc701137def31a5b817946faeb613c39c4628b697410464736f6c634300080d0033" ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedArtifactSelectors)] + syntax Field ::= S2KtestZModStoreTestField - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.13__targetedSelectors)] + syntax S2KtestZModStoreTestField ::= "stdstore" [symbol(""), klabel(field_test%StoreTest_stdstore)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _excludedContracts ) => 0 ) - + syntax S2KtestZModStoreTestField ::= "IS_TEST" [symbol(""), klabel(field_test%StoreTest_IS_TEST)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _excludedSenders ) => 1 ) - + syntax S2KtestZModStoreTestField ::= "_failed" [symbol(""), klabel(field_test%StoreTest__failed)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedContracts ) => 2 ) - + syntax S2KtestZModStoreTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%StoreTest_stdChainsInitialized)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedSenders ) => 3 ) - + syntax S2KtestZModStoreTestField ::= "chains" [symbol(""), klabel(field_test%StoreTest_chains)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _excludedArtifacts ) => 4 ) - + syntax S2KtestZModStoreTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_defaultRpcUrls)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedArtifacts ) => 5 ) - + syntax S2KtestZModStoreTestField ::= "idToAlias" [symbol(""), klabel(field_test%StoreTest_idToAlias)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedArtifactSelectors ) => 6 ) - + syntax S2KtestZModStoreTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_fallbackToDefaultRpcUrls)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . _targetedSelectors ) => 7 ) - + syntax S2KtestZModStoreTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%StoreTest_gasMeteringOff)] - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13)] + syntax S2KtestZModStoreTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%StoreTest__excludedContracts)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KexcludeArtifacts_)] + syntax S2KtestZModStoreTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%StoreTest__excludedSenders)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KexcludeContracts_)] + syntax S2KtestZModStoreTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%StoreTest__targetedContracts)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KexcludeSenders_)] + syntax S2KtestZModStoreTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%StoreTest__targetedSenders)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetArtifactSelectors_)] + syntax S2KtestZModStoreTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%StoreTest__excludedArtifacts)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetArtifacts_)] + syntax S2KtestZModStoreTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%StoreTest__targetedArtifacts)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetContracts_)] + syntax S2KtestZModStoreTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%StoreTest__targetedArtifactSelectors)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetSelectors_)] + syntax S2KtestZModStoreTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%StoreTest__targetedSelectors)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.13_S2KtargetSenders_)] + rule ( #loc ( S2KtestZModStoreTest . stdstore ) => 0 ) + - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . IS_TEST ) => 7 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . _failed ) => 7 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . stdChainsInitialized ) => 7 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . chains ) => 8 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . defaultRpcUrls ) => 9 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . idToAlias ) => 10 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . fallbackToDefaultRpcUrls ) => 11 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( #loc ( S2KtestZModStoreTest . gasMeteringOff ) => 11 ) - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + rule ( #loc ( S2KtestZModStoreTest . _excludedContracts ) => 19 ) - rule ( selector ( "excludeContracts()" ) => 3792478065 ) + rule ( #loc ( S2KtestZModStoreTest . _excludedSenders ) => 20 ) - rule ( selector ( "excludeSenders()" ) => 517440284 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedContracts ) => 21 ) - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedSenders ) => 22 ) - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + rule ( #loc ( S2KtestZModStoreTest . _excludedArtifacts ) => 23 ) - rule ( selector ( "targetContracts()" ) => 1064470260 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedArtifacts ) => 24 ) - rule ( selector ( "targetSelectors()" ) => 2439649222 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedArtifactSelectors ) => 25 ) - rule ( selector ( "targetSenders()" ) => 1046363171 ) + rule ( #loc ( S2KtestZModStoreTest . _targetedSelectors ) => 26 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Contract + syntax Bytes ::= S2KtestZModStoreTestContract "." S2KtestZModStoreTestMethod [function, symbol(""), klabel(method_test%StoreTest)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdInvariant.0.8.15)] + syntax S2KtestZModStoreTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KISZUndTEST_)] - + syntax S2KtestZModStoreTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeArtifacts_)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - + syntax S2KtestZModStoreTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeContracts_)] + + syntax S2KtestZModStoreTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeSenders_)] + + syntax S2KtestZModStoreTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2Kfailed_)] + + syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifactSelectors_)] - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field + syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifacts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__excludedContracts)] + syntax S2KtestZModStoreTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetContracts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__excludedSenders)] + syntax S2KtestZModStoreTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedContracts)] + syntax S2KtestZModStoreTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSenders_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedSenders)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestAccesses" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestAccesses_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__excludedArtifacts)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadColdVM_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedArtifacts)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmUp_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedArtifactSelectors)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmVM_)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%StdInvariant.0.8.15__targetedSelectors)] + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreColdVM_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _excludedContracts ) => 0 ) - + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmUp_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _excludedSenders ) => 1 ) - + syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmVM_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedContracts ) => 2 ) - + syntax S2KtestZModStoreTestMethod ::= "S2KtestLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestLoadNonExistent_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedSenders ) => 3 ) - + syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoad" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoad_)] + + syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoadNonExistent_)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _excludedArtifacts ) => 4 ) + rule ( S2KtestZModStoreTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedArtifacts ) => 5 ) + rule ( S2KtestZModStoreTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedArtifactSelectors ) => 6 ) + rule ( S2KtestZModStoreTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . _targetedSelectors ) => 7 ) + rule ( S2KtestZModStoreTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15)] + rule ( S2KtestZModStoreTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KexcludeArtifacts_)] + rule ( S2KtestZModStoreTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KexcludeContracts_)] + rule ( S2KtestZModStoreTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KexcludeSenders_)] + rule ( S2KtestZModStoreTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetArtifactSelectors_)] + rule ( S2KtestZModStoreTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetArtifacts_)] + rule ( S2KtestZModStoreTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetContracts_)] + rule ( S2KtestZModStoreTest . S2KtestAccesses ( ) => #abiCallData ( "testAccesses" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetSelectors_)] + rule ( S2KtestZModStoreTest . S2KtestGasLoadColdVM ( ) => #abiCallData ( "testGasLoadColdVM" , .TypedArgs ) ) + - syntax S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%StdInvariant.0.8.15_S2KtargetSenders_)] + rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmUp ( ) => #abiCallData ( "testGasLoadWarmUp" , .TypedArgs ) ) + - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmVM ( ) => #abiCallData ( "testGasLoadWarmVM" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestGasStoreColdVM ( ) => #abiCallData ( "testGasStoreColdVM" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmUp ( ) => #abiCallData ( "testGasStoreWarmUp" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmVM ( ) => #abiCallData ( "testGasStoreWarmVM" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestLoadNonExistent ( ) => #abiCallData ( "testLoadNonExistent" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestStoreLoad ( ) => #abiCallData ( "testStoreLoad" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KtestZModStoreTest . S2KtestStoreLoadNonExistent ( ) => #abiCallData ( "testStoreLoadNonExistent" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) @@ -15014,6 +14741,9 @@ module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-CONTRACT rule ( selector ( "excludeSenders()" ) => 517440284 ) + rule ( selector ( "failed()" ) => 3124842406 ) + + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) @@ -15028,633 +14758,523 @@ module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-CONTRACT rule ( selector ( "targetSenders()" ) => 1046363171 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdJson.0.8.13)] + rule ( selector ( "testAccesses()" ) => 159648693 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220df7dc4d1800c459459a191c6e9a04ff356828c02156636c0da70d8b85d1d6da464736f6c634300080d0033" ) ) + rule ( selector ( "testGasLoadColdVM()" ) => 3801282741 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15Contract + rule ( selector ( "testGasLoadWarmUp()" ) => 604011046 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdJson.0.8.15)] + rule ( selector ( "testGasLoadWarmVM()" ) => 2607902342 ) + + rule ( selector ( "testGasStoreColdVM()" ) => 2309593716 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122024dd9a5a6e55db0ba388c160f15b3fe281c90796cedd81094d69abfc2b9579bc64736f6c634300080f0033" ) ) + rule ( selector ( "testGasStoreWarmUp()" ) => 1546465326 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13Contract + rule ( selector ( "testGasStoreWarmVM()" ) => 100073271 ) + - syntax S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdMath.0.8.13)] + rule ( selector ( "testLoadNonExistent()" ) => 2275977243 ) + + rule ( selector ( "testStoreLoad()" ) => 1208516723 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205d5896cecc074b7a125dff1c77ff303e9e188764651777cf455720d281a08f2864736f6c634300080d0033" ) ) + rule ( selector ( "testStoreLoadNonExistent()" ) => 3912017339 ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-CONTRACT +module S2KtestZModSymbolicStorageTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KtestZModSymbolicStorageTestContract - syntax S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdMath.0.8.15)] + syntax S2KtestZModSymbolicStorageTestContract ::= "S2KtestZModSymbolicStorageTest" [symbol(""), klabel(contract_test%SymbolicStorageTest)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220245b15fff83fa736a16377c3de1f1f5483b362b3b53473c69c432a57a394bcf664736f6c634300080f0033" ) ) + rule ( #initBytecode ( S2KtestZModSymbolicStorageTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610f9e8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063961279461161008c578063ba414fa611610066578063ba414fa614610192578063d6a2ec76146101aa578063e20c9f71146101e9578063fa7626d4146101f157600080fd5b80639612794614610164578063acd6964014610177578063b5508aa91461018a57600080fd5b80633f7286f4116100c85780633f7286f41461012a57806366d9a9a01461013257806385226c8114610147578063916a17c61461015c57600080fd5b80631ed7831c146100ef57806330f6beb51461010d5780633e5e3c2314610122575b600080fd5b6100f76101fe565b6040516101049190610c7a565b60405180910390f35b61012061011b366004610cc7565b610260565b005b6100f7610382565b6100f76103e2565b61013a610442565b6040516101049190610ce0565b61014f610531565b6040516101049190610dc3565b61013a610601565b610120610172366004610cc7565b6106e7565b610120610185366004610cc7565b610775565b61014f6107e3565b61019a6108b3565b6040519015158152602001610104565b6101d17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b039091168152602001610104565b6100f76109e0565b60075461019a9060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561025657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610238575b5050505050905090565b6040516316f02cd760e11b815273ea674fdde714fd979de3edf0f56aa9716b898ec86004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024015b600060405180830381600087803b1580156102c457600080fd5b505af11580156102d8573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526024810185905260009250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103629190610e3d565b9050600081900361037257600080fd5b61037d816000610a40565b505050565b60606016805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561051057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104d25790505b50505050508152505081526020019060010190610466565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461057490610e56565b80601f01602080910402602001604051908101604052809291908181526020018280546105a090610e56565b80156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081526020019060010190610555565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156106cf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106915790505b50505050508152505081526020019060010190610625565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526024820183905260009163667f9d7090604401602060405180830381865afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610e3d565b9050610771816000610a40565b5050565b600060405161078390610c6e565b604051809103906000f08015801561079f573d6000803e3d6000fd5b506040516316f02cd760e11b81526001600160a01b0382166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024016102aa565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461082690610e56565b80601f016020809104026020016040519081016040528092919081815260200182805461085290610e56565b801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081526020019060010190610807565b600754600090610100900460ff16156108d55750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156109db5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610963917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610e90565b60408051601f198184030181529082905261097d91610ec1565b6000604051808303816000865af19150503d80600081146109ba576040519150601f19603f3d011682016040523d82523d6000602084013e6109bf565b606091505b50915050808060200190518101906109d79190610edd565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b808214610771577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610ab19060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610771737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c5d5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610bfc9291602001610e90565b60408051601f1981840301815290829052610c1691610ec1565b6000604051808303816000865af19150503d8060008114610c53576040519150601f19603f3d011682016040523d82523d6000602084013e610c58565b606091505b505050505b6007805461ff001916610100179055565b606280610f0783390190565b6020808252825182820181905260009190848201906040850190845b81811015610cbb5783516001600160a01b031683529284019291840191600101610c96565b50909695505050505050565b600060208284031215610cd957600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610d8457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610d6f5783516001600160e01b0319168252928b019260019290920191908b0190610d45565b50978a01979550505091870191600101610d08565b50919998505050505050505050565b60005b83811015610dae578181015183820152602001610d96565b83811115610dbd576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e3057878503603f1901845281518051808752610e11818989018a8501610d93565b601f01601f191695909501860194509285019290850190600101610dea565b5092979650505050505050565b600060208284031215610e4f57600080fd5b5051919050565b600181811c90821680610e6a57607f821691505b602082108103610e8a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610eb3816004850160208701610d93565b919091016004019392505050565b60008251610ed3818460208701610d93565b9190910192915050565b600060208284031215610eef57600080fd5b81518015158114610eff57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033a2646970667358221220cbd90a0014553bf186944d5b824312c26f580e2976b1466ccc46be6c15157b7364736f6c634300080d0033" ) ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13Contract + syntax Field ::= S2KtestZModSymbolicStorageTestField - syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdStorage.0.8.13)] + syntax S2KtestZModSymbolicStorageTestField ::= "stdstore" [symbol(""), klabel(field_test%SymbolicStorageTest_stdstore)] - + syntax S2KtestZModSymbolicStorageTestField ::= "IS_TEST" [symbol(""), klabel(field_test%SymbolicStorageTest_IS_TEST)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205783f6e832bfb40b5a129ed00392cc4ddc0ee1b8814a44b32ec6685fd62b970064736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY + syntax S2KtestZModSymbolicStorageTestField ::= "_failed" [symbol(""), klabel(field_test%SymbolicStorageTest__failed)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15Contract + syntax S2KtestZModSymbolicStorageTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%SymbolicStorageTest_stdChainsInitialized)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdStorage.0.8.15)] + syntax S2KtestZModSymbolicStorageTestField ::= "chains" [symbol(""), klabel(field_test%SymbolicStorageTest_chains)] - + syntax S2KtestZModSymbolicStorageTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_defaultRpcUrls)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220629a302b026afa9a64649123ecee0a8b2bea06682778f323097f025c74fdb98164736f6c634300080f0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY + syntax S2KtestZModSymbolicStorageTestField ::= "idToAlias" [symbol(""), klabel(field_test%SymbolicStorageTest_idToAlias)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13Contract + syntax S2KtestZModSymbolicStorageTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_fallbackToDefaultRpcUrls)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%stdStorageSafe.0.8.13)] + syntax S2KtestZModSymbolicStorageTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%SymbolicStorageTest_gasMeteringOff)] - + syntax S2KtestZModSymbolicStorageTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedContracts)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220759f01e635a02e37e6673da50d4bf039c7767b2dfa5940553e131b798527412664736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY + syntax S2KtestZModSymbolicStorageTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedSenders)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15Contract + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedContracts)] - syntax S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%stdStorageSafe.0.8.15)] + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSenders)] - + syntax S2KtestZModSymbolicStorageTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedArtifacts)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e2d3b0ffb64d20b9ed5fb2bb8695256b970ba80c3d4e9aceddfc43131347d9f364736f6c634300080f0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifacts)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13Contract + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifactSelectors)] - syntax S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdStyle.0.8.13)] + syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSelectors)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . stdstore ) => 0 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220013d1ea7f60ab0d57dc3e5d2001cc7935e44b07882c1aea9436566207923d48364736f6c634300080d0033" ) ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . IS_TEST ) => 7 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdStyle.0.8.15)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . _failed ) => 7 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204beca267398cb44ce7d407ecb55996cfe6b60cf9c01507b13d0fbb7c75fadfae64736f6c634300080f0033" ) ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . stdChainsInitialized ) => 7 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%StdUtils.0.8.13)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . chains ) => 8 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . defaultRpcUrls ) => 9 ) - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%StdUtils.0.8.15)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . idToAlias ) => 10 ) - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . fallbackToDefaultRpcUrls ) => 11 ) - -endmodule - -module S2KtestZModStore-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModStoreContract - - syntax S2KtestZModStoreContract ::= "S2KtestZModStore" [symbol(""), klabel(contract_test%Store)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . gasMeteringOff ) => 11 ) - rule ( #initBytecode ( S2KtestZModStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033" ) ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedContracts ) => 19 ) - syntax Field ::= S2KtestZModStoreField + rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedSenders ) => 20 ) + - syntax S2KtestZModStoreField ::= "testNumber" [symbol(""), klabel(field_test%Store_testNumber)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedContracts ) => 21 ) + - rule ( #loc ( S2KtestZModStore . testNumber ) => 0 ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSenders ) => 22 ) - -endmodule - -module S2KtestZModStoreTest-CONTRACT - imports public FOUNDRY - syntax Contract ::= S2KtestZModStoreTestContract + rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedArtifacts ) => 23 ) + - syntax S2KtestZModStoreTestContract ::= "S2KtestZModStoreTest" [symbol(""), klabel(contract_test%StoreTest)] + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifacts ) => 24 ) + + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifactSelectors ) => 25 ) - rule ( #initBytecode ( S2KtestZModStoreTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113ad8061003d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806387a8a81b116100ad578063ba414fa611610071578063ba414fa6146101db578063e20c9f71146101f3578063e292f8b5146101fb578063e92ca5bb14610203578063fa7626d41461020b57600080fd5b806387a8a81b146101b357806389a99a74146101bb578063916a17c6146101c35780639b716e86146101cb578063b5508aa9146101d357600080fd5b80633f7286f4116100f45780633f7286f41461017157806348088073146101795780635c2d302e1461018157806366d9a9a01461018957806385226c811461019e57600080fd5b806305f6ff371461013157806309840bb51461013b5780631ed7831c1461014357806324007a26146101615780633e5e3c2314610169575b600080fd5b610139610218565b005b6101396102b8565b61014b6103fb565b6040516101589190610f36565b60405180910390f35b61013961045d565b61014b6104f5565b61014b610555565b6101396105b5565b6101396106f0565b61019161077c565b6040516101589190610f83565b6101a661086b565b6040516101589190611066565b61013961093b565b6101396109c9565b610191610a0b565b610139610af1565b6101a6610b79565b6101e3610c49565b6040519015158152602001610158565b61014b610d76565b610139610dd6565b610139610e06565b6007546101e39060ff1681565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f15050604051600093506102a392506000805160206113588339815191529150610274906065906017906005906024016110e0565b60408051601f198184030181529190526020810180516001600160e01b03166370ca10bb60e01b179052610f08565b905080607d146102b5576102b5611101565b50565b60006040516102c690610f2a565b604051809103906000f0801580156102e2573d6000803e3d6000fd5b50905060008051602061135883398151915260001c6001600160a01b031663266cf1096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50506040516365bc948160e01b81526001600160a01b038416600482015260009250829150737109709ecfa91a80626ff3989d68f67f5b1dd12d906365bc9481906024016000604051808303816000875af11580156103a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103d091908101906111c8565b9150915081516001146103e5576103e5611101565b80516001146103f6576103f6611101565b505050565b6060601480548060200260200160405190810160405280929190818152602001828054801561045357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610435575b5050505050905090565b604051630667f9d760e41b81526065600482015260176024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa1580156104b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d8919061122c565b5060006102a3606560405180602001604052806000815250610f08565b60606016805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60006040516105c390610f2a565b604051809103906000f0801580156105df573d6000803e3d6000fd5b506040516370ca10bb60e01b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610621908490600090617a69906004016110e0565b600060405180830381600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526000602482018190529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa1580156106b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d9919061122c565b9050617a6981146106ec576106ec611101565b5050565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb9061072e906065906017906005906004016110e0565b600060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b5050505060006102a3606560405180602001604052806000815250610f08565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561084a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161080c5790505b505050505081525050815260200190600101906107a0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156108625783829060005260206000200180546108ae90611245565b80601f01602080910402602001604051908101604052809291908181526020018280546108da90611245565b80156109275780601f106108fc57610100808354040283529160200191610927565b820191906000526020600020905b81548152906001019060200180831161090a57829003601f168201915b50505050508152602001906001019061088f565b604051630667f9d760e41b81526064600482015260176024820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063667f9d7090604401602060405180830381865afa158015610995573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b9919061122c565b905080156102b5576102b5611101565b6040516000906109f89060008051602061135883398151915290610274906065906017906005906024016110e0565b905080610a41146102b5576102b5611101565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156108625760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610ad957602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610a9b5790505b50505050508152505081526020019060010190610a2f565b604051737109709ecfa91a80626ff3989d68f67f5b1dd12d906108fc9060009081818181818888f150506040516065602482015260176044820152600093506102a3925060008051602061135883398151915291506064015b60408051601f198184030181529190526020810180516001600160e01b0316630667f9d760e41b179052610f08565b60606017805480602002602001604051908101604052809291908181526020016000905b82821015610862578382906000526020600020018054610bbc90611245565b80601f0160208091040260200160405190810160405280929190818152602001828054610be890611245565b8015610c355780601f10610c0a57610100808354040283529160200191610c35565b820191906000526020600020905b815481529060010190602001808311610c1857829003601f168201915b505050505081526020019060010190610b9d565b600754600090610100900460ff1615610c6b5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d715760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610cf9917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800161127f565b60408051601f1981840301815290829052610d13916112b0565b6000604051808303816000865af19150503d8060008114610d50576040519150601f19603f3d011682016040523d82523d6000602084013e610d55565b606091505b5091505080806020019051810190610d6d91906112cc565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610453576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610435575050505050905090565b60405160656024820152601760448201526000906109f89060008051602061135883398151915290606401610b4a565b6040516370ca10bb60e01b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d906370ca10bb90610e4590600090600390617a69906004016110e0565b600060405180830381600087803b158015610e5f57600080fd5b505af1158015610e73573d6000803e3d6000fd5b5050604051630667f9d760e41b8152600060048201819052600360248301529250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa158015610ed1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef5919061122c565b9050617a6981146102b5576102b5611101565b6000808260200183515a600080838560008b86f1505a90039695505050505050565b6062806112f683390190565b6020808252825182820181905260009190848201906040850190845b81811015610f775783516001600160a01b031683529284019291840191600101610f52565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561102757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110125783516001600160e01b0319168252928b019260019290920191908b0190610fe8565b50978a01979550505091870191600101610fab565b50919998505050505050505050565b60005b83811015611051578181015183820152602001611039565b83811115611060576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156110d357878503603f19018452815180518087526110b4818989018a8501611036565b601f01601f19169590950186019450928501929085019060010161108d565b5092979650505050505050565b6001600160a01b039390931683526020830191909152604082015260600190565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261113e57600080fd5b8151602067ffffffffffffffff8083111561115b5761115b611117565b8260051b604051601f19603f8301168101818110848211171561118057611180611117565b60405293845285810183019383810192508785111561119e57600080fd5b83870191505b848210156111bd578151835291830191908301906111a4565b979650505050505050565b600080604083850312156111db57600080fd5b825167ffffffffffffffff808211156111f357600080fd5b6111ff8683870161112d565b9350602085015191508082111561121557600080fd5b506112228582860161112d565b9150509250929050565b60006020828403121561123e57600080fd5b5051919050565b600181811c9082168061125957607f821691505b60208210810361127957634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b03198316815281516000906112a2816004850160208701611036565b919091016004019392505050565b600082516112c2818460208701611036565b9190910192915050565b6000602082840312156112de57600080fd5b815180151581146112ee57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122016040e8ab316c294adf74b3b8d9dd45cd06dc0d3911a4c781eb1918c6e06d93764736f6c634300080d0033885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12da26469706673582212200d53b9c70ab4ae45da5fc701137def31a5b817946faeb613c39c4628b697410464736f6c634300080d0033" ) ) + rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSelectors ) => 26 ) - syntax Field ::= S2KtestZModStoreTestField + syntax Bytes ::= S2KtestZModSymbolicStorageTestContract "." S2KtestZModSymbolicStorageTestMethod [function, symbol(""), klabel(method_test%SymbolicStorageTest)] - syntax S2KtestZModStoreTestField ::= "stdstore" [symbol(""), klabel(field_test%StoreTest_stdstore)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KISZUndTEST_)] - syntax S2KtestZModStoreTestField ::= "IS_TEST" [symbol(""), klabel(field_test%StoreTest_IS_TEST)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeArtifacts_)] - syntax S2KtestZModStoreTestField ::= "_failed" [symbol(""), klabel(field_test%StoreTest__failed)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeContracts_)] - syntax S2KtestZModStoreTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%StoreTest_stdChainsInitialized)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeSenders_)] - syntax S2KtestZModStoreTestField ::= "chains" [symbol(""), klabel(field_test%StoreTest_chains)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kfailed_)] - syntax S2KtestZModStoreTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_defaultRpcUrls)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kkevm_)] - syntax S2KtestZModStoreTestField ::= "idToAlias" [symbol(""), klabel(field_test%StoreTest_idToAlias)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifactSelectors_)] - syntax S2KtestZModStoreTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%StoreTest_fallbackToDefaultRpcUrls)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifacts_)] - syntax S2KtestZModStoreTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%StoreTest_gasMeteringOff)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetContracts_)] - syntax S2KtestZModStoreTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%StoreTest__excludedContracts)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSelectors_)] - syntax S2KtestZModStoreTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%StoreTest__excludedSenders)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSenders_)] - syntax S2KtestZModStoreTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%StoreTest__targetedContracts)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestEmptyInitialStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestEmptyInitialStorage_uint256)] - syntax S2KtestZModStoreTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%StoreTest__targetedSenders)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage_uint256)] - syntax S2KtestZModStoreTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%StoreTest__excludedArtifacts)] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage1" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage1_uint256)] - syntax S2KtestZModStoreTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%StoreTest__targetedArtifacts)] + rule ( S2KtestZModSymbolicStorageTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + - syntax S2KtestZModStoreTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%StoreTest__targetedArtifactSelectors)] + rule ( S2KtestZModSymbolicStorageTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + - syntax S2KtestZModStoreTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%StoreTest__targetedSelectors)] + rule ( S2KtestZModSymbolicStorageTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + - rule ( #loc ( S2KtestZModStoreTest . stdstore ) => 0 ) + rule ( S2KtestZModSymbolicStorageTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . IS_TEST ) => 7 ) + rule ( S2KtestZModSymbolicStorageTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . _failed ) => 7 ) + rule ( S2KtestZModSymbolicStorageTest . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . stdChainsInitialized ) => 7 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . chains ) => 8 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . defaultRpcUrls ) => 9 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . idToAlias ) => 10 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . fallbackToDefaultRpcUrls ) => 11 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - rule ( #loc ( S2KtestZModStoreTest . gasMeteringOff ) => 11 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestEmptyInitialStorage ( V0_slot : uint256 ) => #abiCallData ( "testEmptyInitialStorage" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_slot ) - rule ( #loc ( S2KtestZModStoreTest . _excludedContracts ) => 19 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_slot ) - rule ( #loc ( S2KtestZModStoreTest . _excludedSenders ) => 20 ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage1 ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage1" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_slot ) - rule ( #loc ( S2KtestZModStoreTest . _targetedContracts ) => 21 ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedSenders ) => 22 ) + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - rule ( #loc ( S2KtestZModStoreTest . _excludedArtifacts ) => 23 ) + rule ( selector ( "excludeContracts()" ) => 3792478065 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedArtifacts ) => 24 ) + rule ( selector ( "excludeSenders()" ) => 517440284 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedArtifactSelectors ) => 25 ) + rule ( selector ( "failed()" ) => 3124842406 ) - rule ( #loc ( S2KtestZModStoreTest . _targetedSelectors ) => 26 ) + rule ( selector ( "kevm()" ) => 3601001590 ) - syntax Bytes ::= S2KtestZModStoreTestContract "." S2KtestZModStoreTestMethod [function, symbol(""), klabel(method_test%StoreTest)] + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + - syntax S2KtestZModStoreTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KISZUndTEST_)] + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + - syntax S2KtestZModStoreTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeArtifacts_)] + rule ( selector ( "targetContracts()" ) => 1064470260 ) + - syntax S2KtestZModStoreTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeContracts_)] + rule ( selector ( "targetSelectors()" ) => 2439649222 ) + - syntax S2KtestZModStoreTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KexcludeSenders_)] + rule ( selector ( "targetSenders()" ) => 1046363171 ) + - syntax S2KtestZModStoreTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2Kfailed_)] + rule ( selector ( "testEmptyInitialStorage(uint256)" ) => 2517793094 ) + - syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifactSelectors_)] + rule ( selector ( "testFail_SymbolicStorage(uint256)" ) => 821477045 ) + - syntax S2KtestZModStoreTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetArtifacts_)] + rule ( selector ( "testFail_SymbolicStorage1(uint256)" ) => 2899744320 ) + + +endmodule + +module S2KtestZModSymbolicStore-CONTRACT + imports public FOUNDRY - syntax S2KtestZModStoreTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetContracts_)] + syntax Contract ::= S2KtestZModSymbolicStoreContract - syntax S2KtestZModStoreTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSelectors_)] + syntax S2KtestZModSymbolicStoreContract ::= "S2KtestZModSymbolicStore" [symbol(""), klabel(contract_test%SymbolicStore)] - syntax S2KtestZModStoreTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtargetSenders_)] + - syntax S2KtestZModStoreTestMethod ::= "S2KtestAccesses" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestAccesses_)] + rule ( #initBytecode ( S2KtestZModSymbolicStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033" ) ) + - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadColdVM_)] + syntax Field ::= S2KtestZModSymbolicStoreField - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmUp_)] + syntax S2KtestZModSymbolicStoreField ::= "testNumber" [symbol(""), klabel(field_test%SymbolicStore_testNumber)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasLoadWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasLoadWarmVM_)] + rule ( #loc ( S2KtestZModSymbolicStore . testNumber ) => 0 ) + + +endmodule + +module S2KsrcZModTestNumber-CONTRACT + imports public FOUNDRY - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreColdVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreColdVM_)] + syntax Contract ::= S2KsrcZModTestNumberContract - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmUp" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmUp_)] + syntax S2KsrcZModTestNumberContract ::= "S2KsrcZModTestNumber" [symbol(""), klabel(contract_src%TestNumber)] - syntax S2KtestZModStoreTestMethod ::= "S2KtestGasStoreWarmVM" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestGasStoreWarmVM_)] + - syntax S2KtestZModStoreTestMethod ::= "S2KtestLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestLoadNonExistent_)] + rule ( #initBytecode ( S2KsrcZModTestNumber ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5060405161037e38038061037e83398101604081905261003c91610044565b60015561005d565b60006020828403121561005657600080fd5b5051919050565b6103128061006c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630d1972f314610051578063afe29f711461006d578063ba414fa614610080578063fa7626d414610098575b600080fd5b61005a60015481565b6040519081526020015b60405180910390f35b61005a61007b36600461022f565b6100a5565b610088610104565b6040519015158152602001610064565b6000546100889060ff1681565b600181905560405160009081907f0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b906100f6906020808252600490820152636865726560e01b604082015260600190565b60405180910390a192915050565b60008054610100900460ff16156101245750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561022a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916101b2917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610283565b60408051601f19818403018152908290526101cc916102a7565b6000604051808303816000865af19150503d8060008114610209576040519150601f19603f3d011682016040523d82523d6000602084013e61020e565b606091505b509150508080602001905181019061022691906102ba565b9150505b919050565b60006020828403121561024157600080fd5b5035919050565b6000815160005b81811015610269576020818501810151868301520161024f565b81811115610278576000828601525b509290920192915050565b6001600160e01b031983168152600061029f6004830184610248565b949350505050565b60006102b38284610248565b9392505050565b6000602082840312156102cc57600080fd5b815180151581146102b357600080fdfea26469706673582212208e3ab382ba3ec7a4fe8b60fc95093981bce0a187268241ec35637ba9b849504a64736f6c634300080d0033" ) ) + - syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoad" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoad_)] + syntax Field ::= S2KsrcZModTestNumberField - syntax S2KtestZModStoreTestMethod ::= "S2KtestStoreLoadNonExistent" "(" ")" [symbol(""), klabel(method_test%StoreTest_S2KtestStoreLoadNonExistent_)] + syntax S2KsrcZModTestNumberField ::= "IS_TEST" [symbol(""), klabel(field_src%TestNumber_IS_TEST)] - rule ( S2KtestZModStoreTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - + syntax S2KsrcZModTestNumberField ::= "_failed" [symbol(""), klabel(field_src%TestNumber__failed)] - rule ( S2KtestZModStoreTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - + syntax S2KsrcZModTestNumberField ::= "testNumber" [symbol(""), klabel(field_src%TestNumber_testNumber)] - rule ( S2KtestZModStoreTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( #loc ( S2KsrcZModTestNumber . IS_TEST ) => 0 ) - rule ( S2KtestZModStoreTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( #loc ( S2KsrcZModTestNumber . _failed ) => 0 ) - rule ( S2KtestZModStoreTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( #loc ( S2KsrcZModTestNumber . testNumber ) => 1 ) - rule ( S2KtestZModStoreTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - + syntax Bytes ::= S2KsrcZModTestNumberContract "." S2KsrcZModTestNumberMethod [function, symbol(""), klabel(method_src%TestNumber)] - rule ( S2KtestZModStoreTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - + syntax S2KsrcZModTestNumberMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_src%TestNumber_S2KISZUndTEST_)] - rule ( S2KtestZModStoreTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - + syntax S2KsrcZModTestNumberMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_src%TestNumber_S2Kfailed_)] - rule ( S2KtestZModStoreTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - + syntax S2KsrcZModTestNumberMethod ::= "S2Kt" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%TestNumber_S2Kt_uint256)] - rule ( S2KtestZModStoreTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + syntax S2KsrcZModTestNumberMethod ::= "S2KtestNumber" "(" ")" [symbol(""), klabel(method_src%TestNumber_S2KtestNumber_)] + + rule ( S2KsrcZModTestNumber . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestAccesses ( ) => #abiCallData ( "testAccesses" , .TypedArgs ) ) + rule ( S2KsrcZModTestNumber . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestGasLoadColdVM ( ) => #abiCallData ( "testGasLoadColdVM" , .TypedArgs ) ) + rule ( S2KsrcZModTestNumber . S2Kt ( V0_a : uint256 ) => #abiCallData ( "t" , ( #uint256 ( V0_a ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_a ) - rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmUp ( ) => #abiCallData ( "testGasLoadWarmUp" , .TypedArgs ) ) + rule ( S2KsrcZModTestNumber . S2KtestNumber ( ) => #abiCallData ( "testNumber" , .TypedArgs ) ) - rule ( S2KtestZModStoreTest . S2KtestGasLoadWarmVM ( ) => #abiCallData ( "testGasLoadWarmVM" , .TypedArgs ) ) + rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( S2KtestZModStoreTest . S2KtestGasStoreColdVM ( ) => #abiCallData ( "testGasStoreColdVM" , .TypedArgs ) ) + rule ( selector ( "failed()" ) => 3124842406 ) - rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmUp ( ) => #abiCallData ( "testGasStoreWarmUp" , .TypedArgs ) ) - - - rule ( S2KtestZModStoreTest . S2KtestGasStoreWarmVM ( ) => #abiCallData ( "testGasStoreWarmVM" , .TypedArgs ) ) - - - rule ( S2KtestZModStoreTest . S2KtestLoadNonExistent ( ) => #abiCallData ( "testLoadNonExistent" , .TypedArgs ) ) - - - rule ( S2KtestZModStoreTest . S2KtestStoreLoad ( ) => #abiCallData ( "testStoreLoad" , .TypedArgs ) ) - - - rule ( S2KtestZModStoreTest . S2KtestStoreLoadNonExistent ( ) => #abiCallData ( "testStoreLoadNonExistent" , .TypedArgs ) ) - - - rule ( selector ( "IS_TEST()" ) => 4202047188 ) - - - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - - - rule ( selector ( "excludeContracts()" ) => 3792478065 ) - - - rule ( selector ( "excludeSenders()" ) => 517440284 ) - - - rule ( selector ( "failed()" ) => 3124842406 ) - - - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - - - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - - - rule ( selector ( "targetContracts()" ) => 1064470260 ) - - - rule ( selector ( "targetSelectors()" ) => 2439649222 ) - - - rule ( selector ( "targetSenders()" ) => 1046363171 ) - - - rule ( selector ( "testAccesses()" ) => 159648693 ) - - - rule ( selector ( "testGasLoadColdVM()" ) => 3801282741 ) - - - rule ( selector ( "testGasLoadWarmUp()" ) => 604011046 ) - - - rule ( selector ( "testGasLoadWarmVM()" ) => 2607902342 ) - - - rule ( selector ( "testGasStoreColdVM()" ) => 2309593716 ) - - - rule ( selector ( "testGasStoreWarmUp()" ) => 1546465326 ) - - - rule ( selector ( "testGasStoreWarmVM()" ) => 100073271 ) - - - rule ( selector ( "testLoadNonExistent()" ) => 2275977243 ) - - - rule ( selector ( "testStoreLoad()" ) => 1208516723 ) + rule ( selector ( "t(uint256)" ) => 2950864753 ) - rule ( selector ( "testStoreLoadNonExistent()" ) => 3912017339 ) + rule ( selector ( "testNumber()" ) => 219771635 ) endmodule -module S2KtestZModSymbolicStorageTest-CONTRACT +module S2KtestZModToStringTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KtestZModSymbolicStorageTestContract + syntax Contract ::= S2KtestZModToStringTestContract - syntax S2KtestZModSymbolicStorageTestContract ::= "S2KtestZModSymbolicStorageTest" [symbol(""), klabel(contract_test%SymbolicStorageTest)] + syntax S2KtestZModToStringTestContract ::= "S2KtestZModToStringTest" [symbol(""), klabel(contract_test%ToStringTest)] - rule ( #initBytecode ( S2KtestZModSymbolicStorageTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b50610f9e8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063961279461161008c578063ba414fa611610066578063ba414fa614610192578063d6a2ec76146101aa578063e20c9f71146101e9578063fa7626d4146101f157600080fd5b80639612794614610164578063acd6964014610177578063b5508aa91461018a57600080fd5b80633f7286f4116100c85780633f7286f41461012a57806366d9a9a01461013257806385226c8114610147578063916a17c61461015c57600080fd5b80631ed7831c146100ef57806330f6beb51461010d5780633e5e3c2314610122575b600080fd5b6100f76101fe565b6040516101049190610c7a565b60405180910390f35b61012061011b366004610cc7565b610260565b005b6100f7610382565b6100f76103e2565b61013a610442565b6040516101049190610ce0565b61014f610531565b6040516101049190610dc3565b61013a610601565b610120610172366004610cc7565b6106e7565b610120610185366004610cc7565b610775565b61014f6107e3565b61019a6108b3565b6040519015158152602001610104565b6101d17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b6040516001600160a01b039091168152602001610104565b6100f76109e0565b60075461019a9060ff1681565b6060601480548060200260200160405190810160405280929190818152602001828054801561025657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610238575b5050505050905090565b6040516316f02cd760e11b815273ea674fdde714fd979de3edf0f56aa9716b898ec86004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024015b600060405180830381600087803b1580156102c457600080fd5b505af11580156102d8573d6000803e3d6000fd5b5050604051630667f9d760e41b81526001600160a01b03841660048201526024810185905260009250737109709ecfa91a80626ff3989d68f67f5b1dd12d915063667f9d7090604401602060405180830381865afa15801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103629190610e3d565b9050600081900361037257600080fd5b61037d816000610a40565b505050565b60606016805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561051057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116104d25790505b50505050508152505081526020019060010190610466565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461057490610e56565b80601f01602080910402602001604051908101604052809291908181526020018280546105a090610e56565b80156105ed5780601f106105c2576101008083540402835291602001916105ed565b820191906000526020600020905b8154815290600101906020018083116105d057829003601f168201915b505050505081526020019060010190610555565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156105285760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156106cf57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116106915790505b50505050508152505081526020019060010190610625565b604051630667f9d760e41b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190526024820183905260009163667f9d7090604401602060405180830381865afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610e3d565b9050610771816000610a40565b5050565b600060405161078390610c6e565b604051809103906000f08015801561079f573d6000803e3d6000fd5b506040516316f02cd760e11b81526001600160a01b0382166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90632de059ae906024016102aa565b60606017805480602002602001604051908101604052809291908181526020016000905b8282101561052857838290600052602060002001805461082690610e56565b80601f016020809104026020016040519081016040528092919081815260200182805461085290610e56565b801561089f5780601f106108745761010080835404028352916020019161089f565b820191906000526020600020905b81548152906001019060200180831161088257829003601f168201915b505050505081526020019060010190610807565b600754600090610100900460ff16156108d55750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156109db5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610963917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610e90565b60408051601f198184030181529082905261097d91610ec1565b6000604051808303816000865af19150503d80600081146109ba576040519150601f19603f3d011682016040523d82523d6000602084013e6109bf565b606091505b50915050808060200190518101906109d79190610edd565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610256576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610238575050505050905090565b808214610771577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610ab19060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a160408051818152600a81830152690808080808081319599d60b21b60608201526020810184905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a160408051818152600a81830152690808080808149a59da1d60b21b60608201526020810183905290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a1610771737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c5d5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610bfc9291602001610e90565b60408051601f1981840301815290829052610c1691610ec1565b6000604051808303816000865af19150503d8060008114610c53576040519150601f19603f3d011682016040523d82523d6000602084013e610c58565b606091505b505050505b6007805461ff001916610100179055565b606280610f0783390190565b6020808252825182820181905260009190848201906040850190845b81811015610cbb5783516001600160a01b031683529284019291840191600101610c96565b50909695505050505050565b600060208284031215610cd957600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610d8457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610d6f5783516001600160e01b0319168252928b019260019290920191908b0190610d45565b50978a01979550505091870191600101610d08565b50919998505050505050505050565b60005b83811015610dae578181015183820152602001610d96565b83811115610dbd576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610e3057878503603f1901845281518051808752610e11818989018a8501610d93565b601f01601f191695909501860194509285019290850190600101610dea565b5092979650505050505050565b600060208284031215610e4f57600080fd5b5051919050565b600181811c90821680610e6a57607f821691505b602082108103610e8a57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b0319831681528151600090610eb3816004850160208701610d93565b919091016004019392505050565b60008251610ed3818460208701610d93565b9190910192915050565b600060208284031215610eef57600080fd5b81518015158114610eff57600080fd5b939250505056fe6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033a2646970667358221220cbd90a0014553bf186944d5b824312c26f580e2976b1466ccc46be6c15157b7364736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModToStringTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113658061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806366d9a9a011610097578063ba414fa611610066578063ba414fa614610197578063e20c9f71146101af578063f0cb13fb146101b7578063fa7626d4146101bf57600080fd5b806366d9a9a01461015d57806385226c8114610172578063916a17c614610187578063b5508aa91461018f57600080fd5b80633e5e3c23116100d35780633e5e3c231461013d5780633f7286f414610145578063416c8c831461014d57806353538af91461015557600080fd5b806305e65172146101055780630c35d2ac1461010f5780631ed7831c14610117578063302ab09d14610135575b600080fd5b61010d6101cc565b005b61010d610277565b61011f610318565b60405161012c9190610eed565b60405180910390f35b61010d61037a565b61011f61042f565b61011f61048f565b61010d6104ef565b61010d610636565b610165610702565b60405161012c9190610f3a565b61017a6107f1565b60405161012c9190611049565b6101656108c1565b61017a6109a7565b61019f610a77565b604051901515815260200161012c565b61011f610ba4565b61010d610c04565b60075461019f9060ff1681565b60405163348051d760e11b81526104d26004820181905290600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90636900a3ae90602401600060405180830381865afa158015610223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261024b91908101906110c1565b9050610273604051806040016040528060048152602001630c4c8ccd60e21b81525082610ca9565b5050565b604051631623433d60e31b8152600060048201819052908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063b11a19e890602401600060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906110c1565b90506102736040518060800160405280604281526020016112c46042913982610ca9565b6060601480548060200260200160405190810160405280929190818152602001828054801561037057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610352575b5050505050905090565b604051632b65311f60e11b815273ea674fdde714fd979de3edf0f56aa9716b898ec86004820181905290600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156103e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261040b91908101906110c1565b90506102736040518060600160405280602a8152602001611306602a913982610ca9565b60606016805480602002602001604051908101604052809291908181526020018280548015610370576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610352575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610370576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610352575050505050905090565b6040516338ee73ed60e11b815260016004820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906371dce7da90602401600060405180830381865afa158015610542573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261056a91908101906110c1565b9050610592604051806040016040528060048152602001637472756560e01b81525082610ca9565b6040516338ee73ed60e11b815260006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906371dce7da90602401600060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261060a91908101906110c1565b90506106336040518060400160405280600581526020016466616c736560d81b81525082610ca9565b50565b60408051808201825260148152737109709ecfa91a80626ff3989d68f67f5b1dd12d60601b602082015290516371aad10d60e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d9061069990859060040161116e565b600060405180830381865afa1580156106b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106de91908101906110c1565b90506102736040518060600160405280602a815260200161129a602a913982610ca9565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156107e85760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156107d057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116107925790505b50505050508152505081526020019060010190610726565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156107e857838290600052602060002001805461083490611188565b80601f016020809104026020016040519081016040528092919081815260200182805461086090611188565b80156108ad5780601f10610882576101008083540402835291602001916108ad565b820191906000526020600020905b81548152906001019060200180831161089057829003601f168201915b505050505081526020019060010190610815565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156107e85760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561098f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116109515790505b505050505081525050815260200190600101906108e5565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156107e85783829060005260206000200180546109ea90611188565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1690611188565b8015610a635780601f10610a3857610100808354040283529160200191610a63565b820191906000526020600020905b815481529060010190602001808311610a4657829003601f168201915b5050505050815260200190600101906109cb565b600754600090610100900460ff1615610a995750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610b9f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610b27917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016111c2565b60408051601f1981840301815290829052610b41916111f3565b6000604051808303816000865af19150503d8060008114610b7e576040519150601f19603f3d011682016040523d82523d6000602084013e610b83565b606091505b5091505080806020019051810190610b9b919061120f565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610370576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610352575050505050905090565b604051635191620760e11b81526104d1196004820181905290600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a322c40e90602401600060405180830381865afa158015610c5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c8491908101906110c1565b9050610273604051806040016040528060058152602001640b4c4c8ccd60da1b815250825b80604051602001610cba91906111f3565b6040516020818303038152906040528051906020012082604051602001610ce191906111f3565b6040516020818303038152906040528051906020012014610273577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610d689060208082526024908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472604082015263696e675d60e01b606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382604051610d9f9190611231565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051610dd69190611265565b60405180910390a1610273737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610edc5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610e7b92916020016111c2565b60408051601f1981840301815290829052610e95916111f3565b6000604051808303816000865af19150503d8060008114610ed2576040519150601f19603f3d011682016040523d82523d6000602084013e610ed7565b606091505b505050505b6007805461ff001916610100179055565b6020808252825182820181905260009190848201906040850190845b81811015610f2e5783516001600160a01b031683529284019291840191600101610f09565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610fde57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610fc95783516001600160e01b0319168252928b019260019290920191908b0190610f9f565b50978a01979550505091870191600101610f62565b50919998505050505050505050565b60005b83811015611008578181015183820152602001610ff0565b83811115611017576000848401525b50505050565b60008151808452611035816020860160208601610fed565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561109e57603f1988860301845261108c85835161101d565b94509285019290850190600101611070565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156110d357600080fd5b815167ffffffffffffffff808211156110eb57600080fd5b818401915084601f8301126110ff57600080fd5b815181811115611111576111116110ab565b604051601f8201601f19908116603f01168101908382118183101715611139576111396110ab565b8160405282815287602084870101111561115257600080fd5b611163836020830160208801610fed565b979650505050505050565b602081526000611181602083018461101d565b9392505050565b600181811c9082168061119c57607f821691505b6020821081036111bc57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b03198316815281516000906111e5816004850160208701610fed565b919091016004019392505050565b60008251611205818460208701610fed565b9190910192915050565b60006020828403121561122157600080fd5b8151801515811461118157600080fd5b60408152600a6040820152690808080808081319599d60b21b6060820152608060208201526000611181608083018461101d565b60408152600a6040820152690808080808149a59da1d60b21b6060820152608060208201526000611181608083018461101d56fe307837313039373039656366613931613830363236666633393839643638663637663562316464313264307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030307845413637346664446537313466643937396465334564463046353641413937313642383938656338a264697066735822122060f98bf136ae2c573efdad3f02457d5334f1449334b58a2c13f94a006e2f395564736f6c634300080d0033" ) ) - syntax Field ::= S2KtestZModSymbolicStorageTestField + syntax Field ::= S2KtestZModToStringTestField - syntax S2KtestZModSymbolicStorageTestField ::= "stdstore" [symbol(""), klabel(field_test%SymbolicStorageTest_stdstore)] + syntax S2KtestZModToStringTestField ::= "stdstore" [symbol(""), klabel(field_test%ToStringTest_stdstore)] - syntax S2KtestZModSymbolicStorageTestField ::= "IS_TEST" [symbol(""), klabel(field_test%SymbolicStorageTest_IS_TEST)] + syntax S2KtestZModToStringTestField ::= "IS_TEST" [symbol(""), klabel(field_test%ToStringTest_IS_TEST)] - syntax S2KtestZModSymbolicStorageTestField ::= "_failed" [symbol(""), klabel(field_test%SymbolicStorageTest__failed)] + syntax S2KtestZModToStringTestField ::= "_failed" [symbol(""), klabel(field_test%ToStringTest__failed)] - syntax S2KtestZModSymbolicStorageTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%SymbolicStorageTest_stdChainsInitialized)] + syntax S2KtestZModToStringTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%ToStringTest_stdChainsInitialized)] - syntax S2KtestZModSymbolicStorageTestField ::= "chains" [symbol(""), klabel(field_test%SymbolicStorageTest_chains)] + syntax S2KtestZModToStringTestField ::= "chains" [symbol(""), klabel(field_test%ToStringTest_chains)] - syntax S2KtestZModSymbolicStorageTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_defaultRpcUrls)] + syntax S2KtestZModToStringTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%ToStringTest_defaultRpcUrls)] - syntax S2KtestZModSymbolicStorageTestField ::= "idToAlias" [symbol(""), klabel(field_test%SymbolicStorageTest_idToAlias)] + syntax S2KtestZModToStringTestField ::= "idToAlias" [symbol(""), klabel(field_test%ToStringTest_idToAlias)] - syntax S2KtestZModSymbolicStorageTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%SymbolicStorageTest_fallbackToDefaultRpcUrls)] + syntax S2KtestZModToStringTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%ToStringTest_fallbackToDefaultRpcUrls)] - syntax S2KtestZModSymbolicStorageTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%SymbolicStorageTest_gasMeteringOff)] + syntax S2KtestZModToStringTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%ToStringTest_gasMeteringOff)] - syntax S2KtestZModSymbolicStorageTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedContracts)] + syntax S2KtestZModToStringTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%ToStringTest__excludedContracts)] - syntax S2KtestZModSymbolicStorageTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedSenders)] + syntax S2KtestZModToStringTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%ToStringTest__excludedSenders)] - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedContracts)] + syntax S2KtestZModToStringTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%ToStringTest__targetedContracts)] - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSenders)] + syntax S2KtestZModToStringTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%ToStringTest__targetedSenders)] - syntax S2KtestZModSymbolicStorageTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__excludedArtifacts)] + syntax S2KtestZModToStringTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%ToStringTest__excludedArtifacts)] - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifacts)] + syntax S2KtestZModToStringTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%ToStringTest__targetedArtifacts)] - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedArtifactSelectors)] + syntax S2KtestZModToStringTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%ToStringTest__targetedArtifactSelectors)] - syntax S2KtestZModSymbolicStorageTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%SymbolicStorageTest__targetedSelectors)] + syntax S2KtestZModToStringTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%ToStringTest__targetedSelectors)] - rule ( #loc ( S2KtestZModSymbolicStorageTest . stdstore ) => 0 ) + rule ( #loc ( S2KtestZModToStringTest . stdstore ) => 0 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . IS_TEST ) => 7 ) + rule ( #loc ( S2KtestZModToStringTest . IS_TEST ) => 7 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _failed ) => 7 ) + rule ( #loc ( S2KtestZModToStringTest . _failed ) => 7 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . stdChainsInitialized ) => 7 ) + rule ( #loc ( S2KtestZModToStringTest . stdChainsInitialized ) => 7 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . chains ) => 8 ) + rule ( #loc ( S2KtestZModToStringTest . chains ) => 8 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . defaultRpcUrls ) => 9 ) + rule ( #loc ( S2KtestZModToStringTest . defaultRpcUrls ) => 9 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . idToAlias ) => 10 ) + rule ( #loc ( S2KtestZModToStringTest . idToAlias ) => 10 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . fallbackToDefaultRpcUrls ) => 11 ) + rule ( #loc ( S2KtestZModToStringTest . fallbackToDefaultRpcUrls ) => 11 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . gasMeteringOff ) => 11 ) + rule ( #loc ( S2KtestZModToStringTest . gasMeteringOff ) => 11 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedContracts ) => 19 ) + rule ( #loc ( S2KtestZModToStringTest . _excludedContracts ) => 19 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedSenders ) => 20 ) + rule ( #loc ( S2KtestZModToStringTest . _excludedSenders ) => 20 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedContracts ) => 21 ) + rule ( #loc ( S2KtestZModToStringTest . _targetedContracts ) => 21 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSenders ) => 22 ) + rule ( #loc ( S2KtestZModToStringTest . _targetedSenders ) => 22 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _excludedArtifacts ) => 23 ) + rule ( #loc ( S2KtestZModToStringTest . _excludedArtifacts ) => 23 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifacts ) => 24 ) + rule ( #loc ( S2KtestZModToStringTest . _targetedArtifacts ) => 24 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedArtifactSelectors ) => 25 ) + rule ( #loc ( S2KtestZModToStringTest . _targetedArtifactSelectors ) => 25 ) - rule ( #loc ( S2KtestZModSymbolicStorageTest . _targetedSelectors ) => 26 ) + rule ( #loc ( S2KtestZModToStringTest . _targetedSelectors ) => 26 ) - syntax Bytes ::= S2KtestZModSymbolicStorageTestContract "." S2KtestZModSymbolicStorageTestMethod [function, symbol(""), klabel(method_test%SymbolicStorageTest)] + syntax Bytes ::= S2KtestZModToStringTestContract "." S2KtestZModToStringTestMethod [function, symbol(""), klabel(method_test%ToStringTest)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KISZUndTEST_)] + syntax S2KtestZModToStringTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KISZUndTEST_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeArtifacts_)] + syntax S2KtestZModToStringTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KexcludeArtifacts_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeContracts_)] + syntax S2KtestZModToStringTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KexcludeContracts_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KexcludeSenders_)] + syntax S2KtestZModToStringTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KexcludeSenders_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kfailed_)] + syntax S2KtestZModToStringTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2Kfailed_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2Kkevm" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2Kkevm_)] + syntax S2KtestZModToStringTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetArtifactSelectors_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifactSelectors_)] + syntax S2KtestZModToStringTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetArtifacts_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetArtifacts_)] + syntax S2KtestZModToStringTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetContracts_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetContracts_)] + syntax S2KtestZModToStringTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetSelectors_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSelectors_)] + syntax S2KtestZModToStringTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetSenders_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtargetSenders_)] + syntax S2KtestZModToStringTestMethod ::= "S2KtestAddressToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestAddressToString_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestEmptyInitialStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestEmptyInitialStorage_uint256)] + syntax S2KtestZModToStringTestMethod ::= "S2KtestBoolToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestBoolToString_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage_uint256)] + syntax S2KtestZModToStringTestMethod ::= "S2KtestBytes32ToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestBytes32ToString_)] - syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage1" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage1_uint256)] + syntax S2KtestZModToStringTestMethod ::= "S2KtestBytesToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestBytesToString_)] - rule ( S2KtestZModSymbolicStorageTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + syntax S2KtestZModToStringTestMethod ::= "S2KtestIntToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestIntToString_)] + + syntax S2KtestZModToStringTestMethod ::= "S2KtestUint256ToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestUint256ToString_)] + + rule ( S2KtestZModToStringTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2Kkevm ( ) => #abiCallData ( "kevm" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( S2KtestZModToStringTest . S2KtestAddressToString ( ) => #abiCallData ( "testAddressToString" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtestEmptyInitialStorage ( V0_slot : uint256 ) => #abiCallData ( "testEmptyInitialStorage" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_slot ) + rule ( S2KtestZModToStringTest . S2KtestBoolToString ( ) => #abiCallData ( "testBoolToString" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_slot ) + rule ( S2KtestZModToStringTest . S2KtestBytes32ToString ( ) => #abiCallData ( "testBytes32ToString" , .TypedArgs ) ) - rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage1 ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage1" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_slot ) + rule ( S2KtestZModToStringTest . S2KtestBytesToString ( ) => #abiCallData ( "testBytesToString" , .TypedArgs ) ) + + + rule ( S2KtestZModToStringTest . S2KtestIntToString ( ) => #abiCallData ( "testIntToString" , .TypedArgs ) ) + + + rule ( S2KtestZModToStringTest . S2KtestUint256ToString ( ) => #abiCallData ( "testUint256ToString" , .TypedArgs ) ) rule ( selector ( "IS_TEST()" ) => 4202047188 ) @@ -15672,9 +15292,6 @@ module S2KtestZModSymbolicStorageTest-CONTRACT rule ( selector ( "failed()" ) => 3124842406 ) - rule ( selector ( "kevm()" ) => 3601001590 ) - - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) @@ -15690,5670 +15307,2357 @@ module S2KtestZModSymbolicStorageTest-CONTRACT rule ( selector ( "targetSenders()" ) => 1046363171 ) - rule ( selector ( "testEmptyInitialStorage(uint256)" ) => 2517793094 ) + rule ( selector ( "testAddressToString()" ) => 808104093 ) - rule ( selector ( "testFail_SymbolicStorage(uint256)" ) => 821477045 ) + rule ( selector ( "testBoolToString()" ) => 1097632899 ) - rule ( selector ( "testFail_SymbolicStorage1(uint256)" ) => 2899744320 ) + rule ( selector ( "testBytes32ToString()" ) => 204853932 ) - -endmodule - -module S2KtestZModSymbolicStore-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModSymbolicStoreContract - - syntax S2KtestZModSymbolicStoreContract ::= "S2KtestZModSymbolicStore" [symbol(""), klabel(contract_test%SymbolicStore)] + rule ( selector ( "testBytesToString()" ) => 1397983993 ) - rule ( #initBytecode ( S2KtestZModSymbolicStore ) => #parseByteStack ( "0x6080604052610539600055348015601557600080fd5b50603f8060236000396000f3fe6080604052600080fdfea264697066735822122003e53ba3766ecbc932f38d714625b677fced71aa0ca38cadd19f5a8c3dc94ad564736f6c634300080d0033" ) ) + rule ( selector ( "testIntToString()" ) => 4039840763 ) - syntax Field ::= S2KtestZModSymbolicStoreField - - syntax S2KtestZModSymbolicStoreField ::= "testNumber" [symbol(""), klabel(field_test%SymbolicStore_testNumber)] - - rule ( #loc ( S2KtestZModSymbolicStore . testNumber ) => 0 ) + rule ( selector ( "testUint256ToString()" ) => 98980210 ) endmodule -module S2KsrcZModTestNumber-CONTRACT +module S2KsrcZModToken-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KsrcZModTestNumberContract + syntax Contract ::= S2KsrcZModTokenContract - syntax S2KsrcZModTestNumberContract ::= "S2KsrcZModTestNumber" [symbol(""), klabel(contract_src%TestNumber)] + syntax S2KsrcZModTokenContract ::= "S2KsrcZModToken" [symbol(""), klabel(contract_src%Token)] - rule ( #initBytecode ( S2KsrcZModTestNumber ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b5060405161037e38038061037e83398101604081905261003c91610044565b60015561005d565b60006020828403121561005657600080fd5b5051919050565b6103128061006c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630d1972f314610051578063afe29f711461006d578063ba414fa614610080578063fa7626d414610098575b600080fd5b61005a60015481565b6040519081526020015b60405180910390f35b61005a61007b36600461022f565b6100a5565b610088610104565b6040519015158152602001610064565b6000546100889060ff1681565b600181905560405160009081907f0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b906100f6906020808252600490820152636865726560e01b604082015260600190565b60405180910390a192915050565b60008054610100900460ff16156101245750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561022a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916101b2917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610283565b60408051601f19818403018152908290526101cc916102a7565b6000604051808303816000865af19150503d8060008114610209576040519150601f19603f3d011682016040523d82523d6000602084013e61020e565b606091505b509150508080602001905181019061022691906102ba565b9150505b919050565b60006020828403121561024157600080fd5b5035919050565b6000815160005b81811015610269576020818501810151868301520161024f565b81811115610278576000828601525b509290920192915050565b6001600160e01b031983168152600061029f6004830184610248565b949350505050565b60006102b38284610248565b9392505050565b6000602082840312156102cc57600080fd5b815180151581146102b357600080fdfea26469706673582212208e3ab382ba3ec7a4fe8b60fc95093981bce0a187268241ec35637ba9b849504a64736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KsrcZModToken ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5061017c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a9059cbb14610030575b600080fd5b61004361003e3660046100c9565b610045565b005b610050338383610054565b5050565b6001600160a01b038316600090815260016020526040902054610078908290610117565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546100a890829061012e565b6001600160a01b039092166000908152600160205260409020919091555050565b600080604083850312156100dc57600080fd5b82356001600160a01b03811681146100f357600080fd5b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60008282101561012957610129610101565b500390565b6000821982111561014157610141610101565b50019056fea2646970667358221220e48b937e7c9104a0808e115af1ee42e958a0c671314391ceab78b4d1e9009fe964736f6c634300080d0033" ) ) - syntax Field ::= S2KsrcZModTestNumberField - - syntax S2KsrcZModTestNumberField ::= "IS_TEST" [symbol(""), klabel(field_src%TestNumber_IS_TEST)] + syntax Field ::= S2KsrcZModTokenField - syntax S2KsrcZModTestNumberField ::= "_failed" [symbol(""), klabel(field_src%TestNumber__failed)] + syntax S2KsrcZModTokenField ::= "x" [symbol(""), klabel(field_src%Token_x)] - syntax S2KsrcZModTestNumberField ::= "testNumber" [symbol(""), klabel(field_src%TestNumber_testNumber)] + syntax S2KsrcZModTokenField ::= "balances" [symbol(""), klabel(field_src%Token_balances)] - rule ( #loc ( S2KsrcZModTestNumber . IS_TEST ) => 0 ) - + syntax S2KsrcZModTokenField ::= "allowances" [symbol(""), klabel(field_src%Token_allowances)] - rule ( #loc ( S2KsrcZModTestNumber . _failed ) => 0 ) - + syntax S2KsrcZModTokenField ::= "name" [symbol(""), klabel(field_src%Token_name)] - rule ( #loc ( S2KsrcZModTestNumber . testNumber ) => 1 ) - + syntax S2KsrcZModTokenField ::= "y" [symbol(""), klabel(field_src%Token_y)] - syntax Bytes ::= S2KsrcZModTestNumberContract "." S2KsrcZModTestNumberMethod [function, symbol(""), klabel(method_src%TestNumber)] + syntax S2KsrcZModTokenField ::= "z" [symbol(""), klabel(field_src%Token_z)] - syntax S2KsrcZModTestNumberMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_src%TestNumber_S2KISZUndTEST_)] + syntax S2KsrcZModTokenField ::= "a" [symbol(""), klabel(field_src%Token_a)] - syntax S2KsrcZModTestNumberMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_src%TestNumber_S2Kfailed_)] + syntax S2KsrcZModTokenField ::= "foos" [symbol(""), klabel(field_src%Token_foos)] - syntax S2KsrcZModTestNumberMethod ::= "S2Kt" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_src%TestNumber_S2Kt_uint256)] + rule ( #loc ( S2KsrcZModToken . x ) => 0 ) + - syntax S2KsrcZModTestNumberMethod ::= "S2KtestNumber" "(" ")" [symbol(""), klabel(method_src%TestNumber_S2KtestNumber_)] + rule ( #loc ( S2KsrcZModToken . balances ) => 1 ) + - rule ( S2KsrcZModTestNumber . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( #loc ( S2KsrcZModToken . allowances ) => 2 ) - rule ( S2KsrcZModTestNumber . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( #loc ( S2KsrcZModToken . name ) => 3 ) - rule ( S2KsrcZModTestNumber . S2Kt ( V0_a : uint256 ) => #abiCallData ( "t" , ( #uint256 ( V0_a ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_a ) + rule ( #loc ( S2KsrcZModToken . y ) => 4 ) - rule ( S2KsrcZModTestNumber . S2KtestNumber ( ) => #abiCallData ( "testNumber" , .TypedArgs ) ) + rule ( #loc ( S2KsrcZModToken . z ) => 4 ) - rule ( selector ( "IS_TEST()" ) => 4202047188 ) + rule ( #loc ( S2KsrcZModToken . a ) => 4 ) - rule ( selector ( "failed()" ) => 3124842406 ) + rule ( #loc ( S2KsrcZModToken . foos ) => 5 ) - rule ( selector ( "t(uint256)" ) => 2950864753 ) + syntax Bytes ::= S2KsrcZModTokenContract "." S2KsrcZModTokenMethod [function, symbol(""), klabel(method_src%Token)] + + syntax S2KsrcZModTokenMethod ::= "S2Ktransfer" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%Token_S2Ktransfer_address_uint256)] + + rule ( S2KsrcZModToken . S2Ktransfer ( V0_dst : address , V1_amount : uint256 ) => #abiCallData ( "transfer" , ( #address ( V0_dst ) , ( #uint256 ( V1_amount ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_dst ) + andBool ( #rangeUInt ( 256 , V1_amount ) + )) - rule ( selector ( "testNumber()" ) => 219771635 ) + rule ( selector ( "transfer(address,uint256)" ) => 2835717307 ) endmodule -module S2KtestZModToStringTest-CONTRACT +module S2KtestZModBytesTypeTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KtestZModToStringTestContract + syntax Contract ::= S2KtestZModBytesTypeTestContract - syntax S2KtestZModToStringTestContract ::= "S2KtestZModToStringTest" [symbol(""), klabel(contract_test%ToStringTest)] + syntax S2KtestZModBytesTypeTestContract ::= "S2KtestZModBytesTypeTest" [symbol(""), klabel(contract_test%BytesTypeTest)] - rule ( #initBytecode ( S2KtestZModToStringTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506113658061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806366d9a9a011610097578063ba414fa611610066578063ba414fa614610197578063e20c9f71146101af578063f0cb13fb146101b7578063fa7626d4146101bf57600080fd5b806366d9a9a01461015d57806385226c8114610172578063916a17c614610187578063b5508aa91461018f57600080fd5b80633e5e3c23116100d35780633e5e3c231461013d5780633f7286f414610145578063416c8c831461014d57806353538af91461015557600080fd5b806305e65172146101055780630c35d2ac1461010f5780631ed7831c14610117578063302ab09d14610135575b600080fd5b61010d6101cc565b005b61010d610277565b61011f610318565b60405161012c9190610eed565b60405180910390f35b61010d61037a565b61011f61042f565b61011f61048f565b61010d6104ef565b61010d610636565b610165610702565b60405161012c9190610f3a565b61017a6107f1565b60405161012c9190611049565b6101656108c1565b61017a6109a7565b61019f610a77565b604051901515815260200161012c565b61011f610ba4565b61010d610c04565b60075461019f9060ff1681565b60405163348051d760e11b81526104d26004820181905290600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90636900a3ae90602401600060405180830381865afa158015610223573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261024b91908101906110c1565b9050610273604051806040016040528060048152602001630c4c8ccd60e21b81525082610ca9565b5050565b604051631623433d60e31b8152600060048201819052908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063b11a19e890602401600060405180830381865afa1580156102cc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102f491908101906110c1565b90506102736040518060800160405280604281526020016112c46042913982610ca9565b6060601480548060200260200160405190810160405280929190818152602001828054801561037057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610352575b5050505050905090565b604051632b65311f60e11b815273ea674fdde714fd979de3edf0f56aa9716b898ec86004820181905290600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906356ca623e90602401600060405180830381865afa1580156103e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261040b91908101906110c1565b90506102736040518060600160405280602a8152602001611306602a913982610ca9565b60606016805480602002602001604051908101604052809291908181526020018280548015610370576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610352575050505050905090565b60606015805480602002602001604051908101604052809291908181526020018280548015610370576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610352575050505050905090565b6040516338ee73ed60e11b815260016004820152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906371dce7da90602401600060405180830381865afa158015610542573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261056a91908101906110c1565b9050610592604051806040016040528060048152602001637472756560e01b81525082610ca9565b6040516338ee73ed60e11b815260006004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906371dce7da90602401600060405180830381865afa1580156105e2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261060a91908101906110c1565b90506106336040518060400160405280600581526020016466616c736560d81b81525082610ca9565b50565b60408051808201825260148152737109709ecfa91a80626ff3989d68f67f5b1dd12d60601b602082015290516371aad10d60e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d906371aad10d9061069990859060040161116e565b600060405180830381865afa1580156106b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106de91908101906110c1565b90506102736040518060600160405280602a815260200161129a602a913982610ca9565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156107e85760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156107d057602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116107925790505b50505050508152505081526020019060010190610726565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156107e857838290600052602060002001805461083490611188565b80601f016020809104026020016040519081016040528092919081815260200182805461086090611188565b80156108ad5780601f10610882576101008083540402835291602001916108ad565b820191906000526020600020905b81548152906001019060200180831161089057829003601f168201915b505050505081526020019060010190610815565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156107e85760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561098f57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116109515790505b505050505081525050815260200190600101906108e5565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156107e85783829060005260206000200180546109ea90611188565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1690611188565b8015610a635780601f10610a3857610100808354040283529160200191610a63565b820191906000526020600020905b815481529060010190602001808311610a4657829003601f168201915b5050505050815260200190600101906109cb565b600754600090610100900460ff1615610a995750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610b9f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610b27917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016111c2565b60408051601f1981840301815290829052610b41916111f3565b6000604051808303816000865af19150503d8060008114610b7e576040519150601f19603f3d011682016040523d82523d6000602084013e610b83565b606091505b5091505080806020019051810190610b9b919061120f565b9150505b919050565b60606013805480602002602001604051908101604052809291908181526020018280548015610370576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610352575050505050905090565b604051635191620760e11b81526104d1196004820181905290600090737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a322c40e90602401600060405180830381865afa158015610c5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c8491908101906110c1565b9050610273604051806040016040528060058152602001640b4c4c8ccd60da1b815250825b80604051602001610cba91906111f3565b6040516020818303038152906040528051906020012082604051602001610ce191906111f3565b6040516020818303038152906040528051906020012014610273577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051610d689060208082526024908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472604082015263696e675d60e01b606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358382604051610d9f9190611231565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051610dd69190611265565b60405180910390a1610273737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610edc5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b9282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610e7b92916020016111c2565b60408051601f1981840301815290829052610e95916111f3565b6000604051808303816000865af19150503d8060008114610ed2576040519150601f19603f3d011682016040523d82523d6000602084013e610ed7565b606091505b505050505b6007805461ff001916610100179055565b6020808252825182820181905260009190848201906040850190845b81811015610f2e5783516001600160a01b031683529284019291840191600101610f09565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610fde57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610fc95783516001600160e01b0319168252928b019260019290920191908b0190610f9f565b50978a01979550505091870191600101610f62565b50919998505050505050505050565b60005b83811015611008578181015183820152602001610ff0565b83811115611017576000848401525b50505050565b60008151808452611035816020860160208601610fed565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561109e57603f1988860301845261108c85835161101d565b94509285019290850190600101611070565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156110d357600080fd5b815167ffffffffffffffff808211156110eb57600080fd5b818401915084601f8301126110ff57600080fd5b815181811115611111576111116110ab565b604051601f8201601f19908116603f01168101908382118183101715611139576111396110ab565b8160405282815287602084870101111561115257600080fd5b611163836020830160208801610fed565b979650505050505050565b602081526000611181602083018461101d565b9392505050565b600181811c9082168061119c57607f821691505b6020821081036111bc57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160e01b03198316815281516000906111e5816004850160208701610fed565b919091016004019392505050565b60008251611205818460208701610fed565b9190910192915050565b60006020828403121561122157600080fd5b8151801515811461118157600080fd5b60408152600a6040820152690808080808081319599d60b21b6060820152608060208201526000611181608083018461101d565b60408152600a6040820152690808080808149a59da1d60b21b6060820152608060208201526000611181608083018461101d56fe307837313039373039656366613931613830363236666633393839643638663637663562316464313264307830303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030307845413637346664446537313466643937396465334564463046353641413937313642383938656338a264697066735822122060f98bf136ae2c573efdad3f02457d5334f1449334b58a2c13f94a006e2f395564736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModBytesTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610189806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063176854031461006757806395a933ba1461007c578063a7c088351461008f578063ccdc3f4d146100a2578063d6bf2ada1461007c578063ffa9fc7114610067575b600080fd5b61007a6100753660046100f3565b6100b3565b005b61007a61008a36600461010c565b6100c4565b61007a61009d36600461010c565b6100db565b61007a6100b03660046100f3565b50565b60001981106100b0576100b061013d565b60e081901c63ffffffff116100b0576100b061013d565b60e081901c63ffffffff10156100b0576100b061013d565b60006020828403121561010557600080fd5b5035919050565b60006020828403121561011e57600080fd5b81356001600160e01b03198116811461013657600080fd5b9392505050565b634e487b7160e01b600052600160045260246000fdfea2646970667358221220a2cda4fd602855aae073a2c5a1e77ca0cd9feae50b64c59bc764b68626628db164736f6c634300080d0033" ) ) - syntax Field ::= S2KtestZModToStringTestField - - syntax S2KtestZModToStringTestField ::= "stdstore" [symbol(""), klabel(field_test%ToStringTest_stdstore)] - - syntax S2KtestZModToStringTestField ::= "IS_TEST" [symbol(""), klabel(field_test%ToStringTest_IS_TEST)] - - syntax S2KtestZModToStringTestField ::= "_failed" [symbol(""), klabel(field_test%ToStringTest__failed)] - - syntax S2KtestZModToStringTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_test%ToStringTest_stdChainsInitialized)] - - syntax S2KtestZModToStringTestField ::= "chains" [symbol(""), klabel(field_test%ToStringTest_chains)] - - syntax S2KtestZModToStringTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_test%ToStringTest_defaultRpcUrls)] - - syntax S2KtestZModToStringTestField ::= "idToAlias" [symbol(""), klabel(field_test%ToStringTest_idToAlias)] - - syntax S2KtestZModToStringTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_test%ToStringTest_fallbackToDefaultRpcUrls)] - - syntax S2KtestZModToStringTestField ::= "gasMeteringOff" [symbol(""), klabel(field_test%ToStringTest_gasMeteringOff)] - - syntax S2KtestZModToStringTestField ::= "_excludedContracts" [symbol(""), klabel(field_test%ToStringTest__excludedContracts)] - - syntax S2KtestZModToStringTestField ::= "_excludedSenders" [symbol(""), klabel(field_test%ToStringTest__excludedSenders)] - - syntax S2KtestZModToStringTestField ::= "_targetedContracts" [symbol(""), klabel(field_test%ToStringTest__targetedContracts)] + syntax Bytes ::= S2KtestZModBytesTypeTestContract "." S2KtestZModBytesTypeTestMethod [function, symbol(""), klabel(method_test%BytesTypeTest)] - syntax S2KtestZModToStringTestField ::= "_targetedSenders" [symbol(""), klabel(field_test%ToStringTest__targetedSenders)] + syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestFailZUndbytes32" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestFailZUndbytes32_bytes32)] - syntax S2KtestZModToStringTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_test%ToStringTest__excludedArtifacts)] + syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestFailZUndbytes4" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestFailZUndbytes4_bytes4)] - syntax S2KtestZModToStringTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_test%ToStringTest__targetedArtifacts)] + syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes32" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes32_bytes32)] - syntax S2KtestZModToStringTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_test%ToStringTest__targetedArtifactSelectors)] + syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes32ZUndfail" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes32ZUndfail_bytes32)] - syntax S2KtestZModToStringTestField ::= "_targetedSelectors" [symbol(""), klabel(field_test%ToStringTest__targetedSelectors)] + syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes4" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes4_bytes4)] - rule ( #loc ( S2KtestZModToStringTest . stdstore ) => 0 ) - + syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes4ZUndfail" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes4ZUndfail_bytes4)] - rule ( #loc ( S2KtestZModToStringTest . IS_TEST ) => 7 ) + rule ( S2KtestZModBytesTypeTest . S2KtestFailZUndbytes32 ( V0_x : bytes32 ) => #abiCallData ( "testFail_bytes32" , ( #bytes32 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 32 , V0_x ) - rule ( #loc ( S2KtestZModToStringTest . _failed ) => 7 ) + rule ( S2KtestZModBytesTypeTest . S2KtestFailZUndbytes4 ( V0_x : bytes4 ) => #abiCallData ( "testFail_bytes4" , ( #bytes4 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 4 , V0_x ) - rule ( #loc ( S2KtestZModToStringTest . stdChainsInitialized ) => 7 ) + rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes32 ( V0_x : bytes32 ) => #abiCallData ( "test_bytes32" , ( #bytes32 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 32 , V0_x ) - rule ( #loc ( S2KtestZModToStringTest . chains ) => 8 ) + rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes32ZUndfail ( V0_x : bytes32 ) => #abiCallData ( "test_bytes32_fail" , ( #bytes32 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 32 , V0_x ) - rule ( #loc ( S2KtestZModToStringTest . defaultRpcUrls ) => 9 ) + rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes4 ( V0_x : bytes4 ) => #abiCallData ( "test_bytes4" , ( #bytes4 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 4 , V0_x ) - rule ( #loc ( S2KtestZModToStringTest . idToAlias ) => 10 ) + rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes4ZUndfail ( V0_x : bytes4 ) => #abiCallData ( "test_bytes4_fail" , ( #bytes4 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 4 , V0_x ) - rule ( #loc ( S2KtestZModToStringTest . fallbackToDefaultRpcUrls ) => 11 ) + rule ( selector ( "testFail_bytes32(bytes32)" ) => 4289330289 ) - rule ( #loc ( S2KtestZModToStringTest . gasMeteringOff ) => 11 ) + rule ( selector ( "testFail_bytes4(bytes4)" ) => 3602852570 ) - rule ( #loc ( S2KtestZModToStringTest . _excludedContracts ) => 19 ) + rule ( selector ( "test_bytes32(bytes32)" ) => 3436986189 ) - rule ( #loc ( S2KtestZModToStringTest . _excludedSenders ) => 20 ) + rule ( selector ( "test_bytes32_fail(bytes32)" ) => 392713219 ) - rule ( #loc ( S2KtestZModToStringTest . _targetedContracts ) => 21 ) + rule ( selector ( "test_bytes4(bytes4)" ) => 2814412853 ) - rule ( #loc ( S2KtestZModToStringTest . _targetedSenders ) => 22 ) + rule ( selector ( "test_bytes4_fail(bytes4)" ) => 2510894010 ) + +endmodule + +module S2KtestZModIntTypeTest-CONTRACT + imports public FOUNDRY - rule ( #loc ( S2KtestZModToStringTest . _excludedArtifacts ) => 23 ) - + syntax Contract ::= S2KtestZModIntTypeTestContract - rule ( #loc ( S2KtestZModToStringTest . _targetedArtifacts ) => 24 ) - + syntax S2KtestZModIntTypeTestContract ::= "S2KtestZModIntTypeTest" [symbol(""), klabel(contract_test%IntTypeTest)] - rule ( #loc ( S2KtestZModToStringTest . _targetedArtifactSelectors ) => 25 ) - rule ( #loc ( S2KtestZModToStringTest . _targetedSelectors ) => 26 ) + rule ( #initBytecode ( S2KtestZModIntTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5061025a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80636ad45b2e116100665780636ad45b2e146100e65780636fe1d822146100ad5780637686b9d9146100c0578063a38fa320146100d3578063e3a003ce146100f957600080fd5b80633b5bed8d1461009857806346a322e3146100ad57806349f45c19146100c057806368593cf1146100d3575b600080fd5b6100ab6100a63660046101a8565b61010c565b005b6100ab6100bb3660046101d2565b61012a565b6100ab6100ce3660046101a8565b610140565b6100ab6100e13660046101eb565b61015a565b6100ab6100f43660046101eb565b610175565b6100ab6101073660046101d2565b610191565b600f81900b60016001607f1b0312156101275761012761020e565b50565b806001600160ff1b03136101275761012761020e565b600f81900b60016001607f1b03136101275761012761020e565b600781900b677fffffffffffffff136101275761012761020e565b600781900b677fffffffffffffff12156101275761012761020e565b806001600160ff1b0312156101275761012761020e565b6000602082840312156101ba57600080fd5b813580600f0b81146101cb57600080fd5b9392505050565b6000602082840312156101e457600080fd5b5035919050565b6000602082840312156101fd57600080fd5b81358060070b81146101cb57600080fd5b634e487b7160e01b600052600160045260246000fdfea26469706673582212200d1fac94ebfd75e4d9346ed382b003aba92c93cb9e9bb2353031c80894ad28ca64736f6c634300080d0033" ) ) - syntax Bytes ::= S2KtestZModToStringTestContract "." S2KtestZModToStringTestMethod [function, symbol(""), klabel(method_test%ToStringTest)] - - syntax S2KtestZModToStringTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KISZUndTEST_)] - - syntax S2KtestZModToStringTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KexcludeArtifacts_)] - - syntax S2KtestZModToStringTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KexcludeContracts_)] - - syntax S2KtestZModToStringTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KexcludeSenders_)] - - syntax S2KtestZModToStringTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2Kfailed_)] - - syntax S2KtestZModToStringTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetArtifactSelectors_)] - - syntax S2KtestZModToStringTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetArtifacts_)] - - syntax S2KtestZModToStringTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetContracts_)] + syntax Bytes ::= S2KtestZModIntTypeTestContract "." S2KtestZModIntTypeTestMethod [function, symbol(""), klabel(method_test%IntTypeTest)] - syntax S2KtestZModToStringTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetSelectors_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestFailZUndint128" "(" Int ":" "int128" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestFailZUndint128_int128)] - syntax S2KtestZModToStringTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtargetSenders_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestFailZUndint256" "(" Int ":" "int256" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestFailZUndint256_int256)] - syntax S2KtestZModToStringTestMethod ::= "S2KtestAddressToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestAddressToString_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestFailZUndint64" "(" Int ":" "int64" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestFailZUndint64_int64)] - syntax S2KtestZModToStringTestMethod ::= "S2KtestBoolToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestBoolToString_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint128" "(" Int ":" "int128" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint128_int128)] - syntax S2KtestZModToStringTestMethod ::= "S2KtestBytes32ToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestBytes32ToString_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint128ZUndfail" "(" Int ":" "int128" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint128ZUndfail_int128)] - syntax S2KtestZModToStringTestMethod ::= "S2KtestBytesToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestBytesToString_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint256" "(" Int ":" "int256" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint256_int256)] - syntax S2KtestZModToStringTestMethod ::= "S2KtestIntToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestIntToString_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint256ZUndfail" "(" Int ":" "int256" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint256ZUndfail_int256)] - syntax S2KtestZModToStringTestMethod ::= "S2KtestUint256ToString" "(" ")" [symbol(""), klabel(method_test%ToStringTest_S2KtestUint256ToString_)] + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint64" "(" Int ":" "int64" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint64_int64)] - rule ( S2KtestZModToStringTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - + syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint64ZUndfail" "(" Int ":" "int64" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint64ZUndfail_int64)] - rule ( S2KtestZModToStringTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestFailZUndint128 ( V0_x : int128 ) => #abiCallData ( "testFail_int128" , ( #int128 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 128 , V0_x ) - rule ( S2KtestZModToStringTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestFailZUndint256 ( V0_x : int256 ) => #abiCallData ( "testFail_int256" , ( #int256 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 256 , V0_x ) - rule ( S2KtestZModToStringTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestFailZUndint64 ( V0_x : int64 ) => #abiCallData ( "testFail_int64" , ( #int64 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 64 , V0_x ) - rule ( S2KtestZModToStringTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestZUndint128 ( V0_x : int128 ) => #abiCallData ( "test_int128" , ( #int128 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 128 , V0_x ) - rule ( S2KtestZModToStringTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestZUndint128ZUndfail ( V0_x : int128 ) => #abiCallData ( "test_int128_fail" , ( #int128 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 128 , V0_x ) - rule ( S2KtestZModToStringTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestZUndint256 ( V0_x : int256 ) => #abiCallData ( "test_int256" , ( #int256 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 256 , V0_x ) - rule ( S2KtestZModToStringTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestZUndint256ZUndfail ( V0_x : int256 ) => #abiCallData ( "test_int256_fail" , ( #int256 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 256 , V0_x ) - rule ( S2KtestZModToStringTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestZUndint64 ( V0_x : int64 ) => #abiCallData ( "test_int64" , ( #int64 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 64 , V0_x ) - rule ( S2KtestZModToStringTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( S2KtestZModIntTypeTest . S2KtestZUndint64ZUndfail ( V0_x : int64 ) => #abiCallData ( "test_int64_fail" , ( #int64 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeSInt ( 64 , V0_x ) - rule ( S2KtestZModToStringTest . S2KtestAddressToString ( ) => #abiCallData ( "testAddressToString" , .TypedArgs ) ) + rule ( selector ( "testFail_int128(int128)" ) => 1988540889 ) - rule ( S2KtestZModToStringTest . S2KtestBoolToString ( ) => #abiCallData ( "testBoolToString" , .TypedArgs ) ) + rule ( selector ( "testFail_int256(int256)" ) => 1185096419 ) - rule ( S2KtestZModToStringTest . S2KtestBytes32ToString ( ) => #abiCallData ( "testBytes32ToString" , .TypedArgs ) ) + rule ( selector ( "testFail_int64(int64)" ) => 1750678769 ) - rule ( S2KtestZModToStringTest . S2KtestBytesToString ( ) => #abiCallData ( "testBytesToString" , .TypedArgs ) ) + rule ( selector ( "test_int128(int128)" ) => 995880333 ) - rule ( S2KtestZModToStringTest . S2KtestIntToString ( ) => #abiCallData ( "testIntToString" , .TypedArgs ) ) + rule ( selector ( "test_int128_fail(int128)" ) => 1240751129 ) - rule ( S2KtestZModToStringTest . S2KtestUint256ToString ( ) => #abiCallData ( "testUint256ToString" , .TypedArgs ) ) + rule ( selector ( "test_int256(int256)" ) => 3818914766 ) - rule ( selector ( "IS_TEST()" ) => 4202047188 ) + rule ( selector ( "test_int256_fail(int256)" ) => 1877071906 ) - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + rule ( selector ( "test_int64(int64)" ) => 1792301870 ) - rule ( selector ( "excludeContracts()" ) => 3792478065 ) + rule ( selector ( "test_int64_fail(int64)" ) => 2744099616 ) + +endmodule + +module S2KtestZModStructTypeTest-CONTRACT + imports public FOUNDRY - rule ( selector ( "excludeSenders()" ) => 517440284 ) - + syntax Contract ::= S2KtestZModStructTypeTestContract - rule ( selector ( "failed()" ) => 3124842406 ) - + syntax S2KtestZModStructTypeTestContract ::= "S2KtestZModStructTypeTest" [symbol(""), klabel(contract_test%StructTypeTest)] - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + rule ( #initBytecode ( S2KtestZModStructTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610133806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063f312018014602d575b600080fd5b603c60383660046084565b603e565b005b60496020820182609b565b60ff1660ff80161015605b57605b60c3565b6069604082016020830160d9565b63ffffffff1663ffffffff80161015608157608160c3565b50565b600060608284031215609557600080fd5b50919050565b60006020828403121560ac57600080fd5b813560ff8116811460bc57600080fd5b9392505050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121560ea57600080fd5b813563ffffffff8116811460bc57600080fdfea26469706673582212208d4b71859ea8c5558f2224643cd5d8007e3a774b31fd448aff3d7becdb4ff45a64736f6c634300080d0033" ) ) - rule ( selector ( "targetContracts()" ) => 1064470260 ) - + syntax Bytes ::= S2KtestZModStructTypeTestContract "." S2KtestZModStructTypeTestMethod [function, symbol(""), klabel(method_test%StructTypeTest)] - rule ( selector ( "targetSelectors()" ) => 2439649222 ) - + syntax S2KtestZModStructTypeTestMethod ::= "S2KtestZUndvars" "(" Int ":" "uint8" "," Int ":" "uint32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_test%StructTypeTest_S2KtestZUndvars_uint8_uint32_bytes32)] - rule ( selector ( "targetSenders()" ) => 1046363171 ) + rule ( S2KtestZModStructTypeTest . S2KtestZUndvars ( V0_a : uint8 , V1_timestamp : uint32 , V2_b : bytes32 ) => #abiCallData ( "test_vars" , ( #tuple ( ( #uint8 ( V0_a ) , ( #uint32 ( V1_timestamp ) , ( #bytes32 ( V2_b ) , .TypedArgs ) ) ) ) , .TypedArgs ) ) ) + ensures ( #rangeUInt ( 8 , V0_a ) + andBool ( #rangeUInt ( 32 , V1_timestamp ) + andBool ( #rangeBytes ( 32 , V2_b ) + ))) - rule ( selector ( "testAddressToString()" ) => 808104093 ) - - - rule ( selector ( "testBoolToString()" ) => 1097632899 ) - - - rule ( selector ( "testBytes32ToString()" ) => 204853932 ) - - - rule ( selector ( "testBytesToString()" ) => 1397983993 ) - - - rule ( selector ( "testIntToString()" ) => 4039840763 ) - - - rule ( selector ( "testUint256ToString()" ) => 98980210 ) - - -endmodule - -module S2KsrcZModToken-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KsrcZModTokenContract - - syntax S2KsrcZModTokenContract ::= "S2KsrcZModToken" [symbol(""), klabel(contract_src%Token)] - - - - rule ( #initBytecode ( S2KsrcZModToken ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5061017c806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a9059cbb14610030575b600080fd5b61004361003e3660046100c9565b610045565b005b610050338383610054565b5050565b6001600160a01b038316600090815260016020526040902054610078908290610117565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546100a890829061012e565b6001600160a01b039092166000908152600160205260409020919091555050565b600080604083850312156100dc57600080fd5b82356001600160a01b03811681146100f357600080fd5b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b60008282101561012957610129610101565b500390565b6000821982111561014157610141610101565b50019056fea2646970667358221220e48b937e7c9104a0808e115af1ee42e958a0c671314391ceab78b4d1e9009fe964736f6c634300080d0033" ) ) - - - syntax Field ::= S2KsrcZModTokenField - - syntax S2KsrcZModTokenField ::= "x" [symbol(""), klabel(field_src%Token_x)] - - syntax S2KsrcZModTokenField ::= "balances" [symbol(""), klabel(field_src%Token_balances)] - - syntax S2KsrcZModTokenField ::= "allowances" [symbol(""), klabel(field_src%Token_allowances)] - - syntax S2KsrcZModTokenField ::= "name" [symbol(""), klabel(field_src%Token_name)] - - syntax S2KsrcZModTokenField ::= "y" [symbol(""), klabel(field_src%Token_y)] - - syntax S2KsrcZModTokenField ::= "z" [symbol(""), klabel(field_src%Token_z)] - - syntax S2KsrcZModTokenField ::= "a" [symbol(""), klabel(field_src%Token_a)] - - syntax S2KsrcZModTokenField ::= "foos" [symbol(""), klabel(field_src%Token_foos)] - - rule ( #loc ( S2KsrcZModToken . x ) => 0 ) - - - rule ( #loc ( S2KsrcZModToken . balances ) => 1 ) - - - rule ( #loc ( S2KsrcZModToken . allowances ) => 2 ) - - - rule ( #loc ( S2KsrcZModToken . name ) => 3 ) - - - rule ( #loc ( S2KsrcZModToken . y ) => 4 ) - - - rule ( #loc ( S2KsrcZModToken . z ) => 4 ) - - - rule ( #loc ( S2KsrcZModToken . a ) => 4 ) - - - rule ( #loc ( S2KsrcZModToken . foos ) => 5 ) - - - syntax Bytes ::= S2KsrcZModTokenContract "." S2KsrcZModTokenMethod [function, symbol(""), klabel(method_src%Token)] - - syntax S2KsrcZModTokenMethod ::= "S2Ktransfer" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_src%Token_S2Ktransfer_address_uint256)] - - rule ( S2KsrcZModToken . S2Ktransfer ( V0_dst : address , V1_amount : uint256 ) => #abiCallData ( "transfer" , ( #address ( V0_dst ) , ( #uint256 ( V1_amount ) , .TypedArgs ) ) ) ) - ensures ( #rangeAddress ( V0_dst ) - andBool ( #rangeUInt ( 256 , V1_amount ) - )) - - - rule ( selector ( "transfer(address,uint256)" ) => 2835717307 ) - - -endmodule - -module S2KtestZModBytesTypeTest-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModBytesTypeTestContract - - syntax S2KtestZModBytesTypeTestContract ::= "S2KtestZModBytesTypeTest" [symbol(""), klabel(contract_test%BytesTypeTest)] - - - - rule ( #initBytecode ( S2KtestZModBytesTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610189806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063176854031461006757806395a933ba1461007c578063a7c088351461008f578063ccdc3f4d146100a2578063d6bf2ada1461007c578063ffa9fc7114610067575b600080fd5b61007a6100753660046100f3565b6100b3565b005b61007a61008a36600461010c565b6100c4565b61007a61009d36600461010c565b6100db565b61007a6100b03660046100f3565b50565b60001981106100b0576100b061013d565b60e081901c63ffffffff116100b0576100b061013d565b60e081901c63ffffffff10156100b0576100b061013d565b60006020828403121561010557600080fd5b5035919050565b60006020828403121561011e57600080fd5b81356001600160e01b03198116811461013657600080fd5b9392505050565b634e487b7160e01b600052600160045260246000fdfea2646970667358221220a2cda4fd602855aae073a2c5a1e77ca0cd9feae50b64c59bc764b68626628db164736f6c634300080d0033" ) ) - - - syntax Bytes ::= S2KtestZModBytesTypeTestContract "." S2KtestZModBytesTypeTestMethod [function, symbol(""), klabel(method_test%BytesTypeTest)] - - syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestFailZUndbytes32" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestFailZUndbytes32_bytes32)] - - syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestFailZUndbytes4" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestFailZUndbytes4_bytes4)] - - syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes32" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes32_bytes32)] - - syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes32ZUndfail" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes32ZUndfail_bytes32)] - - syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes4" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes4_bytes4)] - - syntax S2KtestZModBytesTypeTestMethod ::= "S2KtestZUndbytes4ZUndfail" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_test%BytesTypeTest_S2KtestZUndbytes4ZUndfail_bytes4)] - - rule ( S2KtestZModBytesTypeTest . S2KtestFailZUndbytes32 ( V0_x : bytes32 ) => #abiCallData ( "testFail_bytes32" , ( #bytes32 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeBytes ( 32 , V0_x ) - - - rule ( S2KtestZModBytesTypeTest . S2KtestFailZUndbytes4 ( V0_x : bytes4 ) => #abiCallData ( "testFail_bytes4" , ( #bytes4 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeBytes ( 4 , V0_x ) - - - rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes32 ( V0_x : bytes32 ) => #abiCallData ( "test_bytes32" , ( #bytes32 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeBytes ( 32 , V0_x ) - - - rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes32ZUndfail ( V0_x : bytes32 ) => #abiCallData ( "test_bytes32_fail" , ( #bytes32 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeBytes ( 32 , V0_x ) - - - rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes4 ( V0_x : bytes4 ) => #abiCallData ( "test_bytes4" , ( #bytes4 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeBytes ( 4 , V0_x ) - - - rule ( S2KtestZModBytesTypeTest . S2KtestZUndbytes4ZUndfail ( V0_x : bytes4 ) => #abiCallData ( "test_bytes4_fail" , ( #bytes4 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeBytes ( 4 , V0_x ) - - - rule ( selector ( "testFail_bytes32(bytes32)" ) => 4289330289 ) - - - rule ( selector ( "testFail_bytes4(bytes4)" ) => 3602852570 ) - - - rule ( selector ( "test_bytes32(bytes32)" ) => 3436986189 ) - - - rule ( selector ( "test_bytes32_fail(bytes32)" ) => 392713219 ) - - - rule ( selector ( "test_bytes4(bytes4)" ) => 2814412853 ) - - - rule ( selector ( "test_bytes4_fail(bytes4)" ) => 2510894010 ) + rule ( selector ( "test_vars((uint8,uint32,bytes32))" ) => 4078043520 ) endmodule -module S2KtestZModIntTypeTest-CONTRACT +module S2KtestZModUintTypeTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KtestZModIntTypeTestContract + syntax Contract ::= S2KtestZModUintTypeTestContract - syntax S2KtestZModIntTypeTestContract ::= "S2KtestZModIntTypeTest" [symbol(""), klabel(contract_test%IntTypeTest)] + syntax S2KtestZModUintTypeTestContract ::= "S2KtestZModUintTypeTest" [symbol(""), klabel(contract_test%UintTypeTest)] - rule ( #initBytecode ( S2KtestZModIntTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b5061025a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80636ad45b2e116100665780636ad45b2e146100e65780636fe1d822146100ad5780637686b9d9146100c0578063a38fa320146100d3578063e3a003ce146100f957600080fd5b80633b5bed8d1461009857806346a322e3146100ad57806349f45c19146100c057806368593cf1146100d3575b600080fd5b6100ab6100a63660046101a8565b61010c565b005b6100ab6100bb3660046101d2565b61012a565b6100ab6100ce3660046101a8565b610140565b6100ab6100e13660046101eb565b61015a565b6100ab6100f43660046101eb565b610175565b6100ab6101073660046101d2565b610191565b600f81900b60016001607f1b0312156101275761012761020e565b50565b806001600160ff1b03136101275761012761020e565b600f81900b60016001607f1b03136101275761012761020e565b600781900b677fffffffffffffff136101275761012761020e565b600781900b677fffffffffffffff12156101275761012761020e565b806001600160ff1b0312156101275761012761020e565b6000602082840312156101ba57600080fd5b813580600f0b81146101cb57600080fd5b9392505050565b6000602082840312156101e457600080fd5b5035919050565b6000602082840312156101fd57600080fd5b81358060070b81146101cb57600080fd5b634e487b7160e01b600052600160045260246000fdfea26469706673582212200d1fac94ebfd75e4d9346ed382b003aba92c93cb9e9bb2353031c80894ad28ca64736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModUintTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50611537806100206000396000f3fe608060405234801561001057600080fd5b50600436106105305760003560e01c80639034111c116102af578063c32ac8df11610172578063dc3a57f0116100d9578063f12bce4c11610092578063f12bce4c14610924578063f2f9691c1461089f578063f4566ec31461068d578063f7c0d17c146109bc578063f9126fa1146105f5578063f930f01c1461099657600080fd5b8063dc3a57f0146109a9578063e4d5122b146109bc578063e4f24a3f146109cf578063e920ae5914610853578063eb92aaa9146107e1578063ef35afd1146109e257600080fd5b8063d316d6851161012b578063d316d68514610583578063d3d8df2314610710578063d56555a814610911578063d606851214610983578063d822867414610996578063db522592146108eb57600080fd5b8063c32ac8df14610970578063c3aea4171461067a578063c415e5d5146107ce578063c7ce39e11461094a578063ccd4bffe1461081a578063d2b7065b146105cf57600080fd5b8063aac485ac11610216578063b9f3c162116101cf578063b9f3c16214610937578063bc8ed9a61461094a578063bde61bde146106ea578063bf6062251461095d578063bf94b1d31461076f578063bfd448f71461065457600080fd5b8063aac485ac146108eb578063aacd089d146108fe578063ae698c7c146107f4578063b09b241f146107a8578063b6fc8d8c14610911578063b82d23b31461092457600080fd5b8063a308298f11610268578063a308298f1461088c578063a315fd391461089f578063a5d0028d146108b2578063a63fc1df146108c5578063a66657e8146108d8578063aa5cd64b146106d757600080fd5b80639034111c146108405780639169462d1461085357806391d4c9ed14610866578063935fc9ff1461080757806395aca5b7146108795780639d24f4be146105bc57600080fd5b80633a5aacb8116103f757806365914c181161035e57806370fd922e1161031757806370fd922e1461081a578063774319e7146106a0578063790714c21461082d5780637abd93aa146106c45780637eaa7a22146107365780638acb32de1461062e57600080fd5b806365914c18146107bb57806365dfa08c146107ce57806367b70aa3146107e15780636cf6fd10146107f45780636d232e6d146106085780636f3d57cc1461080757600080fd5b80634b3cfeb1116103b05780634b3cfeb11461075c5780634cdd512b1461076f5780634d69982e146107825780634e6e74f914610795578063617db4a3146107a8578063647c8823146105a957600080fd5b80633a5aacb8146106ea5780633a8b8b96146106fd57806340639d891461071057806348fa8be7146107235780634a27f445146107365780634a5ad1a61461074957600080fd5b80631eb6018f1161049b5780632f300e61116104545780632f300e611461067a578063304660441461068d57806330dfd541146106a057806332beb385146106b3578063342fae45146106c45780633991d7d4146106d757600080fd5b80631eb6018f14610608578063227ccddb1461061b5780632618b7101461062e57806327a2a08c146106415780632dd4c189146106545780632ec723c91461066757600080fd5b806314673504116104ed578063146735041461059657806314bbddc9146105a957806318a442de146105bc57806319148a5d146105cf5780631b1620f9146105e25780631d4c35a4146105f557600080fd5b80630289569714610535578063037f147d1461054a57806305f6eb211461055d578063078f9137146105705780630bd5c5d21461058357806312ffa78914610535575b600080fd5b610548610543366004610fdf565b6109f5565b005b610548610558366004611013565b610a11565b61054861056b366004610fdf565b610a2a565b61054861057e36600461103c565b610a47565b610548610591366004611065565b610a60565b6105486105a436600461108e565b610a78565b6105486105b73660046110b7565b610a91565b6105486105ca3660046110de565b610aa7565b6105486105dd366004611107565b610abf565b6105486105f0366004611130565b610ad7565b610548610603366004611130565b610aef565b610548610616366004611158565b610b06565b610548610629366004611181565b610b1e565b61054861063c3660046111aa565b610b37565b61054861064f366004611158565b610b4b565b6105486106623660046111cf565b610b64565b6105486106753660046111f5565b610b79565b6105486106883660046111f5565b610b92565b61054861069b36600461121e565b610baa565b6105486106ae366004611247565b610bc2565b6105486106c1366004611271565b50565b6105486106d236600461128a565b610bdb565b6105486106e536600461103c565b610bf5565b6105486106f8366004611013565b610c0d565b61054861070b3660046111cf565b610c25565b61054861071e36600461108e565b610c3b565b6105486107313660046112b5565b610c53565b6105486107443660046112de565b610c6c565b610548610757366004611065565b610c84565b61054861076a366004611307565b610c9d565b61054861077d36600461132b565b610cb1565b6105486107903660046110b7565b610cc9565b6105486107a3366004611354565b610ce0565b6105486107b6366004611354565b610cf9565b6105486107c936600461137d565b610d11565b6105486107dc3660046113a0565b610d24565b6105486107ef3660046113c9565b610d3c565b6105486108023660046113f2565b610d54565b61054861081536600461141b565b610d6c565b610548610828366004611271565b610d84565b61054861083b3660046113a0565b610d95565b61054861084e36600461121e565b610dae565b6105486108613660046112b5565b610dc7565b61054861087436600461132b565b610ddf565b610548610887366004611247565b610df8565b61054861089a3660046112de565b610e12565b6105486108ad366004611307565b610e2b565b6105486108c0366004611444565b610e3e565b6105486108d33660046110de565b610e57565b6105486108e6366004611107565b610e70565b6105486108f936600461137d565b610e89565b61054861090c3660046111aa565b610e9b565b61054861091f366004611181565b610eb0565b61054861093236600461146d565b610ec8565b6105486109453660046113f2565b610ee0565b610548610958366004611444565b610ef9565b61054861096b36600461141b565b610f11565b61054861097e36600461146d565b610f2a565b6105486109913660046113c9565b610f43565b6105486109a4366004611496565b610f5c565b6105486109b736600461128a565b610f77565b6105486109ca3660046114c2565b610f92565b6105486109dd366004611496565b610faa565b6105486109f03660046114c2565b610fc6565b6affffffffffffffffffffff808216106106c1576106c16114eb565b66ffffffffffffff80821611156106c1576106c16114eb565b6affffffffffffffffffffff80821611156106c1576106c16114eb565b6001600160c01b0380821611156106c1576106c16114eb565b6001600160701b03808216106106c1576106c16114eb565b6001600160c81b0380821611156106c1576106c16114eb565b64ffffffffff808216106106c1576106c16114eb565b6001600160a81b03808216106106c1576106c16114eb565b6001600160e01b03808216106106c1576106c16114eb565b65ffffffffffff80821611156106c1576106c16114eb565b65ffffffffffff808216106106c1576106c16114eb565b6001600160d01b03808216106106c1576106c16114eb565b6001600160f81b0380821611156106c1576106c16114eb565b62ffffff808216106106c1576106c16114eb565b6001600160d01b0380821611156106c1576106c16114eb565b63ffffffff808216106106c1576106c16114eb565b6001600160801b0380821611156106c1576106c16114eb565b6001600160801b03808216106106c1576106c16114eb565b6001600160b81b03808216106106c1576106c16114eb565b67ffffffffffffffff808216106106c1576106c16114eb565b68ffffffffffffffffff808216106106c1576106c16114eb565b6001600160c01b03808216106106c1576106c16114eb565b66ffffffffffffff808216106106c1576106c16114eb565b63ffffffff80821611156106c1576106c16114eb565b6001600160c81b03808216106106c1576106c16114eb565b6001600160901b0380821611156106c1576106c16114eb565b6001600160d81b03808216106106c1576106c16114eb565b6001600160701b0380821611156106c1576106c16114eb565b61ffff80821611156106c1576106c16114eb565b6001600160a01b03808216106106c1576106c16114eb565b64ffffffffff80821611156106c1576106c16114eb565b6001600160601b0380821611156106c1576106c16114eb565b6001600160601b03808216106106c1576106c16114eb565b60ff80821611156106c1576106c16114eb565b6001600160681b03808216106106c1576106c16114eb565b6001600160881b03808216106106c1576106c16114eb565b6001600160b01b03808216106106c1576106c16114eb565b6001600160981b03808216106106c1576106c16114eb565b80600019116106c1576106c16114eb565b6001600160681b0380821611156106c1576106c16114eb565b6001600160b81b0380821611156106c1576106c16114eb565b6001600160901b03808216106106c1576106c16114eb565b6001600160a01b0380821611156106c1576106c16114eb565b67ffffffffffffffff80821611156106c1576106c16114eb565b6001600160d81b0380821611156106c1576106c16114eb565b61ffff808216106106c1576106c16114eb565b6001600160e81b0380821611156106c1576106c16114eb565b6001600160a81b0380821611156106c1576106c16114eb565b6001600160e01b0380821611156106c1576106c16114eb565b60ff808216106106c1576106c16114eb565b62ffffff80821611156106c1576106c16114eb565b6001600160f81b03808216106106c1576106c16114eb565b6001600160f01b03808216106106c1576106c16114eb565b6001600160b01b0380821611156106c1576106c16114eb565b6001600160e81b03808216106106c1576106c16114eb565b6001600160981b0380821611156106c1576106c16114eb565b6001600160f01b0380821611156106c1576106c16114eb565b6001600160881b0380821611156106c1576106c16114eb565b69ffffffffffffffffffff808216106106c1576106c16114eb565b68ffffffffffffffffff80821611156106c1576106c16114eb565b6001600160781b03808216106106c1576106c16114eb565b69ffffffffffffffffffff80821611156106c1576106c16114eb565b6001600160781b0380821611156106c1576106c16114eb565b600060208284031215610ff157600080fd5b81356affffffffffffffffffffff8116811461100c57600080fd5b9392505050565b60006020828403121561102557600080fd5b813566ffffffffffffff8116811461100c57600080fd5b60006020828403121561104e57600080fd5b81356001600160c01b038116811461100c57600080fd5b60006020828403121561107757600080fd5b81356001600160701b038116811461100c57600080fd5b6000602082840312156110a057600080fd5b81356001600160c81b038116811461100c57600080fd5b6000602082840312156110c957600080fd5b813564ffffffffff8116811461100c57600080fd5b6000602082840312156110f057600080fd5b81356001600160a81b038116811461100c57600080fd5b60006020828403121561111957600080fd5b81356001600160e01b038116811461100c57600080fd5b60006020828403121561114257600080fd5b813565ffffffffffff8116811461100c57600080fd5b60006020828403121561116a57600080fd5b81356001600160d01b038116811461100c57600080fd5b60006020828403121561119357600080fd5b81356001600160f81b038116811461100c57600080fd5b6000602082840312156111bc57600080fd5b813562ffffff8116811461100c57600080fd5b6000602082840312156111e157600080fd5b813563ffffffff8116811461100c57600080fd5b60006020828403121561120757600080fd5b81356001600160801b038116811461100c57600080fd5b60006020828403121561123057600080fd5b81356001600160b81b038116811461100c57600080fd5b60006020828403121561125957600080fd5b813567ffffffffffffffff8116811461100c57600080fd5b60006020828403121561128357600080fd5b5035919050565b60006020828403121561129c57600080fd5b813568ffffffffffffffffff8116811461100c57600080fd5b6000602082840312156112c757600080fd5b81356001600160901b038116811461100c57600080fd5b6000602082840312156112f057600080fd5b81356001600160d81b038116811461100c57600080fd5b60006020828403121561131957600080fd5b813561ffff8116811461100c57600080fd5b60006020828403121561133d57600080fd5b81356001600160a01b038116811461100c57600080fd5b60006020828403121561136657600080fd5b81356001600160601b038116811461100c57600080fd5b60006020828403121561138f57600080fd5b813560ff8116811461100c57600080fd5b6000602082840312156113b257600080fd5b81356001600160681b038116811461100c57600080fd5b6000602082840312156113db57600080fd5b81356001600160881b038116811461100c57600080fd5b60006020828403121561140457600080fd5b81356001600160b01b038116811461100c57600080fd5b60006020828403121561142d57600080fd5b81356001600160981b038116811461100c57600080fd5b60006020828403121561145657600080fd5b81356001600160e81b038116811461100c57600080fd5b60006020828403121561147f57600080fd5b81356001600160f01b038116811461100c57600080fd5b6000602082840312156114a857600080fd5b813569ffffffffffffffffffff8116811461100c57600080fd5b6000602082840312156114d457600080fd5b81356001600160781b038116811461100c57600080fd5b634e487b7160e01b600052600160045260246000fdfea26469706673582212203da055bbaa68b3025e693e7ab649d1579d995cf78a041869379189a098a00f7864736f6c634300080d0033" ) ) - syntax Bytes ::= S2KtestZModIntTypeTestContract "." S2KtestZModIntTypeTestMethod [function, symbol(""), klabel(method_test%IntTypeTest)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestFailZUndint128" "(" Int ":" "int128" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestFailZUndint128_int128)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestFailZUndint256" "(" Int ":" "int256" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestFailZUndint256_int256)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestFailZUndint64" "(" Int ":" "int64" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestFailZUndint64_int64)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint128" "(" Int ":" "int128" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint128_int128)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint128ZUndfail" "(" Int ":" "int128" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint128ZUndfail_int128)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint256" "(" Int ":" "int256" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint256_int256)] - - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint256ZUndfail" "(" Int ":" "int256" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint256ZUndfail_int256)] + syntax Bytes ::= S2KtestZModUintTypeTestContract "." S2KtestZModUintTypeTestMethod [function, symbol(""), klabel(method_test%UintTypeTest)] - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint64" "(" Int ":" "int64" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint64_int64)] + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint104" "(" Int ":" "uint104" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint104_uint104)] - syntax S2KtestZModIntTypeTestMethod ::= "S2KtestZUndint64ZUndfail" "(" Int ":" "int64" ")" [symbol(""), klabel(method_test%IntTypeTest_S2KtestZUndint64ZUndfail_int64)] + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint112" "(" Int ":" "uint112" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint112_uint112)] - rule ( S2KtestZModIntTypeTest . S2KtestFailZUndint128 ( V0_x : int128 ) => #abiCallData ( "testFail_int128" , ( #int128 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 128 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint120" "(" Int ":" "uint120" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint120_uint120)] - rule ( S2KtestZModIntTypeTest . S2KtestFailZUndint256 ( V0_x : int256 ) => #abiCallData ( "testFail_int256" , ( #int256 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 256 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint128" "(" Int ":" "uint128" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint128_uint128)] - rule ( S2KtestZModIntTypeTest . S2KtestFailZUndint64 ( V0_x : int64 ) => #abiCallData ( "testFail_int64" , ( #int64 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 64 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint136" "(" Int ":" "uint136" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint136_uint136)] - rule ( S2KtestZModIntTypeTest . S2KtestZUndint128 ( V0_x : int128 ) => #abiCallData ( "test_int128" , ( #int128 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 128 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint144" "(" Int ":" "uint144" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint144_uint144)] - rule ( S2KtestZModIntTypeTest . S2KtestZUndint128ZUndfail ( V0_x : int128 ) => #abiCallData ( "test_int128_fail" , ( #int128 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 128 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint152" "(" Int ":" "uint152" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint152_uint152)] - rule ( S2KtestZModIntTypeTest . S2KtestZUndint256 ( V0_x : int256 ) => #abiCallData ( "test_int256" , ( #int256 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 256 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint16" "(" Int ":" "uint16" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint16_uint16)] - rule ( S2KtestZModIntTypeTest . S2KtestZUndint256ZUndfail ( V0_x : int256 ) => #abiCallData ( "test_int256_fail" , ( #int256 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 256 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint160" "(" Int ":" "uint160" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint160_uint160)] - rule ( S2KtestZModIntTypeTest . S2KtestZUndint64 ( V0_x : int64 ) => #abiCallData ( "test_int64" , ( #int64 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 64 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint168" "(" Int ":" "uint168" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint168_uint168)] - rule ( S2KtestZModIntTypeTest . S2KtestZUndint64ZUndfail ( V0_x : int64 ) => #abiCallData ( "test_int64_fail" , ( #int64 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeSInt ( 64 , V0_x ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint176" "(" Int ":" "uint176" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint176_uint176)] - rule ( selector ( "testFail_int128(int128)" ) => 1988540889 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint184" "(" Int ":" "uint184" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint184_uint184)] - rule ( selector ( "testFail_int256(int256)" ) => 1185096419 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint192" "(" Int ":" "uint192" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint192_uint192)] - rule ( selector ( "testFail_int64(int64)" ) => 1750678769 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint200" "(" Int ":" "uint200" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint200_uint200)] - rule ( selector ( "test_int128(int128)" ) => 995880333 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint208" "(" Int ":" "uint208" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint208_uint208)] - rule ( selector ( "test_int128_fail(int128)" ) => 1240751129 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint216" "(" Int ":" "uint216" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint216_uint216)] - rule ( selector ( "test_int256(int256)" ) => 3818914766 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint224" "(" Int ":" "uint224" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint224_uint224)] - rule ( selector ( "test_int256_fail(int256)" ) => 1877071906 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint232" "(" Int ":" "uint232" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint232_uint232)] - rule ( selector ( "test_int64(int64)" ) => 1792301870 ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint24" "(" Int ":" "uint24" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint24_uint24)] - rule ( selector ( "test_int64_fail(int64)" ) => 2744099616 ) - - -endmodule - -module S2KtestZModStructTypeTest-CONTRACT - imports public FOUNDRY + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint240" "(" Int ":" "uint240" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint240_uint240)] - syntax Contract ::= S2KtestZModStructTypeTestContract + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint248" "(" Int ":" "uint248" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint248_uint248)] - syntax S2KtestZModStructTypeTestContract ::= "S2KtestZModStructTypeTest" [symbol(""), klabel(contract_test%StructTypeTest)] + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint256" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint256_uint256)] - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint32" "(" Int ":" "uint32" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint32_uint32)] - rule ( #initBytecode ( S2KtestZModStructTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50610133806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063f312018014602d575b600080fd5b603c60383660046084565b603e565b005b60496020820182609b565b60ff1660ff80161015605b57605b60c3565b6069604082016020830160d9565b63ffffffff1663ffffffff80161015608157608160c3565b50565b600060608284031215609557600080fd5b50919050565b60006020828403121560ac57600080fd5b813560ff8116811460bc57600080fd5b9392505050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121560ea57600080fd5b813563ffffffff8116811460bc57600080fdfea26469706673582212208d4b71859ea8c5558f2224643cd5d8007e3a774b31fd448aff3d7becdb4ff45a64736f6c634300080d0033" ) ) - - - syntax Bytes ::= S2KtestZModStructTypeTestContract "." S2KtestZModStructTypeTestMethod [function, symbol(""), klabel(method_test%StructTypeTest)] - - syntax S2KtestZModStructTypeTestMethod ::= "S2KtestZUndvars" "(" Int ":" "uint8" "," Int ":" "uint32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_test%StructTypeTest_S2KtestZUndvars_uint8_uint32_bytes32)] - - rule ( S2KtestZModStructTypeTest . S2KtestZUndvars ( V0_a : uint8 , V1_timestamp : uint32 , V2_b : bytes32 ) => #abiCallData ( "test_vars" , ( #tuple ( ( #uint8 ( V0_a ) , ( #uint32 ( V1_timestamp ) , ( #bytes32 ( V2_b ) , .TypedArgs ) ) ) ) , .TypedArgs ) ) ) - ensures ( #rangeUInt ( 8 , V0_a ) - andBool ( #rangeUInt ( 32 , V1_timestamp ) - andBool ( #rangeBytes ( 32 , V2_b ) - ))) - - - rule ( selector ( "test_vars((uint8,uint32,bytes32))" ) => 4078043520 ) - - -endmodule - -module S2KtestZModUintTypeTest-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KtestZModUintTypeTestContract - - syntax S2KtestZModUintTypeTestContract ::= "S2KtestZModUintTypeTest" [symbol(""), klabel(contract_test%UintTypeTest)] - - - - rule ( #initBytecode ( S2KtestZModUintTypeTest ) => #parseByteStack ( "0x608060405234801561001057600080fd5b50611537806100206000396000f3fe608060405234801561001057600080fd5b50600436106105305760003560e01c80639034111c116102af578063c32ac8df11610172578063dc3a57f0116100d9578063f12bce4c11610092578063f12bce4c14610924578063f2f9691c1461089f578063f4566ec31461068d578063f7c0d17c146109bc578063f9126fa1146105f5578063f930f01c1461099657600080fd5b8063dc3a57f0146109a9578063e4d5122b146109bc578063e4f24a3f146109cf578063e920ae5914610853578063eb92aaa9146107e1578063ef35afd1146109e257600080fd5b8063d316d6851161012b578063d316d68514610583578063d3d8df2314610710578063d56555a814610911578063d606851214610983578063d822867414610996578063db522592146108eb57600080fd5b8063c32ac8df14610970578063c3aea4171461067a578063c415e5d5146107ce578063c7ce39e11461094a578063ccd4bffe1461081a578063d2b7065b146105cf57600080fd5b8063aac485ac11610216578063b9f3c162116101cf578063b9f3c16214610937578063bc8ed9a61461094a578063bde61bde146106ea578063bf6062251461095d578063bf94b1d31461076f578063bfd448f71461065457600080fd5b8063aac485ac146108eb578063aacd089d146108fe578063ae698c7c146107f4578063b09b241f146107a8578063b6fc8d8c14610911578063b82d23b31461092457600080fd5b8063a308298f11610268578063a308298f1461088c578063a315fd391461089f578063a5d0028d146108b2578063a63fc1df146108c5578063a66657e8146108d8578063aa5cd64b146106d757600080fd5b80639034111c146108405780639169462d1461085357806391d4c9ed14610866578063935fc9ff1461080757806395aca5b7146108795780639d24f4be146105bc57600080fd5b80633a5aacb8116103f757806365914c181161035e57806370fd922e1161031757806370fd922e1461081a578063774319e7146106a0578063790714c21461082d5780637abd93aa146106c45780637eaa7a22146107365780638acb32de1461062e57600080fd5b806365914c18146107bb57806365dfa08c146107ce57806367b70aa3146107e15780636cf6fd10146107f45780636d232e6d146106085780636f3d57cc1461080757600080fd5b80634b3cfeb1116103b05780634b3cfeb11461075c5780634cdd512b1461076f5780634d69982e146107825780634e6e74f914610795578063617db4a3146107a8578063647c8823146105a957600080fd5b80633a5aacb8146106ea5780633a8b8b96146106fd57806340639d891461071057806348fa8be7146107235780634a27f445146107365780634a5ad1a61461074957600080fd5b80631eb6018f1161049b5780632f300e61116104545780632f300e611461067a578063304660441461068d57806330dfd541146106a057806332beb385146106b3578063342fae45146106c45780633991d7d4146106d757600080fd5b80631eb6018f14610608578063227ccddb1461061b5780632618b7101461062e57806327a2a08c146106415780632dd4c189146106545780632ec723c91461066757600080fd5b806314673504116104ed578063146735041461059657806314bbddc9146105a957806318a442de146105bc57806319148a5d146105cf5780631b1620f9146105e25780631d4c35a4146105f557600080fd5b80630289569714610535578063037f147d1461054a57806305f6eb211461055d578063078f9137146105705780630bd5c5d21461058357806312ffa78914610535575b600080fd5b610548610543366004610fdf565b6109f5565b005b610548610558366004611013565b610a11565b61054861056b366004610fdf565b610a2a565b61054861057e36600461103c565b610a47565b610548610591366004611065565b610a60565b6105486105a436600461108e565b610a78565b6105486105b73660046110b7565b610a91565b6105486105ca3660046110de565b610aa7565b6105486105dd366004611107565b610abf565b6105486105f0366004611130565b610ad7565b610548610603366004611130565b610aef565b610548610616366004611158565b610b06565b610548610629366004611181565b610b1e565b61054861063c3660046111aa565b610b37565b61054861064f366004611158565b610b4b565b6105486106623660046111cf565b610b64565b6105486106753660046111f5565b610b79565b6105486106883660046111f5565b610b92565b61054861069b36600461121e565b610baa565b6105486106ae366004611247565b610bc2565b6105486106c1366004611271565b50565b6105486106d236600461128a565b610bdb565b6105486106e536600461103c565b610bf5565b6105486106f8366004611013565b610c0d565b61054861070b3660046111cf565b610c25565b61054861071e36600461108e565b610c3b565b6105486107313660046112b5565b610c53565b6105486107443660046112de565b610c6c565b610548610757366004611065565b610c84565b61054861076a366004611307565b610c9d565b61054861077d36600461132b565b610cb1565b6105486107903660046110b7565b610cc9565b6105486107a3366004611354565b610ce0565b6105486107b6366004611354565b610cf9565b6105486107c936600461137d565b610d11565b6105486107dc3660046113a0565b610d24565b6105486107ef3660046113c9565b610d3c565b6105486108023660046113f2565b610d54565b61054861081536600461141b565b610d6c565b610548610828366004611271565b610d84565b61054861083b3660046113a0565b610d95565b61054861084e36600461121e565b610dae565b6105486108613660046112b5565b610dc7565b61054861087436600461132b565b610ddf565b610548610887366004611247565b610df8565b61054861089a3660046112de565b610e12565b6105486108ad366004611307565b610e2b565b6105486108c0366004611444565b610e3e565b6105486108d33660046110de565b610e57565b6105486108e6366004611107565b610e70565b6105486108f936600461137d565b610e89565b61054861090c3660046111aa565b610e9b565b61054861091f366004611181565b610eb0565b61054861093236600461146d565b610ec8565b6105486109453660046113f2565b610ee0565b610548610958366004611444565b610ef9565b61054861096b36600461141b565b610f11565b61054861097e36600461146d565b610f2a565b6105486109913660046113c9565b610f43565b6105486109a4366004611496565b610f5c565b6105486109b736600461128a565b610f77565b6105486109ca3660046114c2565b610f92565b6105486109dd366004611496565b610faa565b6105486109f03660046114c2565b610fc6565b6affffffffffffffffffffff808216106106c1576106c16114eb565b66ffffffffffffff80821611156106c1576106c16114eb565b6affffffffffffffffffffff80821611156106c1576106c16114eb565b6001600160c01b0380821611156106c1576106c16114eb565b6001600160701b03808216106106c1576106c16114eb565b6001600160c81b0380821611156106c1576106c16114eb565b64ffffffffff808216106106c1576106c16114eb565b6001600160a81b03808216106106c1576106c16114eb565b6001600160e01b03808216106106c1576106c16114eb565b65ffffffffffff80821611156106c1576106c16114eb565b65ffffffffffff808216106106c1576106c16114eb565b6001600160d01b03808216106106c1576106c16114eb565b6001600160f81b0380821611156106c1576106c16114eb565b62ffffff808216106106c1576106c16114eb565b6001600160d01b0380821611156106c1576106c16114eb565b63ffffffff808216106106c1576106c16114eb565b6001600160801b0380821611156106c1576106c16114eb565b6001600160801b03808216106106c1576106c16114eb565b6001600160b81b03808216106106c1576106c16114eb565b67ffffffffffffffff808216106106c1576106c16114eb565b68ffffffffffffffffff808216106106c1576106c16114eb565b6001600160c01b03808216106106c1576106c16114eb565b66ffffffffffffff808216106106c1576106c16114eb565b63ffffffff80821611156106c1576106c16114eb565b6001600160c81b03808216106106c1576106c16114eb565b6001600160901b0380821611156106c1576106c16114eb565b6001600160d81b03808216106106c1576106c16114eb565b6001600160701b0380821611156106c1576106c16114eb565b61ffff80821611156106c1576106c16114eb565b6001600160a01b03808216106106c1576106c16114eb565b64ffffffffff80821611156106c1576106c16114eb565b6001600160601b0380821611156106c1576106c16114eb565b6001600160601b03808216106106c1576106c16114eb565b60ff80821611156106c1576106c16114eb565b6001600160681b03808216106106c1576106c16114eb565b6001600160881b03808216106106c1576106c16114eb565b6001600160b01b03808216106106c1576106c16114eb565b6001600160981b03808216106106c1576106c16114eb565b80600019116106c1576106c16114eb565b6001600160681b0380821611156106c1576106c16114eb565b6001600160b81b0380821611156106c1576106c16114eb565b6001600160901b03808216106106c1576106c16114eb565b6001600160a01b0380821611156106c1576106c16114eb565b67ffffffffffffffff80821611156106c1576106c16114eb565b6001600160d81b0380821611156106c1576106c16114eb565b61ffff808216106106c1576106c16114eb565b6001600160e81b0380821611156106c1576106c16114eb565b6001600160a81b0380821611156106c1576106c16114eb565b6001600160e01b0380821611156106c1576106c16114eb565b60ff808216106106c1576106c16114eb565b62ffffff80821611156106c1576106c16114eb565b6001600160f81b03808216106106c1576106c16114eb565b6001600160f01b03808216106106c1576106c16114eb565b6001600160b01b0380821611156106c1576106c16114eb565b6001600160e81b03808216106106c1576106c16114eb565b6001600160981b0380821611156106c1576106c16114eb565b6001600160f01b0380821611156106c1576106c16114eb565b6001600160881b0380821611156106c1576106c16114eb565b69ffffffffffffffffffff808216106106c1576106c16114eb565b68ffffffffffffffffff80821611156106c1576106c16114eb565b6001600160781b03808216106106c1576106c16114eb565b69ffffffffffffffffffff80821611156106c1576106c16114eb565b6001600160781b0380821611156106c1576106c16114eb565b600060208284031215610ff157600080fd5b81356affffffffffffffffffffff8116811461100c57600080fd5b9392505050565b60006020828403121561102557600080fd5b813566ffffffffffffff8116811461100c57600080fd5b60006020828403121561104e57600080fd5b81356001600160c01b038116811461100c57600080fd5b60006020828403121561107757600080fd5b81356001600160701b038116811461100c57600080fd5b6000602082840312156110a057600080fd5b81356001600160c81b038116811461100c57600080fd5b6000602082840312156110c957600080fd5b813564ffffffffff8116811461100c57600080fd5b6000602082840312156110f057600080fd5b81356001600160a81b038116811461100c57600080fd5b60006020828403121561111957600080fd5b81356001600160e01b038116811461100c57600080fd5b60006020828403121561114257600080fd5b813565ffffffffffff8116811461100c57600080fd5b60006020828403121561116a57600080fd5b81356001600160d01b038116811461100c57600080fd5b60006020828403121561119357600080fd5b81356001600160f81b038116811461100c57600080fd5b6000602082840312156111bc57600080fd5b813562ffffff8116811461100c57600080fd5b6000602082840312156111e157600080fd5b813563ffffffff8116811461100c57600080fd5b60006020828403121561120757600080fd5b81356001600160801b038116811461100c57600080fd5b60006020828403121561123057600080fd5b81356001600160b81b038116811461100c57600080fd5b60006020828403121561125957600080fd5b813567ffffffffffffffff8116811461100c57600080fd5b60006020828403121561128357600080fd5b5035919050565b60006020828403121561129c57600080fd5b813568ffffffffffffffffff8116811461100c57600080fd5b6000602082840312156112c757600080fd5b81356001600160901b038116811461100c57600080fd5b6000602082840312156112f057600080fd5b81356001600160d81b038116811461100c57600080fd5b60006020828403121561131957600080fd5b813561ffff8116811461100c57600080fd5b60006020828403121561133d57600080fd5b81356001600160a01b038116811461100c57600080fd5b60006020828403121561136657600080fd5b81356001600160601b038116811461100c57600080fd5b60006020828403121561138f57600080fd5b813560ff8116811461100c57600080fd5b6000602082840312156113b257600080fd5b81356001600160681b038116811461100c57600080fd5b6000602082840312156113db57600080fd5b81356001600160881b038116811461100c57600080fd5b60006020828403121561140457600080fd5b81356001600160b01b038116811461100c57600080fd5b60006020828403121561142d57600080fd5b81356001600160981b038116811461100c57600080fd5b60006020828403121561145657600080fd5b81356001600160e81b038116811461100c57600080fd5b60006020828403121561147f57600080fd5b81356001600160f01b038116811461100c57600080fd5b6000602082840312156114a857600080fd5b813569ffffffffffffffffffff8116811461100c57600080fd5b6000602082840312156114d457600080fd5b81356001600160781b038116811461100c57600080fd5b634e487b7160e01b600052600160045260246000fdfea26469706673582212203da055bbaa68b3025e693e7ab649d1579d995cf78a041869379189a098a00f7864736f6c634300080d0033" ) ) - - - syntax Bytes ::= S2KtestZModUintTypeTestContract "." S2KtestZModUintTypeTestMethod [function, symbol(""), klabel(method_test%UintTypeTest)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint104" "(" Int ":" "uint104" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint104_uint104)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint112" "(" Int ":" "uint112" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint112_uint112)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint120" "(" Int ":" "uint120" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint120_uint120)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint128" "(" Int ":" "uint128" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint128_uint128)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint136" "(" Int ":" "uint136" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint136_uint136)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint144" "(" Int ":" "uint144" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint144_uint144)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint152" "(" Int ":" "uint152" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint152_uint152)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint16" "(" Int ":" "uint16" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint16_uint16)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint160" "(" Int ":" "uint160" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint160_uint160)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint168" "(" Int ":" "uint168" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint168_uint168)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint176" "(" Int ":" "uint176" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint176_uint176)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint184" "(" Int ":" "uint184" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint184_uint184)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint192" "(" Int ":" "uint192" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint192_uint192)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint200" "(" Int ":" "uint200" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint200_uint200)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint208" "(" Int ":" "uint208" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint208_uint208)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint216" "(" Int ":" "uint216" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint216_uint216)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint224" "(" Int ":" "uint224" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint224_uint224)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint232" "(" Int ":" "uint232" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint232_uint232)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint24" "(" Int ":" "uint24" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint24_uint24)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint240" "(" Int ":" "uint240" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint240_uint240)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint248" "(" Int ":" "uint248" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint248_uint248)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint256" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint256_uint256)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint32" "(" Int ":" "uint32" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint32_uint32)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint40" "(" Int ":" "uint40" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint40_uint40)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint48" "(" Int ":" "uint48" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint48_uint48)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint56" "(" Int ":" "uint56" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint56_uint56)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint64" "(" Int ":" "uint64" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint64_uint64)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint72" "(" Int ":" "uint72" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint72_uint72)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint8" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint8_uint8)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint80" "(" Int ":" "uint80" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint80_uint80)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint88" "(" Int ":" "uint88" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint88_uint88)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint96" "(" Int ":" "uint96" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint96_uint96)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint104" "(" Int ":" "uint104" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint104_uint104)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint104ZUndfail" "(" Int ":" "uint104" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint104ZUndfail_uint104)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint112" "(" Int ":" "uint112" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint112_uint112)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint112ZUndfail" "(" Int ":" "uint112" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint112ZUndfail_uint112)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint120" "(" Int ":" "uint120" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint120_uint120)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint120ZUndfail" "(" Int ":" "uint120" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint120ZUndfail_uint120)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint128" "(" Int ":" "uint128" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint128_uint128)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint128ZUndfail" "(" Int ":" "uint128" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint128ZUndfail_uint128)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint136" "(" Int ":" "uint136" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint136_uint136)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint136ZUndfail" "(" Int ":" "uint136" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint136ZUndfail_uint136)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint144" "(" Int ":" "uint144" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint144_uint144)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint144ZUndfail" "(" Int ":" "uint144" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint144ZUndfail_uint144)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint152" "(" Int ":" "uint152" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint152_uint152)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint152ZUndfail" "(" Int ":" "uint152" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint152ZUndfail_uint152)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint16" "(" Int ":" "uint16" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint16_uint16)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint160" "(" Int ":" "uint160" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint160_uint160)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint160ZUndfail" "(" Int ":" "uint160" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint160ZUndfail_uint160)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint168" "(" Int ":" "uint168" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint168_uint168)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint168ZUndfail" "(" Int ":" "uint168" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint168ZUndfail_uint168)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint16ZUndfail" "(" Int ":" "uint16" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint16ZUndfail_uint16)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint176" "(" Int ":" "uint176" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint176_uint176)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint176ZUndfail" "(" Int ":" "uint176" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint176ZUndfail_uint176)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint184" "(" Int ":" "uint184" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint184_uint184)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint184ZUndfail" "(" Int ":" "uint184" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint184ZUndfail_uint184)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint192" "(" Int ":" "uint192" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint192_uint192)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint192ZUndfail" "(" Int ":" "uint192" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint192ZUndfail_uint192)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint200" "(" Int ":" "uint200" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint200_uint200)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint200ZUndfail" "(" Int ":" "uint200" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint200ZUndfail_uint200)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint208" "(" Int ":" "uint208" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint208_uint208)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint208ZUndfail" "(" Int ":" "uint208" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint208ZUndfail_uint208)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint216" "(" Int ":" "uint216" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint216_uint216)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint216ZUndfail" "(" Int ":" "uint216" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint216ZUndfail_uint216)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint224" "(" Int ":" "uint224" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint224_uint224)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint224ZUndfail" "(" Int ":" "uint224" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint224ZUndfail_uint224)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint232" "(" Int ":" "uint232" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint232_uint232)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint232ZUndfail" "(" Int ":" "uint232" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint232ZUndfail_uint232)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint24" "(" Int ":" "uint24" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint24_uint24)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint240" "(" Int ":" "uint240" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint240_uint240)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint240ZUndfail" "(" Int ":" "uint240" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint240ZUndfail_uint240)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint248" "(" Int ":" "uint248" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint248_uint248)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint248ZUndfail" "(" Int ":" "uint248" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint248ZUndfail_uint248)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint24ZUndfail" "(" Int ":" "uint24" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint24ZUndfail_uint24)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint256" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint256_uint256)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint256ZUndfail" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint256ZUndfail_uint256)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint32" "(" Int ":" "uint32" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint32_uint32)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint32ZUndfail" "(" Int ":" "uint32" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint32ZUndfail_uint32)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint40" "(" Int ":" "uint40" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint40_uint40)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint40ZUndfail" "(" Int ":" "uint40" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint40ZUndfail_uint40)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint48" "(" Int ":" "uint48" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint48_uint48)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint48ZUndfail" "(" Int ":" "uint48" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint48ZUndfail_uint48)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint56" "(" Int ":" "uint56" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint56_uint56)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint56ZUndfail" "(" Int ":" "uint56" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint56ZUndfail_uint56)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint64" "(" Int ":" "uint64" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint64_uint64)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint64ZUndfail" "(" Int ":" "uint64" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint64ZUndfail_uint64)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint72" "(" Int ":" "uint72" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint72_uint72)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint72ZUndfail" "(" Int ":" "uint72" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint72ZUndfail_uint72)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint8" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint8_uint8)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint80" "(" Int ":" "uint80" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint80_uint80)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint80ZUndfail" "(" Int ":" "uint80" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint80ZUndfail_uint80)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint88" "(" Int ":" "uint88" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint88_uint88)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint88ZUndfail" "(" Int ":" "uint88" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint88ZUndfail_uint88)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint8ZUndfail" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint8ZUndfail_uint8)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint96" "(" Int ":" "uint96" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint96_uint96)] - - syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint96ZUndfail" "(" Int ":" "uint96" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint96ZUndfail_uint96)] - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint104 ( V0_x : uint104 ) => #abiCallData ( "testFail_uint104" , ( #uint104 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 104 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint112 ( V0_x : uint112 ) => #abiCallData ( "testFail_uint112" , ( #uint112 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 112 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint120 ( V0_x : uint120 ) => #abiCallData ( "testFail_uint120" , ( #uint120 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 120 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint128 ( V0_x : uint128 ) => #abiCallData ( "testFail_uint128" , ( #uint128 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 128 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint136 ( V0_x : uint136 ) => #abiCallData ( "testFail_uint136" , ( #uint136 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 136 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint144 ( V0_x : uint144 ) => #abiCallData ( "testFail_uint144" , ( #uint144 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 144 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint152 ( V0_x : uint152 ) => #abiCallData ( "testFail_uint152" , ( #uint152 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 152 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint16 ( V0_x : uint16 ) => #abiCallData ( "testFail_uint16" , ( #uint16 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 16 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint160 ( V0_x : uint160 ) => #abiCallData ( "testFail_uint160" , ( #uint160 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 160 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint168 ( V0_x : uint168 ) => #abiCallData ( "testFail_uint168" , ( #uint168 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 168 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint176 ( V0_x : uint176 ) => #abiCallData ( "testFail_uint176" , ( #uint176 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 176 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint184 ( V0_x : uint184 ) => #abiCallData ( "testFail_uint184" , ( #uint184 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 184 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint192 ( V0_x : uint192 ) => #abiCallData ( "testFail_uint192" , ( #uint192 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 192 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint200 ( V0_x : uint200 ) => #abiCallData ( "testFail_uint200" , ( #uint200 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 200 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint208 ( V0_x : uint208 ) => #abiCallData ( "testFail_uint208" , ( #uint208 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 208 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint216 ( V0_x : uint216 ) => #abiCallData ( "testFail_uint216" , ( #uint216 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 216 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint224 ( V0_x : uint224 ) => #abiCallData ( "testFail_uint224" , ( #uint224 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 224 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint232 ( V0_x : uint232 ) => #abiCallData ( "testFail_uint232" , ( #uint232 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 232 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint24 ( V0_x : uint24 ) => #abiCallData ( "testFail_uint24" , ( #uint24 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 24 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint240 ( V0_x : uint240 ) => #abiCallData ( "testFail_uint240" , ( #uint240 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 240 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint248 ( V0_x : uint248 ) => #abiCallData ( "testFail_uint248" , ( #uint248 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 248 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint256 ( V0_x : uint256 ) => #abiCallData ( "testFail_uint256" , ( #uint256 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint32 ( V0_x : uint32 ) => #abiCallData ( "testFail_uint32" , ( #uint32 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 32 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint40 ( V0_x : uint40 ) => #abiCallData ( "testFail_uint40" , ( #uint40 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 40 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint48 ( V0_x : uint48 ) => #abiCallData ( "testFail_uint48" , ( #uint48 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 48 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint56 ( V0_x : uint56 ) => #abiCallData ( "testFail_uint56" , ( #uint56 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 56 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint64 ( V0_x : uint64 ) => #abiCallData ( "testFail_uint64" , ( #uint64 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 64 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint72 ( V0_x : uint72 ) => #abiCallData ( "testFail_uint72" , ( #uint72 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 72 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint8 ( V0_x : uint8 ) => #abiCallData ( "testFail_uint8" , ( #uint8 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 8 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint80 ( V0_x : uint80 ) => #abiCallData ( "testFail_uint80" , ( #uint80 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 80 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint88 ( V0_x : uint88 ) => #abiCallData ( "testFail_uint88" , ( #uint88 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 88 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint96 ( V0_x : uint96 ) => #abiCallData ( "testFail_uint96" , ( #uint96 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 96 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint104 ( V0_x : uint104 ) => #abiCallData ( "test_uint104" , ( #uint104 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 104 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint104ZUndfail ( V0_x : uint104 ) => #abiCallData ( "test_uint104_fail" , ( #uint104 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 104 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint112 ( V0_x : uint112 ) => #abiCallData ( "test_uint112" , ( #uint112 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 112 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint112ZUndfail ( V0_x : uint112 ) => #abiCallData ( "test_uint112_fail" , ( #uint112 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 112 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint120 ( V0_x : uint120 ) => #abiCallData ( "test_uint120" , ( #uint120 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 120 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint120ZUndfail ( V0_x : uint120 ) => #abiCallData ( "test_uint120_fail" , ( #uint120 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 120 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint128 ( V0_x : uint128 ) => #abiCallData ( "test_uint128" , ( #uint128 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 128 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint128ZUndfail ( V0_x : uint128 ) => #abiCallData ( "test_uint128_fail" , ( #uint128 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 128 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint136 ( V0_x : uint136 ) => #abiCallData ( "test_uint136" , ( #uint136 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 136 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint136ZUndfail ( V0_x : uint136 ) => #abiCallData ( "test_uint136_fail" , ( #uint136 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 136 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint144 ( V0_x : uint144 ) => #abiCallData ( "test_uint144" , ( #uint144 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 144 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint144ZUndfail ( V0_x : uint144 ) => #abiCallData ( "test_uint144_fail" , ( #uint144 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 144 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint152 ( V0_x : uint152 ) => #abiCallData ( "test_uint152" , ( #uint152 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 152 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint152ZUndfail ( V0_x : uint152 ) => #abiCallData ( "test_uint152_fail" , ( #uint152 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 152 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint16 ( V0_x : uint16 ) => #abiCallData ( "test_uint16" , ( #uint16 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 16 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint160 ( V0_x : uint160 ) => #abiCallData ( "test_uint160" , ( #uint160 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 160 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint160ZUndfail ( V0_x : uint160 ) => #abiCallData ( "test_uint160_fail" , ( #uint160 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 160 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint168 ( V0_x : uint168 ) => #abiCallData ( "test_uint168" , ( #uint168 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 168 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint168ZUndfail ( V0_x : uint168 ) => #abiCallData ( "test_uint168_fail" , ( #uint168 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 168 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint16ZUndfail ( V0_x : uint16 ) => #abiCallData ( "test_uint16_fail" , ( #uint16 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 16 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint176 ( V0_x : uint176 ) => #abiCallData ( "test_uint176" , ( #uint176 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 176 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint176ZUndfail ( V0_x : uint176 ) => #abiCallData ( "test_uint176_fail" , ( #uint176 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 176 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint184 ( V0_x : uint184 ) => #abiCallData ( "test_uint184" , ( #uint184 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 184 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint184ZUndfail ( V0_x : uint184 ) => #abiCallData ( "test_uint184_fail" , ( #uint184 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 184 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint192 ( V0_x : uint192 ) => #abiCallData ( "test_uint192" , ( #uint192 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 192 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint192ZUndfail ( V0_x : uint192 ) => #abiCallData ( "test_uint192_fail" , ( #uint192 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 192 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint200 ( V0_x : uint200 ) => #abiCallData ( "test_uint200" , ( #uint200 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 200 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint200ZUndfail ( V0_x : uint200 ) => #abiCallData ( "test_uint200_fail" , ( #uint200 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 200 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint208 ( V0_x : uint208 ) => #abiCallData ( "test_uint208" , ( #uint208 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 208 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint208ZUndfail ( V0_x : uint208 ) => #abiCallData ( "test_uint208_fail" , ( #uint208 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 208 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint216 ( V0_x : uint216 ) => #abiCallData ( "test_uint216" , ( #uint216 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 216 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint216ZUndfail ( V0_x : uint216 ) => #abiCallData ( "test_uint216_fail" , ( #uint216 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 216 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint224 ( V0_x : uint224 ) => #abiCallData ( "test_uint224" , ( #uint224 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 224 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint224ZUndfail ( V0_x : uint224 ) => #abiCallData ( "test_uint224_fail" , ( #uint224 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 224 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint232 ( V0_x : uint232 ) => #abiCallData ( "test_uint232" , ( #uint232 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 232 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint232ZUndfail ( V0_x : uint232 ) => #abiCallData ( "test_uint232_fail" , ( #uint232 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 232 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint24 ( V0_x : uint24 ) => #abiCallData ( "test_uint24" , ( #uint24 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 24 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint240 ( V0_x : uint240 ) => #abiCallData ( "test_uint240" , ( #uint240 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 240 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint240ZUndfail ( V0_x : uint240 ) => #abiCallData ( "test_uint240_fail" , ( #uint240 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 240 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint248 ( V0_x : uint248 ) => #abiCallData ( "test_uint248" , ( #uint248 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 248 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint248ZUndfail ( V0_x : uint248 ) => #abiCallData ( "test_uint248_fail" , ( #uint248 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 248 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint24ZUndfail ( V0_x : uint24 ) => #abiCallData ( "test_uint24_fail" , ( #uint24 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 24 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint256 ( V0_x : uint256 ) => #abiCallData ( "test_uint256" , ( #uint256 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint256ZUndfail ( V0_x : uint256 ) => #abiCallData ( "test_uint256_fail" , ( #uint256 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 256 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint32 ( V0_x : uint32 ) => #abiCallData ( "test_uint32" , ( #uint32 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 32 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint32ZUndfail ( V0_x : uint32 ) => #abiCallData ( "test_uint32_fail" , ( #uint32 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 32 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint40 ( V0_x : uint40 ) => #abiCallData ( "test_uint40" , ( #uint40 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 40 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint40ZUndfail ( V0_x : uint40 ) => #abiCallData ( "test_uint40_fail" , ( #uint40 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 40 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint48 ( V0_x : uint48 ) => #abiCallData ( "test_uint48" , ( #uint48 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 48 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint48ZUndfail ( V0_x : uint48 ) => #abiCallData ( "test_uint48_fail" , ( #uint48 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 48 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint56 ( V0_x : uint56 ) => #abiCallData ( "test_uint56" , ( #uint56 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 56 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint56ZUndfail ( V0_x : uint56 ) => #abiCallData ( "test_uint56_fail" , ( #uint56 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 56 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint64 ( V0_x : uint64 ) => #abiCallData ( "test_uint64" , ( #uint64 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 64 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint64ZUndfail ( V0_x : uint64 ) => #abiCallData ( "test_uint64_fail" , ( #uint64 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 64 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint72 ( V0_x : uint72 ) => #abiCallData ( "test_uint72" , ( #uint72 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 72 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint72ZUndfail ( V0_x : uint72 ) => #abiCallData ( "test_uint72_fail" , ( #uint72 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 72 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint8 ( V0_x : uint8 ) => #abiCallData ( "test_uint8" , ( #uint8 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 8 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint80 ( V0_x : uint80 ) => #abiCallData ( "test_uint80" , ( #uint80 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 80 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint80ZUndfail ( V0_x : uint80 ) => #abiCallData ( "test_uint80_fail" , ( #uint80 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 80 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint88 ( V0_x : uint88 ) => #abiCallData ( "test_uint88" , ( #uint88 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 88 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint88ZUndfail ( V0_x : uint88 ) => #abiCallData ( "test_uint88_fail" , ( #uint88 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 88 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint8ZUndfail ( V0_x : uint8 ) => #abiCallData ( "test_uint8_fail" , ( #uint8 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 8 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint96 ( V0_x : uint96 ) => #abiCallData ( "test_uint96" , ( #uint96 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 96 , V0_x ) - - - rule ( S2KtestZModUintTypeTest . S2KtestZUnduint96ZUndfail ( V0_x : uint96 ) => #abiCallData ( "test_uint96_fail" , ( #uint96 ( V0_x ) , .TypedArgs ) ) ) - ensures #rangeUInt ( 96 , V0_x ) - - - rule ( selector ( "testFail_uint104(uint104)" ) => 1709154444 ) - - - rule ( selector ( "testFail_uint112(uint112)" ) => 3541489285 ) - - - rule ( selector ( "testFail_uint120(uint120)" ) => 3839169067 ) - - - rule ( selector ( "testFail_uint128(uint128)" ) => 791678561 ) - - - rule ( selector ( "testFail_uint136(uint136)" ) => 3952257705 ) - - - rule ( selector ( "testFail_uint144(uint144)" ) => 2439595565 ) - - - rule ( selector ( "testFail_uint152(uint152)" ) => 1866291148 ) - - - rule ( selector ( "testFail_uint16(uint16)" ) => 4076431644 ) - - - rule ( selector ( "testFail_uint160(uint160)" ) => 3214193107 ) - - - rule ( selector ( "testFail_uint168(uint168)" ) => 2636444862 ) - - - rule ( selector ( "testFail_uint176(uint176)" ) => 1828125968 ) - - - rule ( selector ( "testFail_uint184(uint184)" ) => 4099305155 ) - - - rule ( selector ( "testFail_uint192(uint192)" ) => 2858210891 ) - - - rule ( selector ( "testFail_uint200(uint200)" ) => 1080270217 ) - - - rule ( selector ( "testFail_uint208(uint208)" ) => 1831022189 ) - - - rule ( selector ( "testFail_uint216(uint216)" ) => 2125101602 ) - - - rule ( selector ( "testFail_uint224(uint224)" ) => 420776541 ) - - - rule ( selector ( "testFail_uint232(uint232)" ) => 3163478438 ) - - - rule ( selector ( "testFail_uint24(uint24)" ) => 639153936 ) - - - rule ( selector ( "testFail_uint240(uint240)" ) => 3089966003 ) - - - rule ( selector ( "testFail_uint248(uint248)" ) => 3070004620 ) - - - rule ( selector ( "testFail_uint256(uint256)" ) => 3436494846 ) - - - rule ( selector ( "testFail_uint32(uint32)" ) => 3218360567 ) - - - rule ( selector ( "testFail_uint40(uint40)" ) => 347856329 ) - - - rule ( selector ( "testFail_uint48(uint48)" ) => 4178735009 ) - - - rule ( selector ( "testFail_uint56(uint56)" ) => 979020984 ) - - - rule ( selector ( "testFail_uint64(uint64)" ) => 819975489 ) - - - rule ( selector ( "testFail_uint72(uint72)" ) => 2059244458 ) - - - rule ( selector ( "testFail_uint8(uint8)" ) => 3679593874 ) - - - rule ( selector ( "testFail_uint80(uint80)" ) => 4180733980 ) - - - rule ( selector ( "testFail_uint88(uint88)" ) => 42555031 ) - - - rule ( selector ( "testFail_uint96(uint96)" ) => 2962957343 ) - - - rule ( selector ( "test_uint104(uint104)" ) => 2030507202 ) - - - rule ( selector ( "test_uint104_fail(uint104)" ) => 3289769429 ) - - - rule ( selector ( "test_uint112(uint112)" ) => 1247465894 ) - - - rule ( selector ( "test_uint112_fail(uint112)" ) => 198559186 ) - - - rule ( selector ( "test_uint120(uint120)" ) => 4013273041 ) - - - rule ( selector ( "test_uint120_fail(uint120)" ) => 4156608892 ) - - - rule ( selector ( "test_uint128(uint128)" ) => 784802761 ) - - - rule ( selector ( "test_uint128_fail(uint128)" ) => 3283002391 ) - - - rule ( selector ( "test_uint136(uint136)" ) => 3590751506 ) - - - rule ( selector ( "test_uint136_fail(uint136)" ) => 1740049059 ) - - - rule ( selector ( "test_uint144(uint144)" ) => 1224379367 ) - - - rule ( selector ( "test_uint144_fail(uint144)" ) => 3911233113 ) - - - rule ( selector ( "test_uint152(uint152)" ) => 3210764837 ) - - - rule ( selector ( "test_uint152_fail(uint152)" ) => 2472528383 ) - - - rule ( selector ( "test_uint16(uint16)" ) => 1262288561 ) - - - rule ( selector ( "test_uint160(uint160)" ) => 2446641645 ) - - - rule ( selector ( "test_uint160_fail(uint160)" ) => 1289572651 ) - - - rule ( selector ( "test_uint168(uint168)" ) => 2789196255 ) - - - rule ( selector ( "test_uint168_fail(uint168)" ) => 413418206 ) - - - rule ( selector ( "test_uint16_fail(uint16)" ) => 2736127289 ) - - - rule ( selector ( "test_uint176(uint176)" ) => 3119759714 ) - - - rule ( selector ( "test_uint176_fail(uint176)" ) => 2926152828 ) - - - rule ( selector ( "test_uint184(uint184)" ) => 2419331356 ) - - - rule ( selector ( "test_uint184_fail(uint184)" ) => 809918532 ) - - - rule ( selector ( "test_uint192(uint192)" ) => 126849335 ) - - - rule ( selector ( "test_uint192_fail(uint192)" ) => 965859284 ) - - - rule ( selector ( "test_uint200(uint200)" ) => 342308100 ) - - - rule ( selector ( "test_uint200_fail(uint200)" ) => 3554205475 ) - - - rule ( selector ( "test_uint208(uint208)" ) => 664969356 ) - - - rule ( selector ( "test_uint208_fail(uint208)" ) => 515244431 ) - - - rule ( selector ( "test_uint216(uint216)" ) => 2735221135 ) - - - rule ( selector ( "test_uint216_fail(uint216)" ) => 1244132421 ) - - - rule ( selector ( "test_uint224(uint224)" ) => 2791725032 ) - - - rule ( selector ( "test_uint224_fail(uint224)" ) => 3535210075 ) - - - rule ( selector ( "test_uint232(uint232)" ) => 2781872781 ) - - - rule ( selector ( "test_uint232_fail(uint232)" ) => 3352181217 ) - - - rule ( selector ( "test_uint24(uint24)" ) => 2865563805 ) - - - rule ( selector ( "test_uint240(uint240)" ) => 3274361055 ) - - - rule ( selector ( "test_uint240_fail(uint240)" ) => 4046179916 ) - - - rule ( selector ( "test_uint248(uint248)" ) => 578604507 ) - - - rule ( selector ( "test_uint248_fail(uint248)" ) => 3580188072 ) - - - rule ( selector ( "test_uint24_fail(uint24)" ) => 2328572638 ) - - - rule ( selector ( "test_uint256(uint256)" ) => 851358597 ) - - - rule ( selector ( "test_uint256_fail(uint256)" ) => 1895666222 ) - - - rule ( selector ( "test_uint32(uint32)" ) => 982223766 ) - - - rule ( selector ( "test_uint32_fail(uint32)" ) => 768917897 ) - - - rule ( selector ( "test_uint40(uint40)" ) => 1298765870 ) - - - rule ( selector ( "test_uint40_fail(uint40)" ) => 1685882915 ) - - - rule ( selector ( "test_uint48(uint48)" ) => 454435065 ) - - - rule ( selector ( "test_uint48_fail(uint48)" ) => 491533732 ) - - - rule ( selector ( "test_uint56(uint56)" ) => 58659965 ) - - - rule ( selector ( "test_uint56_fail(uint56)" ) => 3185974238 ) - - - rule ( selector ( "test_uint64(uint64)" ) => 2511119799 ) - - - rule ( selector ( "test_uint64_fail(uint64)" ) => 2000886247 ) - - - rule ( selector ( "test_uint72(uint72)" ) => 3694811120 ) - - - rule ( selector ( "test_uint72_fail(uint72)" ) => 875540037 ) - - - rule ( selector ( "test_uint8(uint8)" ) => 1704021016 ) - - - rule ( selector ( "test_uint80(uint80)" ) => 3841083967 ) - - - rule ( selector ( "test_uint80_fail(uint80)" ) => 3626141300 ) - - - rule ( selector ( "test_uint88(uint88)" ) => 100068129 ) - - - rule ( selector ( "test_uint88_fail(uint88)" ) => 318744457 ) - - - rule ( selector ( "test_uint8_fail(uint8)" ) => 2865005996 ) - - - rule ( selector ( "test_uint96(uint96)" ) => 1315861753 ) - - - rule ( selector ( "test_uint96_fail(uint96)" ) => 1635628195 ) - - -endmodule - -module S2KsrcZModlibrariesZModTypes-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KsrcZModlibrariesZModTypesContract - - syntax S2KsrcZModlibrariesZModTypesContract ::= "S2KsrcZModlibrariesZModTypes" [symbol(""), klabel(contract_src%libraries%Types)] - - - - rule ( #initBytecode ( S2KsrcZModlibrariesZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a44405b40c62a0b28257c0261add02a73772c6a34a37076dd1edfefec7d7934064736f6c634300080f0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%Vm.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - - - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kaccesses_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KactiveFork" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KactiveFork_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kaddr_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KallowCheatcodes" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KallowCheatcodes_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kassume_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbreakpoint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbreakpoint_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbroadcast_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kbroadcast_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KchainId" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KchainId_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KclearMockedCalls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KclearMockedCalls_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcloseFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kcoinbase" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kcoinbase_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateDir_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateFork_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateFork_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateFork_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateSelectFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateSelectFork_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateSelectFork_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KcreateSelectFork_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kdeal" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kdeal_address_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KderiveKey_string_string_uint32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KderiveKey_string_uint32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kdifficulty" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kdifficulty_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvAddress_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvAddress_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBool_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBool_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes32_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvBytes32_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvInt_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvInt_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_int256_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_string_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvOr_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvString_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvString_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvUint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KenvUint_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ketch" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ketch_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_uint64_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCall_address_uint256_uint64_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCallMinGas_address_uint256_uint64_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectCallMinGas_address_uint256_uint64_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_bool_bool_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectEmit_bool_bool_bool_bool_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectRevert" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectRevert_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectRevert" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectRevert_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectRevert" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectRevert_bytes4)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectSafeMemory" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectSafeMemory_uint64_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KexpectSafeMemoryCall" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KexpectSafeMemoryCall_uint64_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kfee" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kfee_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kffi_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KfsMetadata_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetCode_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetDeployedCode_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetLabel_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetNonce_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KgetRecordedLogs_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KisPersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KisPersistent_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Klabel_address_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kload_address_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmakePersistent_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCall_address_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCall_address_uint256_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCallRevert_address_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KmockCallRevert_address_uint256_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseAddress_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseBool_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseBytes_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseBytes32_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseInt_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJson_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJson_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonAddress_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonAddressArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBool_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBoolArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytes_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytes32_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytes32Array_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonBytesArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonInt_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonIntArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonString_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonStringArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonUint_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseJsonUintArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KparseUint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KpauseGasMetering_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kprank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kprank_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kprank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kprank_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kprevrandao" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kprevrandao_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KprojectRoot_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadCallers" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadCallers_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadDir_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadDir_string_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadDir_string_uint64_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadFileBinary_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadLine_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KreadLink_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Krecord_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrecordLogs_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrememberKey_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KremoveDir_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KremoveFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KresetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KresetNonce_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KresumeGasMetering_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrevertTo" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrevertTo_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrevokePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrevokePersistent_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrevokePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrevokePersistent_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kroll" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kroll_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_uint256_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrollFork_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrpcUrl_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrpcUrlStructs_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KrpcUrls_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KselectFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KselectFork_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeAddress_string_string_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeAddress_string_string_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBool_string_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBool_string_string_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes_string_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes_string_string_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes32_string_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeBytes32_string_string_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeInt_string_string_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeInt_string_string_int256_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeString_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeString_string_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeUint_string_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KserializeUint_string_string_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KsetEnv_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KsetNonce" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KsetNonce_address_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KsetNonceUnsafe" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KsetNonceUnsafe_address_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ksign_uint256_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kskip" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kskip_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ksnapshot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ksnapshot_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartBroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartBroadcast_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartBroadcast_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartPrank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartPrank_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstartPrank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstartPrank_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstopBroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KstopPrank" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KstopPrank_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kstore" "(" Int ":" "address" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kstore_address_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtoString_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ktransact" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ktransact_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Ktransact" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Ktransact_uint256_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KtxGasPrice" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KtxGasPrice_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2Kwarp" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2Kwarp_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteFile_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteFileBinary_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteJson_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteJson_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.13_S2KwriteLine_string_string)] - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_target ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KactiveFork ( ) => #abiCallData ( "activeFork" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KallowCheatcodes ( V0_account : address ) => #abiCallData ( "allowCheatcodes" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) - ensures #rangeBool ( V0_condition ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) - ensures #rangeBool ( V1_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_signer ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KchainId ( V0_newChainId : uint256 ) => #abiCallData ( "chainId" , #uint256 ( V0_newChainId ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newChainId ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KclearMockedCalls ( ) => #abiCallData ( "clearMockedCalls" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kcoinbase ( V0_newCoinbase : address ) => #abiCallData ( "coinbase" , #address ( V0_newCoinbase ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_newCoinbase ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateFork ( V0_urlOrAlias : string ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_txHash ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_blockNumber ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateSelectFork ( V0_urlOrAlias : string ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_txHash ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_blockNumber ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kdeal ( V0_account : address , V1_newBalance : uint256 ) => #abiCallData ( "deal" , #address ( V0_account ) , #uint256 ( V1_newBalance ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account ) - andBool ( #rangeUInt ( 256 , V1_newBalance ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) - ensures #rangeUInt ( 32 , V2_index ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) - ensures #rangeUInt ( 32 , V1_index ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kdifficulty ( V0_newDifficulty : uint256 ) => #abiCallData ( "difficulty" , #uint256 ( V0_newDifficulty ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newDifficulty ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeAddress ( V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeBool ( V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V2_defaultValue_0 ) - andBool ( #rangeAddress ( V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_defaultValue_0 ) - andBool ( #rangeBool ( V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) - andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ketch ( V0_target : address , V1_newRuntimeBytecode : bytes ) => #abiCallData ( "etch" , #address ( V0_target ) , #bytes ( V1_newRuntimeBytecode ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_newRuntimeBytecode ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_data : bytes , V2_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #uint64 ( V2_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - andBool ( #rangeUInt ( 64 , V2_count ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #uint64 ( V3_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - andBool ( #rangeUInt ( 64 , V3_count ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_gas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_gas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - andBool ( #rangeUInt ( 64 , V4_count ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_minGas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_minGas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - andBool ( #rangeUInt ( 64 , V4_count ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( ) => #abiCallData ( "expectEmit" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( V0_emitter : address ) => #abiCallData ( "expectEmit" , #address ( V0_emitter ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_emitter ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , .TypedArgs ) ) - ensures ( #rangeBool ( V0_checkTopic1 ) - andBool ( #rangeBool ( V1_checkTopic2 ) - andBool ( #rangeBool ( V2_checkTopic3 ) - andBool ( #rangeBool ( V3_checkData ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool , V4_emitter : address ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , #address ( V4_emitter ) , .TypedArgs ) ) - ensures ( #rangeBool ( V0_checkTopic1 ) - andBool ( #rangeBool ( V1_checkTopic2 ) - andBool ( #rangeBool ( V2_checkTopic3 ) - andBool ( #rangeBool ( V3_checkData ) - andBool ( #rangeAddress ( V4_emitter ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectRevert ( ) => #abiCallData ( "expectRevert" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectRevert ( V0_revertData : bytes ) => #abiCallData ( "expectRevert" , #bytes ( V0_revertData ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V0_revertData ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectRevert ( V0_revertData : bytes4 ) => #abiCallData ( "expectRevert" , #bytes4 ( V0_revertData ) , .TypedArgs ) ) - ensures #rangeBytes ( 4 , V0_revertData ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectSafeMemory ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemory" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V0_min ) - andBool ( #rangeUInt ( 64 , V1_max ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KexpectSafeMemoryCall ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemoryCall" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V0_min ) - andBool ( #rangeUInt ( 64 , V1_max ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kfee ( V0_newBasefee : uint256 ) => #abiCallData ( "fee" , #uint256 ( V0_newBasefee ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newBasefee ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KisPersistent ( V0_account : address ) => #abiCallData ( "isPersistent" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeBytes ( 32 , V1_slot ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_account : address ) => #abiCallData ( "makePersistent" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account0 ) - andBool ( #rangeAddress ( V1_account1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address , V2_account2 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , #address ( V2_account2 ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account0 ) - andBool ( #rangeAddress ( V1_account1 ) - andBool ( #rangeAddress ( V2_account2 ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmakePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "makePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_accounts_0 ) - andBool ( #rangeAddress ( V0_accounts_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCall ( V0_callee : address , V1_data : bytes , V2_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_returnData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_returnData ) ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_returnData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_returnData ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCallRevert ( V0_callee : address , V1_data : bytes , V2_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_revertData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_revertData ) ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KmockCallRevert ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_revertData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_revertData ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kprank ( V0_msgSender : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_msgSender ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kprank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_msgSender ) - andBool ( #rangeAddress ( V1_txOrigin ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kprevrandao ( V0_newPrevrandao : bytes32 ) => #abiCallData ( "prevrandao" , #bytes32 ( V0_newPrevrandao ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_newPrevrandao ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadCallers ( ) => #abiCallData ( "readCallers" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , V1_maxDepth ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V1_maxDepth ) - andBool ( #rangeBool ( V2_followLinks ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KresetNonce ( V0_account : address ) => #abiCallData ( "resetNonce" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrevertTo ( V0_snapshotId : uint256 ) => #abiCallData ( "revertTo" , #uint256 ( V0_snapshotId ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_snapshotId ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrevokePersistent ( V0_account : address ) => #abiCallData ( "revokePersistent" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrevokePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "revokePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_accounts_0 ) - andBool ( #rangeAddress ( V0_accounts_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kroll ( V0_newHeight : uint256 ) => #abiCallData ( "roll" , #uint256 ( V0_newHeight ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newHeight ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_txHash : bytes32 ) => #abiCallData ( "rollFork" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_txHash ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_blockNumber ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_forkId ) - andBool ( #rangeBytes ( 32 , V1_txHash ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrollFork ( V0_forkId : uint256 , V1_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_forkId ) - andBool ( #rangeUInt ( 256 , V1_blockNumber ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KselectFork ( V0_forkId : uint256 ) => #abiCallData ( "selectFork" , #uint256 ( V0_forkId ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_forkId ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) - ensures #rangeAddress ( V2_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V2_values_0 ) - andBool ( #rangeAddress ( V2_values_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) - ensures #rangeBool ( V2_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_values_0 ) - andBool ( #rangeBool ( V2_values_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V2_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_values_0 ) - andBool ( #rangeBytes ( 32 , V2_values_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V2_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_values_0 ) - andBool ( #rangeSInt ( 256 , V2_values_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V2_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_values_0 ) - andBool ( #rangeUInt ( 256 , V2_values_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KsetNonce ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonce" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account ) - andBool ( #rangeUInt ( 64 , V1_newNonce ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KsetNonceUnsafe ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonceUnsafe" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account ) - andBool ( #rangeUInt ( 64 , V1_newNonce ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_privateKey ) - andBool ( #rangeBytes ( 32 , V1_digest ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kskip ( V0_skipTest : bool ) => #abiCallData ( "skip" , #bool ( V0_skipTest ) , .TypedArgs ) ) - ensures #rangeBool ( V0_skipTest ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ksnapshot ( ) => #abiCallData ( "snapshot" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_signer ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartPrank ( V0_msgSender : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_msgSender ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstartPrank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_msgSender ) - andBool ( #rangeAddress ( V1_txOrigin ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KstopPrank ( ) => #abiCallData ( "stopPrank" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kstore ( V0_target : address , V1_slot : bytes32 , V2_value : bytes32 ) => #abiCallData ( "store" , #address ( V0_target ) , #bytes32 ( V1_slot ) , #bytes32 ( V2_value ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeBytes ( 32 , V1_slot ) - andBool ( #rangeBytes ( 32 , V2_value ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) - ensures #rangeBool ( V0_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V0_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ktransact ( V0_txHash : bytes32 ) => #abiCallData ( "transact" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_txHash ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Ktransact ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "transact" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_forkId ) - andBool ( #rangeBytes ( 32 , V1_txHash ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KtxGasPrice ( V0_newGasPrice : uint256 ) => #abiCallData ( "txGasPrice" , #uint256 ( V0_newGasPrice ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newGasPrice ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2Kwarp ( V0_newTimestamp : uint256 ) => #abiCallData ( "warp" , #uint256 ( V0_newTimestamp ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newTimestamp ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) - - - rule ( selector ( "accesses(address)" ) => 1706857601 ) - - - rule ( selector ( "activeFork()" ) => 789593890 ) - - - rule ( selector ( "addr(uint256)" ) => 4288775753 ) - - - rule ( selector ( "allowCheatcodes(address)" ) => 3926262417 ) - - - rule ( selector ( "assume(bool)" ) => 1281615202 ) - - - rule ( selector ( "breakpoint(string)" ) => 4028997266 ) - - - rule ( selector ( "breakpoint(string,bool)" ) => 4157840013 ) - - - rule ( selector ( "broadcast()" ) => 2949218368 ) - - - rule ( selector ( "broadcast(address)" ) => 3868601563 ) - - - rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) - - - rule ( selector ( "chainId(uint256)" ) => 1078582738 ) - - - rule ( selector ( "clearMockedCalls()" ) => 1071599125 ) - - - rule ( selector ( "closeFile(string)" ) => 1220748319 ) - - - rule ( selector ( "coinbase(address)" ) => 4282924116 ) - - - rule ( selector ( "createDir(string,bool)" ) => 378234067 ) - - - rule ( selector ( "createFork(string)" ) => 834286744 ) - - - rule ( selector ( "createFork(string,bytes32)" ) => 2091030146 ) - - - rule ( selector ( "createFork(string,uint256)" ) => 1805892139 ) - - - rule ( selector ( "createSelectFork(string)" ) => 2556952628 ) - - - rule ( selector ( "createSelectFork(string,bytes32)" ) => 2228562810 ) - - - rule ( selector ( "createSelectFork(string,uint256)" ) => 1911440973 ) - - - rule ( selector ( "deal(address,uint256)" ) => 3364511341 ) - - - rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) - - - rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) - - - rule ( selector ( "difficulty(uint256)" ) => 1187812057 ) - - - rule ( selector ( "envAddress(string)" ) => 890066623 ) - - - rule ( selector ( "envAddress(string,string)" ) => 2905717242 ) - - - rule ( selector ( "envBool(string)" ) => 2127686781 ) - - - rule ( selector ( "envBool(string,string)" ) => 2863521455 ) - - - rule ( selector ( "envBytes(string)" ) => 1299951366 ) - - - rule ( selector ( "envBytes(string,string)" ) => 3720504603 ) - - - rule ( selector ( "envBytes32(string)" ) => 2543095874 ) - - - rule ( selector ( "envBytes32(string,string)" ) => 1525821889 ) - - - rule ( selector ( "envInt(string)" ) => 2301234273 ) - - - rule ( selector ( "envInt(string,string)" ) => 1108873552 ) - - - rule ( selector ( "envOr(string,address)" ) => 1444930880 ) - - - rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) - - - rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) - - - rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) - - - rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) - - - rule ( selector ( "envOr(string,string)" ) => 3510989676 ) - - - rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) - - - rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) - - - rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) - - - rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) - - - rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) - - - rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) - - - rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) - - - rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) - - - rule ( selector ( "envString(string)" ) => 4168600345 ) - - - rule ( selector ( "envString(string,string)" ) => 347089865 ) - - - rule ( selector ( "envUint(string)" ) => 3247934751 ) - - - rule ( selector ( "envUint(string,string)" ) => 4091461785 ) - - - rule ( selector ( "etch(address,bytes)" ) => 3033974658 ) - - - rule ( selector ( "expectCall(address,bytes)" ) => 3177903156 ) - - - rule ( selector ( "expectCall(address,bytes,uint64)" ) => 3249388543 ) - - - rule ( selector ( "expectCall(address,uint256,bytes)" ) => 4077681571 ) - - - rule ( selector ( "expectCall(address,uint256,bytes,uint64)" ) => 2729550254 ) - - - rule ( selector ( "expectCall(address,uint256,uint64,bytes)" ) => 590746119 ) - - - rule ( selector ( "expectCall(address,uint256,uint64,bytes,uint64)" ) => 1706538956 ) - - - rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes)" ) => 149217558 ) - - - rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes,uint64)" ) => 3778680884 ) - - - rule ( selector ( "expectEmit()" ) => 1141821709 ) - - - rule ( selector ( "expectEmit(address)" ) => 2260296205 ) - - - rule ( selector ( "expectEmit(bool,bool,bool,bool)" ) => 1226622914 ) - - - rule ( selector ( "expectEmit(bool,bool,bool,bool,address)" ) => 2176505587 ) - - - rule ( selector ( "expectRevert()" ) => 4102309908 ) - - - rule ( selector ( "expectRevert(bytes)" ) => 4069379763 ) - - - rule ( selector ( "expectRevert(bytes4)" ) => 3273568480 ) - - - rule ( selector ( "expectSafeMemory(uint64,uint64)" ) => 1828808328 ) - - - rule ( selector ( "expectSafeMemoryCall(uint64,uint64)" ) => 92507124 ) - - - rule ( selector ( "fee(uint256)" ) => 968063664 ) - - - rule ( selector ( "ffi(string[])" ) => 2299921511 ) - - - rule ( selector ( "fsMetadata(string)" ) => 2939587080 ) - - - rule ( selector ( "getCode(string)" ) => 2367473957 ) - - - rule ( selector ( "getDeployedCode(string)" ) => 1052734388 ) - - - rule ( selector ( "getLabel(address)" ) => 681724336 ) - - - rule ( selector ( "getNonce(address)" ) => 755185067 ) - - - rule ( selector ( "getRecordedLogs()" ) => 420828068 ) - - - rule ( selector ( "isPersistent(address)" ) => 3643641597 ) - - - rule ( selector ( "label(address,string)" ) => 3327641368 ) - - - rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) - - - rule ( selector ( "makePersistent(address)" ) => 1474440670 ) - - - rule ( selector ( "makePersistent(address,address)" ) => 1081401512 ) - - - rule ( selector ( "makePersistent(address,address,address)" ) => 4021779061 ) - - - rule ( selector ( "makePersistent(address[])" ) => 496903838 ) - - - rule ( selector ( "mockCall(address,bytes,bytes)" ) => 3110212580 ) - - - rule ( selector ( "mockCall(address,uint256,bytes,bytes)" ) => 2168494993 ) - - - rule ( selector ( "mockCallRevert(address,bytes,bytes)" ) => 3685404999 ) - - - rule ( selector ( "mockCallRevert(address,uint256,bytes,bytes)" ) => 3527200823 ) - - - rule ( selector ( "parseAddress(string)" ) => 3335390621 ) - - - rule ( selector ( "parseBool(string)" ) => 2538535204 ) - - - rule ( selector ( "parseBytes(string)" ) => 2405245741 ) - - - rule ( selector ( "parseBytes32(string)" ) => 142503553 ) - - - rule ( selector ( "parseInt(string)" ) => 1110731870 ) - - - rule ( selector ( "parseJson(string)" ) => 1786929162 ) - - - rule ( selector ( "parseJson(string,string)" ) => 2241072881 ) - - - rule ( selector ( "parseJsonAddress(string,string)" ) => 505013847 ) - - - rule ( selector ( "parseJsonAddressArray(string,string)" ) => 802060419 ) - - - rule ( selector ( "parseJsonBool(string,string)" ) => 2676415633 ) - - - rule ( selector ( "parseJsonBoolArray(string,string)" ) => 2448669007 ) - - - rule ( selector ( "parseJsonBytes(string,string)" ) => 4254211048 ) - - - rule ( selector ( "parseJsonBytes32(string,string)" ) => 393733533 ) - - - rule ( selector ( "parseJsonBytes32Array(string,string)" ) => 2445761475 ) - - - rule ( selector ( "parseJsonBytesArray(string,string)" ) => 1714530969 ) - - - rule ( selector ( "parseJsonInt(string,string)" ) => 2063895757 ) - - - rule ( selector ( "parseJsonIntArray(string,string)" ) => 2575549066 ) - - - rule ( selector ( "parseJsonString(string,string)" ) => 1237646024 ) - - - rule ( selector ( "parseJsonStringArray(string,string)" ) => 1234164980 ) - - - rule ( selector ( "parseJsonUint(string,string)" ) => 2916999862 ) - - - rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) - - - rule ( selector ( "parseUint(string)" ) => 4203824461 ) - - - rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) - - - rule ( selector ( "prank(address)" ) => 3395723175 ) - - - rule ( selector ( "prank(address,address)" ) => 1206193358 ) - - - rule ( selector ( "prevrandao(bytes32)" ) => 999445833 ) - - - rule ( selector ( "projectRoot()" ) => 3643842790 ) - - - rule ( selector ( "readCallers()" ) => 1255193289 ) - - - rule ( selector ( "readDir(string)" ) => 3300678112 ) - - - rule ( selector ( "readDir(string,uint64)" ) => 345474924 ) - - - rule ( selector ( "readDir(string,uint64,bool)" ) => 2164446989 ) - - - rule ( selector ( "readFile(string)" ) => 1626979089 ) - - - rule ( selector ( "readFileBinary(string)" ) => 384662468 ) - - - rule ( selector ( "readLine(string)" ) => 1895126824 ) - - - rule ( selector ( "readLink(string)" ) => 2673247394 ) - - - rule ( selector ( "record()" ) => 644673801 ) - - - rule ( selector ( "recordLogs()" ) => 1101999954 ) - - - rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) - - - rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) - - - rule ( selector ( "removeFile(string)" ) => 4054835277 ) - - - rule ( selector ( "resetNonce(address)" ) => 477246573 ) - - - rule ( selector ( "resumeGasMetering()" ) => 734875872 ) - - - rule ( selector ( "revertTo(uint256)" ) => 1155002532 ) - - - rule ( selector ( "revokePersistent(address)" ) => 2574909986 ) - - - rule ( selector ( "revokePersistent(address[])" ) => 1021929958 ) - - - rule ( selector ( "roll(uint256)" ) => 528174896 ) - - - rule ( selector ( "rollFork(bytes32)" ) => 254375723 ) - - - rule ( selector ( "rollFork(uint256)" ) => 3652973473 ) - - - rule ( selector ( "rollFork(uint256,bytes32)" ) => 4068675451 ) - - - rule ( selector ( "rollFork(uint256,uint256)" ) => 3612115876 ) - - - rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) - - - rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) - - - rule ( selector ( "rpcUrls()" ) => 2824504344 ) - - - rule ( selector ( "selectFork(uint256)" ) => 2663344167 ) - - - rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) - - - rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) - - - rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) - - - rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) - - - rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) - - - rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) - - - rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) - - - rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) - - - rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) - - - rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) - - - rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) - - - rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) - - - rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) - - - rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) - - - rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) - - - rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) - - - rule ( selector ( "setNonceUnsafe(address,uint64)" ) => 2607264284 ) - - - rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) - - - rule ( selector ( "skip(bool)" ) => 3716337982 ) - - - rule ( selector ( "snapshot()" ) => 2534502746 ) - - - rule ( selector ( "startBroadcast()" ) => 2142579071 ) - - - rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) - - - rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) - - - rule ( selector ( "startPrank(address)" ) => 105151830 ) - - - rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) - - - rule ( selector ( "stopBroadcast()" ) => 1995103542 ) - - - rule ( selector ( "stopPrank()" ) => 2428830011 ) - - - rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) - - - rule ( selector ( "toString(address)" ) => 1456103998 ) - - - rule ( selector ( "toString(bool)" ) => 1910302682 ) - - - rule ( selector ( "toString(bytes)" ) => 1907020045 ) - - - rule ( selector ( "toString(bytes32)" ) => 2971277800 ) - - - rule ( selector ( "toString(int256)" ) => 2736964622 ) - - - rule ( selector ( "toString(uint256)" ) => 1761649582 ) - - - rule ( selector ( "transact(bytes32)" ) => 3194252705 ) - - - rule ( selector ( "transact(uint256,bytes32)" ) => 1300937803 ) - - - rule ( selector ( "txGasPrice(uint256)" ) => 1224018959 ) - - - rule ( selector ( "warp(uint256)" ) => 3856056066 ) - - - rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) - - - rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) - - - rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) - - - rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) - - - rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%Vm.0.8.15)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) - - - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kaccesses_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KactiveFork" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KactiveFork_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kaddr_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KallowCheatcodes" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KallowCheatcodes_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kassume_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbreakpoint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbreakpoint_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbroadcast_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kbroadcast_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KchainId" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KchainId_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KclearMockedCalls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KclearMockedCalls_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcloseFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kcoinbase" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kcoinbase_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateDir_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateFork_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateFork_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateFork_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateSelectFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateSelectFork_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateSelectFork_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KcreateSelectFork_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kdeal" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kdeal_address_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KderiveKey_string_string_uint32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KderiveKey_string_uint32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kdifficulty" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kdifficulty_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvAddress_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvAddress_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBool_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBool_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes32_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvBytes32_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvInt_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvInt_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_int256_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_string_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvOr_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvString_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvString_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvUint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KenvUint_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ketch" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ketch_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_uint64_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCall_address_uint256_uint64_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCallMinGas_address_uint256_uint64_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectCallMinGas_address_uint256_uint64_bytes_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_bool_bool_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectEmit_bool_bool_bool_bool_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectRevert" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectRevert_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectRevert" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectRevert_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectRevert" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectRevert_bytes4)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectSafeMemory" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectSafeMemory_uint64_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KexpectSafeMemoryCall" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KexpectSafeMemoryCall_uint64_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kfee" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kfee_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kffi_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KfsMetadata_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetCode_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetDeployedCode_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetLabel_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetNonce_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KgetRecordedLogs_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KisPersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KisPersistent_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Klabel_address_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kload_address_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmakePersistent_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCall_address_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCall_address_uint256_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCallRevert_address_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KmockCallRevert" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KmockCallRevert_address_uint256_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseAddress_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseBool_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseBytes_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseBytes32_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseInt_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJson_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJson_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonAddress_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonAddressArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBool_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBoolArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytes_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytes32_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytes32Array_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonBytesArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonInt_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonIntArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonString_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonStringArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonUint_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseJsonUintArray_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KparseUint_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KpauseGasMetering_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kprank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kprank_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kprank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kprank_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kprevrandao" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kprevrandao_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KprojectRoot_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadCallers" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadCallers_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadDir_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadDir_string_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadDir_string_uint64_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadFileBinary_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadLine_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KreadLink_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Krecord_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrecordLogs_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrememberKey_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KremoveDir_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KremoveFile_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KresetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KresetNonce_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KresumeGasMetering_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrevertTo" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrevertTo_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrevokePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrevokePersistent_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrevokePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrevokePersistent_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kroll" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kroll_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_uint256_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrollFork_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrpcUrl_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrpcUrlStructs_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KrpcUrls_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KselectFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KselectFork_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeAddress_string_string_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeAddress_string_string_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBool_string_string_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBool_string_string_bool_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes_string_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes_string_string_bytes_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes32_string_string_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeBytes32_string_string_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeInt_string_string_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeInt_string_string_int256_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeString_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeString_string_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeUint_string_string_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KserializeUint_string_string_uint256_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KsetEnv_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KsetNonce" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KsetNonce_address_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KsetNonceUnsafe" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KsetNonceUnsafe_address_uint64)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ksign_uint256_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kskip" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kskip_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ksnapshot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ksnapshot_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartBroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartBroadcast_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartBroadcast_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartPrank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartPrank_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstartPrank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstartPrank_address_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstopBroadcast_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KstopPrank" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KstopPrank_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kstore" "(" Int ":" "address" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kstore_address_bytes32_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_address)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_bool)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_int256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtoString_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ktransact" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ktransact_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Ktransact" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Ktransact_uint256_bytes32)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KtxGasPrice" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KtxGasPrice_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2Kwarp" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2Kwarp_uint256)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteFile_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteFileBinary_string_bytes)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteJson_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteJson_string_string_string)] - - syntax S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm.0.8.15_S2KwriteLine_string_string)] - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_target ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KactiveFork ( ) => #abiCallData ( "activeFork" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KallowCheatcodes ( V0_account : address ) => #abiCallData ( "allowCheatcodes" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) - ensures #rangeBool ( V0_condition ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) - ensures #rangeBool ( V1_value ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_signer ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KchainId ( V0_newChainId : uint256 ) => #abiCallData ( "chainId" , #uint256 ( V0_newChainId ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newChainId ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KclearMockedCalls ( ) => #abiCallData ( "clearMockedCalls" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kcoinbase ( V0_newCoinbase : address ) => #abiCallData ( "coinbase" , #address ( V0_newCoinbase ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_newCoinbase ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateFork ( V0_urlOrAlias : string ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_txHash ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_blockNumber ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateSelectFork ( V0_urlOrAlias : string ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_txHash ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createSelectFork" , #string ( V0_urlOrAlias ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_blockNumber ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kdeal ( V0_account : address , V1_newBalance : uint256 ) => #abiCallData ( "deal" , #address ( V0_account ) , #uint256 ( V1_newBalance ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account ) - andBool ( #rangeUInt ( 256 , V1_newBalance ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) - ensures #rangeUInt ( 32 , V2_index ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) - ensures #rangeUInt ( 32 , V1_index ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kdifficulty ( V0_newDifficulty : uint256 ) => #abiCallData ( "difficulty" , #uint256 ( V0_newDifficulty ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newDifficulty ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeAddress ( V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeBool ( V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V2_defaultValue_0 ) - andBool ( #rangeAddress ( V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_defaultValue_0 ) - andBool ( #rangeBool ( V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) - andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_defaultValue ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ketch ( V0_target : address , V1_newRuntimeBytecode : bytes ) => #abiCallData ( "etch" , #address ( V0_target ) , #bytes ( V1_newRuntimeBytecode ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_newRuntimeBytecode ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_data : bytes , V2_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #uint64 ( V2_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - andBool ( #rangeUInt ( 64 , V2_count ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - ))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #uint64 ( V3_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - andBool ( #rangeUInt ( 64 , V3_count ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_gas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_gas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_gas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - andBool ( #rangeUInt ( 64 , V4_count ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_minGas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCallMinGas" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #uint64 ( V2_minGas ) , #bytes ( V3_data ) , #uint64 ( V4_count ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , V2_minGas ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) - andBool ( #rangeUInt ( 64 , V4_count ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( ) => #abiCallData ( "expectEmit" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( V0_emitter : address ) => #abiCallData ( "expectEmit" , #address ( V0_emitter ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_emitter ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , .TypedArgs ) ) - ensures ( #rangeBool ( V0_checkTopic1 ) - andBool ( #rangeBool ( V1_checkTopic2 ) - andBool ( #rangeBool ( V2_checkTopic3 ) - andBool ( #rangeBool ( V3_checkData ) - )))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool , V4_emitter : address ) => #abiCallData ( "expectEmit" , #bool ( V0_checkTopic1 ) , #bool ( V1_checkTopic2 ) , #bool ( V2_checkTopic3 ) , #bool ( V3_checkData ) , #address ( V4_emitter ) , .TypedArgs ) ) - ensures ( #rangeBool ( V0_checkTopic1 ) - andBool ( #rangeBool ( V1_checkTopic2 ) - andBool ( #rangeBool ( V2_checkTopic3 ) - andBool ( #rangeBool ( V3_checkData ) - andBool ( #rangeAddress ( V4_emitter ) - ))))) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectRevert ( ) => #abiCallData ( "expectRevert" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectRevert ( V0_revertData : bytes ) => #abiCallData ( "expectRevert" , #bytes ( V0_revertData ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V0_revertData ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectRevert ( V0_revertData : bytes4 ) => #abiCallData ( "expectRevert" , #bytes4 ( V0_revertData ) , .TypedArgs ) ) - ensures #rangeBytes ( 4 , V0_revertData ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectSafeMemory ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemory" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V0_min ) - andBool ( #rangeUInt ( 64 , V1_max ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KexpectSafeMemoryCall ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemoryCall" , #uint64 ( V0_min ) , #uint64 ( V1_max ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V0_min ) - andBool ( #rangeUInt ( 64 , V1_max ) - )) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kfee ( V0_newBasefee : uint256 ) => #abiCallData ( "fee" , #uint256 ( V0_newBasefee ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newBasefee ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint40" "(" Int ":" "uint40" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint40_uint40)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint48" "(" Int ":" "uint48" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint48_uint48)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint56" "(" Int ":" "uint56" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint56_uint56)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint64" "(" Int ":" "uint64" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint64_uint64)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint72" "(" Int ":" "uint72" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint72_uint72)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint8" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint8_uint8)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KisPersistent ( V0_account : address ) => #abiCallData ( "isPersistent" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint80" "(" Int ":" "uint80" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint80_uint80)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint88" "(" Int ":" "uint88" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint88_uint88)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeBytes ( 32 , V1_slot ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestFailZUnduint96" "(" Int ":" "uint96" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestFailZUnduint96_uint96)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_account : address ) => #abiCallData ( "makePersistent" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint104" "(" Int ":" "uint104" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint104_uint104)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account0 ) - andBool ( #rangeAddress ( V1_account1 ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint104ZUndfail" "(" Int ":" "uint104" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint104ZUndfail_uint104)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_account0 : address , V1_account1 : address , V2_account2 : address ) => #abiCallData ( "makePersistent" , #address ( V0_account0 ) , #address ( V1_account1 ) , #address ( V2_account2 ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account0 ) - andBool ( #rangeAddress ( V1_account1 ) - andBool ( #rangeAddress ( V2_account2 ) - ))) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint112" "(" Int ":" "uint112" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint112_uint112)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmakePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "makePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_accounts_0 ) - andBool ( #rangeAddress ( V0_accounts_1 ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint112ZUndfail" "(" Int ":" "uint112" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint112ZUndfail_uint112)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCall ( V0_callee : address , V1_data : bytes , V2_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_returnData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_returnData ) ) - ))) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint120" "(" Int ":" "uint120" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint120_uint120)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_returnData : bytes ) => #abiCallData ( "mockCall" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_returnData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_returnData ) ) - )))) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint120ZUndfail" "(" Int ":" "uint120" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint120ZUndfail_uint120)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCallRevert ( V0_callee : address , V1_data : bytes , V2_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #bytes ( V1_data ) , #bytes ( V2_revertData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_revertData ) ) - ))) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint128" "(" Int ":" "uint128" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint128_uint128)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KmockCallRevert ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_revertData : bytes ) => #abiCallData ( "mockCallRevert" , #address ( V0_callee ) , #uint256 ( V1_msgValue ) , #bytes ( V2_data ) , #bytes ( V3_revertData ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_callee ) - andBool ( #rangeUInt ( 256 , V1_msgValue ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V3_revertData ) ) - )))) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint128ZUndfail" "(" Int ":" "uint128" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint128ZUndfail_uint128)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint136" "(" Int ":" "uint136" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint136_uint136)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint136ZUndfail" "(" Int ":" "uint136" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint136ZUndfail_uint136)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint144" "(" Int ":" "uint144" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint144_uint144)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint144ZUndfail" "(" Int ":" "uint144" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint144ZUndfail_uint144)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint152" "(" Int ":" "uint152" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint152_uint152)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint152ZUndfail" "(" Int ":" "uint152" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint152ZUndfail_uint152)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint16" "(" Int ":" "uint16" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint16_uint16)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint160" "(" Int ":" "uint160" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint160_uint160)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint160ZUndfail" "(" Int ":" "uint160" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint160ZUndfail_uint160)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint168" "(" Int ":" "uint168" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint168_uint168)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint168ZUndfail" "(" Int ":" "uint168" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint168ZUndfail_uint168)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint16ZUndfail" "(" Int ":" "uint16" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint16ZUndfail_uint16)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint176" "(" Int ":" "uint176" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint176_uint176)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint176ZUndfail" "(" Int ":" "uint176" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint176ZUndfail_uint176)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint184" "(" Int ":" "uint184" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint184_uint184)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint184ZUndfail" "(" Int ":" "uint184" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint184ZUndfail_uint184)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint192" "(" Int ":" "uint192" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint192_uint192)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint192ZUndfail" "(" Int ":" "uint192" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint192ZUndfail_uint192)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint200" "(" Int ":" "uint200" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint200_uint200)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint200ZUndfail" "(" Int ":" "uint200" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint200ZUndfail_uint200)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint208" "(" Int ":" "uint208" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint208_uint208)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint208ZUndfail" "(" Int ":" "uint208" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint208ZUndfail_uint208)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint216" "(" Int ":" "uint216" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint216_uint216)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kprank ( V0_msgSender : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_msgSender ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint216ZUndfail" "(" Int ":" "uint216" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint216ZUndfail_uint216)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kprank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "prank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_msgSender ) - andBool ( #rangeAddress ( V1_txOrigin ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint224" "(" Int ":" "uint224" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint224_uint224)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kprevrandao ( V0_newPrevrandao : bytes32 ) => #abiCallData ( "prevrandao" , #bytes32 ( V0_newPrevrandao ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_newPrevrandao ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint224ZUndfail" "(" Int ":" "uint224" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint224ZUndfail_uint224)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint232" "(" Int ":" "uint232" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint232_uint232)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadCallers ( ) => #abiCallData ( "readCallers" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint232ZUndfail" "(" Int ":" "uint232" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint232ZUndfail_uint232)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint24" "(" Int ":" "uint24" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint24_uint24)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , V1_maxDepth ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint240" "(" Int ":" "uint240" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint240_uint240)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V1_maxDepth ) - andBool ( #rangeBool ( V2_followLinks ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint240ZUndfail" "(" Int ":" "uint240" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint240ZUndfail_uint240)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint248" "(" Int ":" "uint248" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint248_uint248)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint248ZUndfail" "(" Int ":" "uint248" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint248ZUndfail_uint248)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint24ZUndfail" "(" Int ":" "uint24" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint24ZUndfail_uint24)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint256" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint256_uint256)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint256ZUndfail" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint256ZUndfail_uint256)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint32" "(" Int ":" "uint32" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint32_uint32)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint32ZUndfail" "(" Int ":" "uint32" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint32ZUndfail_uint32)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint40" "(" Int ":" "uint40" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint40_uint40)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint40ZUndfail" "(" Int ":" "uint40" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint40ZUndfail_uint40)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KresetNonce ( V0_account : address ) => #abiCallData ( "resetNonce" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint48" "(" Int ":" "uint48" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint48_uint48)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint48ZUndfail" "(" Int ":" "uint48" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint48ZUndfail_uint48)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrevertTo ( V0_snapshotId : uint256 ) => #abiCallData ( "revertTo" , #uint256 ( V0_snapshotId ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_snapshotId ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint56" "(" Int ":" "uint56" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint56_uint56)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrevokePersistent ( V0_account : address ) => #abiCallData ( "revokePersistent" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint56ZUndfail" "(" Int ":" "uint56" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint56ZUndfail_uint56)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrevokePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "revokePersistent" , #array ( #address ( V0_accounts_0 ) , 2 , #address ( V0_accounts_0 ) , #address ( V0_accounts_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_accounts_0 ) - andBool ( #rangeAddress ( V0_accounts_1 ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint64" "(" Int ":" "uint64" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint64_uint64)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kroll ( V0_newHeight : uint256 ) => #abiCallData ( "roll" , #uint256 ( V0_newHeight ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newHeight ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint64ZUndfail" "(" Int ":" "uint64" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint64ZUndfail_uint64)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_txHash : bytes32 ) => #abiCallData ( "rollFork" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_txHash ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint72" "(" Int ":" "uint72" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint72_uint72)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_blockNumber ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_blockNumber ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint72ZUndfail" "(" Int ":" "uint72" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint72ZUndfail_uint72)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_forkId ) - andBool ( #rangeBytes ( 32 , V1_txHash ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint8" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint8_uint8)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrollFork ( V0_forkId : uint256 , V1_blockNumber : uint256 ) => #abiCallData ( "rollFork" , #uint256 ( V0_forkId ) , #uint256 ( V1_blockNumber ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_forkId ) - andBool ( #rangeUInt ( 256 , V1_blockNumber ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint80" "(" Int ":" "uint80" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint80_uint80)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint80ZUndfail" "(" Int ":" "uint80" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint80ZUndfail_uint80)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint88" "(" Int ":" "uint88" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint88_uint88)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint88ZUndfail" "(" Int ":" "uint88" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint88ZUndfail_uint88)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KselectFork ( V0_forkId : uint256 ) => #abiCallData ( "selectFork" , #uint256 ( V0_forkId ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_forkId ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint8ZUndfail" "(" Int ":" "uint8" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint8ZUndfail_uint8)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) - ensures #rangeAddress ( V2_value ) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint96" "(" Int ":" "uint96" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint96_uint96)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V2_values_0 ) - andBool ( #rangeAddress ( V2_values_1 ) - )) - + syntax S2KtestZModUintTypeTestMethod ::= "S2KtestZUnduint96ZUndfail" "(" Int ":" "uint96" ")" [symbol(""), klabel(method_test%UintTypeTest_S2KtestZUnduint96ZUndfail_uint96)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) - ensures #rangeBool ( V2_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint104 ( V0_x : uint104 ) => #abiCallData ( "testFail_uint104" , ( #uint104 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 104 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_values_0 ) - andBool ( #rangeBool ( V2_values_1 ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint112 ( V0_x : uint112 ) => #abiCallData ( "testFail_uint112" , ( #uint112 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 112 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint120 ( V0_x : uint120 ) => #abiCallData ( "testFail_uint120" , ( #uint120 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 120 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint128 ( V0_x : uint128 ) => #abiCallData ( "testFail_uint128" , ( #uint128 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 128 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V2_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint136 ( V0_x : uint136 ) => #abiCallData ( "testFail_uint136" , ( #uint136 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 136 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_values_0 ) - andBool ( #rangeBytes ( 32 , V2_values_1 ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint144 ( V0_x : uint144 ) => #abiCallData ( "testFail_uint144" , ( #uint144 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 144 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V2_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint152 ( V0_x : uint152 ) => #abiCallData ( "testFail_uint152" , ( #uint152 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 152 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_values_0 ) - andBool ( #rangeSInt ( 256 , V2_values_1 ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint16 ( V0_x : uint16 ) => #abiCallData ( "testFail_uint16" , ( #uint16 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 16 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint160 ( V0_x : uint160 ) => #abiCallData ( "testFail_uint160" , ( #uint160 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 160 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint168 ( V0_x : uint168 ) => #abiCallData ( "testFail_uint168" , ( #uint168 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 168 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V2_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint176 ( V0_x : uint176 ) => #abiCallData ( "testFail_uint176" , ( #uint176 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 176 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_values_0 ) - andBool ( #rangeUInt ( 256 , V2_values_1 ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint184 ( V0_x : uint184 ) => #abiCallData ( "testFail_uint184" , ( #uint184 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 184 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint192 ( V0_x : uint192 ) => #abiCallData ( "testFail_uint192" , ( #uint192 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 192 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KsetNonce ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonce" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account ) - andBool ( #rangeUInt ( 64 , V1_newNonce ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint200 ( V0_x : uint200 ) => #abiCallData ( "testFail_uint200" , ( #uint200 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 200 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KsetNonceUnsafe ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonceUnsafe" , #address ( V0_account ) , #uint64 ( V1_newNonce ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_account ) - andBool ( #rangeUInt ( 64 , V1_newNonce ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint208 ( V0_x : uint208 ) => #abiCallData ( "testFail_uint208" , ( #uint208 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 208 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_privateKey ) - andBool ( #rangeBytes ( 32 , V1_digest ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint216 ( V0_x : uint216 ) => #abiCallData ( "testFail_uint216" , ( #uint216 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 216 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kskip ( V0_skipTest : bool ) => #abiCallData ( "skip" , #bool ( V0_skipTest ) , .TypedArgs ) ) - ensures #rangeBool ( V0_skipTest ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint224 ( V0_x : uint224 ) => #abiCallData ( "testFail_uint224" , ( #uint224 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 224 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ksnapshot ( ) => #abiCallData ( "snapshot" , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint232 ( V0_x : uint232 ) => #abiCallData ( "testFail_uint232" , ( #uint232 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 232 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint24 ( V0_x : uint24 ) => #abiCallData ( "testFail_uint24" , ( #uint24 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 24 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_signer ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint240 ( V0_x : uint240 ) => #abiCallData ( "testFail_uint240" , ( #uint240 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 240 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint248 ( V0_x : uint248 ) => #abiCallData ( "testFail_uint248" , ( #uint248 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 248 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartPrank ( V0_msgSender : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_msgSender ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint256 ( V0_x : uint256 ) => #abiCallData ( "testFail_uint256" , ( #uint256 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstartPrank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "startPrank" , #address ( V0_msgSender ) , #address ( V1_txOrigin ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_msgSender ) - andBool ( #rangeAddress ( V1_txOrigin ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint32 ( V0_x : uint32 ) => #abiCallData ( "testFail_uint32" , ( #uint32 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 32 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint40 ( V0_x : uint40 ) => #abiCallData ( "testFail_uint40" , ( #uint40 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 40 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KstopPrank ( ) => #abiCallData ( "stopPrank" , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint48 ( V0_x : uint48 ) => #abiCallData ( "testFail_uint48" , ( #uint48 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 48 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kstore ( V0_target : address , V1_slot : bytes32 , V2_value : bytes32 ) => #abiCallData ( "store" , #address ( V0_target ) , #bytes32 ( V1_slot ) , #bytes32 ( V2_value ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeBytes ( 32 , V1_slot ) - andBool ( #rangeBytes ( 32 , V2_value ) - ))) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint56 ( V0_x : uint56 ) => #abiCallData ( "testFail_uint56" , ( #uint56 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 56 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint64 ( V0_x : uint64 ) => #abiCallData ( "testFail_uint64" , ( #uint64 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 64 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) - ensures #rangeBool ( V0_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint72 ( V0_x : uint72 ) => #abiCallData ( "testFail_uint72" , ( #uint72 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 72 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint8 ( V0_x : uint8 ) => #abiCallData ( "testFail_uint8" , ( #uint8 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 8 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint80 ( V0_x : uint80 ) => #abiCallData ( "testFail_uint80" , ( #uint80 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 80 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) - ensures #rangeSInt ( 256 , V0_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint88 ( V0_x : uint88 ) => #abiCallData ( "testFail_uint88" , ( #uint88 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 88 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_value ) + rule ( S2KtestZModUintTypeTest . S2KtestFailZUnduint96 ( V0_x : uint96 ) => #abiCallData ( "testFail_uint96" , ( #uint96 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 96 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ktransact ( V0_txHash : bytes32 ) => #abiCallData ( "transact" , #bytes32 ( V0_txHash ) , .TypedArgs ) ) - ensures #rangeBytes ( 32 , V0_txHash ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint104 ( V0_x : uint104 ) => #abiCallData ( "test_uint104" , ( #uint104 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 104 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Ktransact ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "transact" , #uint256 ( V0_forkId ) , #bytes32 ( V1_txHash ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V0_forkId ) - andBool ( #rangeBytes ( 32 , V1_txHash ) - )) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint104ZUndfail ( V0_x : uint104 ) => #abiCallData ( "test_uint104_fail" , ( #uint104 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 104 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KtxGasPrice ( V0_newGasPrice : uint256 ) => #abiCallData ( "txGasPrice" , #uint256 ( V0_newGasPrice ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newGasPrice ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint112 ( V0_x : uint112 ) => #abiCallData ( "test_uint112" , ( #uint112 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 112 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2Kwarp ( V0_newTimestamp : uint256 ) => #abiCallData ( "warp" , #uint256 ( V0_newTimestamp ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_newTimestamp ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint112ZUndfail ( V0_x : uint112 ) => #abiCallData ( "test_uint112_fail" , ( #uint112 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 112 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint120 ( V0_x : uint120 ) => #abiCallData ( "test_uint120" , ( #uint120 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 120 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint120ZUndfail ( V0_x : uint120 ) => #abiCallData ( "test_uint120_fail" , ( #uint120 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 120 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint128 ( V0_x : uint128 ) => #abiCallData ( "test_uint128" , ( #uint128 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 128 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint128ZUndfail ( V0_x : uint128 ) => #abiCallData ( "test_uint128_fail" , ( #uint128 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 128 , V0_x ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint136 ( V0_x : uint136 ) => #abiCallData ( "test_uint136" , ( #uint136 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 136 , V0_x ) - rule ( selector ( "accesses(address)" ) => 1706857601 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint136ZUndfail ( V0_x : uint136 ) => #abiCallData ( "test_uint136_fail" , ( #uint136 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 136 , V0_x ) - rule ( selector ( "activeFork()" ) => 789593890 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint144 ( V0_x : uint144 ) => #abiCallData ( "test_uint144" , ( #uint144 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 144 , V0_x ) - rule ( selector ( "addr(uint256)" ) => 4288775753 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint144ZUndfail ( V0_x : uint144 ) => #abiCallData ( "test_uint144_fail" , ( #uint144 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 144 , V0_x ) - rule ( selector ( "allowCheatcodes(address)" ) => 3926262417 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint152 ( V0_x : uint152 ) => #abiCallData ( "test_uint152" , ( #uint152 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 152 , V0_x ) - rule ( selector ( "assume(bool)" ) => 1281615202 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint152ZUndfail ( V0_x : uint152 ) => #abiCallData ( "test_uint152_fail" , ( #uint152 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 152 , V0_x ) - rule ( selector ( "breakpoint(string)" ) => 4028997266 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint16 ( V0_x : uint16 ) => #abiCallData ( "test_uint16" , ( #uint16 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 16 , V0_x ) - rule ( selector ( "breakpoint(string,bool)" ) => 4157840013 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint160 ( V0_x : uint160 ) => #abiCallData ( "test_uint160" , ( #uint160 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 160 , V0_x ) - rule ( selector ( "broadcast()" ) => 2949218368 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint160ZUndfail ( V0_x : uint160 ) => #abiCallData ( "test_uint160_fail" , ( #uint160 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 160 , V0_x ) - rule ( selector ( "broadcast(address)" ) => 3868601563 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint168 ( V0_x : uint168 ) => #abiCallData ( "test_uint168" , ( #uint168 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 168 , V0_x ) - rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint168ZUndfail ( V0_x : uint168 ) => #abiCallData ( "test_uint168_fail" , ( #uint168 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 168 , V0_x ) - rule ( selector ( "chainId(uint256)" ) => 1078582738 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint16ZUndfail ( V0_x : uint16 ) => #abiCallData ( "test_uint16_fail" , ( #uint16 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 16 , V0_x ) - rule ( selector ( "clearMockedCalls()" ) => 1071599125 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint176 ( V0_x : uint176 ) => #abiCallData ( "test_uint176" , ( #uint176 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 176 , V0_x ) - rule ( selector ( "closeFile(string)" ) => 1220748319 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint176ZUndfail ( V0_x : uint176 ) => #abiCallData ( "test_uint176_fail" , ( #uint176 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 176 , V0_x ) - rule ( selector ( "coinbase(address)" ) => 4282924116 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint184 ( V0_x : uint184 ) => #abiCallData ( "test_uint184" , ( #uint184 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 184 , V0_x ) - rule ( selector ( "createDir(string,bool)" ) => 378234067 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint184ZUndfail ( V0_x : uint184 ) => #abiCallData ( "test_uint184_fail" , ( #uint184 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 184 , V0_x ) - rule ( selector ( "createFork(string)" ) => 834286744 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint192 ( V0_x : uint192 ) => #abiCallData ( "test_uint192" , ( #uint192 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 192 , V0_x ) - rule ( selector ( "createFork(string,bytes32)" ) => 2091030146 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint192ZUndfail ( V0_x : uint192 ) => #abiCallData ( "test_uint192_fail" , ( #uint192 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 192 , V0_x ) - rule ( selector ( "createFork(string,uint256)" ) => 1805892139 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint200 ( V0_x : uint200 ) => #abiCallData ( "test_uint200" , ( #uint200 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 200 , V0_x ) - rule ( selector ( "createSelectFork(string)" ) => 2556952628 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint200ZUndfail ( V0_x : uint200 ) => #abiCallData ( "test_uint200_fail" , ( #uint200 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 200 , V0_x ) - rule ( selector ( "createSelectFork(string,bytes32)" ) => 2228562810 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint208 ( V0_x : uint208 ) => #abiCallData ( "test_uint208" , ( #uint208 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 208 , V0_x ) - rule ( selector ( "createSelectFork(string,uint256)" ) => 1911440973 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint208ZUndfail ( V0_x : uint208 ) => #abiCallData ( "test_uint208_fail" , ( #uint208 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 208 , V0_x ) - rule ( selector ( "deal(address,uint256)" ) => 3364511341 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint216 ( V0_x : uint216 ) => #abiCallData ( "test_uint216" , ( #uint216 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 216 , V0_x ) - rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint216ZUndfail ( V0_x : uint216 ) => #abiCallData ( "test_uint216_fail" , ( #uint216 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 216 , V0_x ) - rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint224 ( V0_x : uint224 ) => #abiCallData ( "test_uint224" , ( #uint224 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 224 , V0_x ) - rule ( selector ( "difficulty(uint256)" ) => 1187812057 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint224ZUndfail ( V0_x : uint224 ) => #abiCallData ( "test_uint224_fail" , ( #uint224 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 224 , V0_x ) - rule ( selector ( "envAddress(string)" ) => 890066623 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint232 ( V0_x : uint232 ) => #abiCallData ( "test_uint232" , ( #uint232 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 232 , V0_x ) - rule ( selector ( "envAddress(string,string)" ) => 2905717242 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint232ZUndfail ( V0_x : uint232 ) => #abiCallData ( "test_uint232_fail" , ( #uint232 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 232 , V0_x ) - rule ( selector ( "envBool(string)" ) => 2127686781 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint24 ( V0_x : uint24 ) => #abiCallData ( "test_uint24" , ( #uint24 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 24 , V0_x ) - rule ( selector ( "envBool(string,string)" ) => 2863521455 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint240 ( V0_x : uint240 ) => #abiCallData ( "test_uint240" , ( #uint240 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 240 , V0_x ) - rule ( selector ( "envBytes(string)" ) => 1299951366 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint240ZUndfail ( V0_x : uint240 ) => #abiCallData ( "test_uint240_fail" , ( #uint240 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 240 , V0_x ) - rule ( selector ( "envBytes(string,string)" ) => 3720504603 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint248 ( V0_x : uint248 ) => #abiCallData ( "test_uint248" , ( #uint248 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 248 , V0_x ) - rule ( selector ( "envBytes32(string)" ) => 2543095874 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint248ZUndfail ( V0_x : uint248 ) => #abiCallData ( "test_uint248_fail" , ( #uint248 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 248 , V0_x ) - rule ( selector ( "envBytes32(string,string)" ) => 1525821889 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint24ZUndfail ( V0_x : uint24 ) => #abiCallData ( "test_uint24_fail" , ( #uint24 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 24 , V0_x ) - rule ( selector ( "envInt(string)" ) => 2301234273 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint256 ( V0_x : uint256 ) => #abiCallData ( "test_uint256" , ( #uint256 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_x ) - rule ( selector ( "envInt(string,string)" ) => 1108873552 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint256ZUndfail ( V0_x : uint256 ) => #abiCallData ( "test_uint256_fail" , ( #uint256 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_x ) - rule ( selector ( "envOr(string,address)" ) => 1444930880 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint32 ( V0_x : uint32 ) => #abiCallData ( "test_uint32" , ( #uint32 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 32 , V0_x ) - rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint32ZUndfail ( V0_x : uint32 ) => #abiCallData ( "test_uint32_fail" , ( #uint32 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 32 , V0_x ) - rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint40 ( V0_x : uint40 ) => #abiCallData ( "test_uint40" , ( #uint40 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 40 , V0_x ) - rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint40ZUndfail ( V0_x : uint40 ) => #abiCallData ( "test_uint40_fail" , ( #uint40 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 40 , V0_x ) - rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint48 ( V0_x : uint48 ) => #abiCallData ( "test_uint48" , ( #uint48 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 48 , V0_x ) - rule ( selector ( "envOr(string,string)" ) => 3510989676 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint48ZUndfail ( V0_x : uint48 ) => #abiCallData ( "test_uint48_fail" , ( #uint48 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 48 , V0_x ) - rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint56 ( V0_x : uint56 ) => #abiCallData ( "test_uint56" , ( #uint56 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 56 , V0_x ) - rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint56ZUndfail ( V0_x : uint56 ) => #abiCallData ( "test_uint56_fail" , ( #uint56 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 56 , V0_x ) - rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint64 ( V0_x : uint64 ) => #abiCallData ( "test_uint64" , ( #uint64 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 64 , V0_x ) - rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint64ZUndfail ( V0_x : uint64 ) => #abiCallData ( "test_uint64_fail" , ( #uint64 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 64 , V0_x ) - rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint72 ( V0_x : uint72 ) => #abiCallData ( "test_uint72" , ( #uint72 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 72 , V0_x ) - rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint72ZUndfail ( V0_x : uint72 ) => #abiCallData ( "test_uint72_fail" , ( #uint72 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 72 , V0_x ) - rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint8 ( V0_x : uint8 ) => #abiCallData ( "test_uint8" , ( #uint8 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 8 , V0_x ) - rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint80 ( V0_x : uint80 ) => #abiCallData ( "test_uint80" , ( #uint80 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 80 , V0_x ) - rule ( selector ( "envString(string)" ) => 4168600345 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint80ZUndfail ( V0_x : uint80 ) => #abiCallData ( "test_uint80_fail" , ( #uint80 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 80 , V0_x ) - rule ( selector ( "envString(string,string)" ) => 347089865 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint88 ( V0_x : uint88 ) => #abiCallData ( "test_uint88" , ( #uint88 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 88 , V0_x ) - rule ( selector ( "envUint(string)" ) => 3247934751 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint88ZUndfail ( V0_x : uint88 ) => #abiCallData ( "test_uint88_fail" , ( #uint88 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 88 , V0_x ) - rule ( selector ( "envUint(string,string)" ) => 4091461785 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint8ZUndfail ( V0_x : uint8 ) => #abiCallData ( "test_uint8_fail" , ( #uint8 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 8 , V0_x ) - rule ( selector ( "etch(address,bytes)" ) => 3033974658 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint96 ( V0_x : uint96 ) => #abiCallData ( "test_uint96" , ( #uint96 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 96 , V0_x ) - rule ( selector ( "expectCall(address,bytes)" ) => 3177903156 ) + rule ( S2KtestZModUintTypeTest . S2KtestZUnduint96ZUndfail ( V0_x : uint96 ) => #abiCallData ( "test_uint96_fail" , ( #uint96 ( V0_x ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 96 , V0_x ) - rule ( selector ( "expectCall(address,bytes,uint64)" ) => 3249388543 ) + rule ( selector ( "testFail_uint104(uint104)" ) => 1709154444 ) - rule ( selector ( "expectCall(address,uint256,bytes)" ) => 4077681571 ) + rule ( selector ( "testFail_uint112(uint112)" ) => 3541489285 ) - rule ( selector ( "expectCall(address,uint256,bytes,uint64)" ) => 2729550254 ) + rule ( selector ( "testFail_uint120(uint120)" ) => 3839169067 ) - rule ( selector ( "expectCall(address,uint256,uint64,bytes)" ) => 590746119 ) + rule ( selector ( "testFail_uint128(uint128)" ) => 791678561 ) - rule ( selector ( "expectCall(address,uint256,uint64,bytes,uint64)" ) => 1706538956 ) + rule ( selector ( "testFail_uint136(uint136)" ) => 3952257705 ) - rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes)" ) => 149217558 ) + rule ( selector ( "testFail_uint144(uint144)" ) => 2439595565 ) - rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes,uint64)" ) => 3778680884 ) + rule ( selector ( "testFail_uint152(uint152)" ) => 1866291148 ) - rule ( selector ( "expectEmit()" ) => 1141821709 ) + rule ( selector ( "testFail_uint16(uint16)" ) => 4076431644 ) - rule ( selector ( "expectEmit(address)" ) => 2260296205 ) + rule ( selector ( "testFail_uint160(uint160)" ) => 3214193107 ) - rule ( selector ( "expectEmit(bool,bool,bool,bool)" ) => 1226622914 ) + rule ( selector ( "testFail_uint168(uint168)" ) => 2636444862 ) - rule ( selector ( "expectEmit(bool,bool,bool,bool,address)" ) => 2176505587 ) + rule ( selector ( "testFail_uint176(uint176)" ) => 1828125968 ) - rule ( selector ( "expectRevert()" ) => 4102309908 ) + rule ( selector ( "testFail_uint184(uint184)" ) => 4099305155 ) - rule ( selector ( "expectRevert(bytes)" ) => 4069379763 ) + rule ( selector ( "testFail_uint192(uint192)" ) => 2858210891 ) - rule ( selector ( "expectRevert(bytes4)" ) => 3273568480 ) + rule ( selector ( "testFail_uint200(uint200)" ) => 1080270217 ) - rule ( selector ( "expectSafeMemory(uint64,uint64)" ) => 1828808328 ) + rule ( selector ( "testFail_uint208(uint208)" ) => 1831022189 ) - rule ( selector ( "expectSafeMemoryCall(uint64,uint64)" ) => 92507124 ) + rule ( selector ( "testFail_uint216(uint216)" ) => 2125101602 ) - rule ( selector ( "fee(uint256)" ) => 968063664 ) + rule ( selector ( "testFail_uint224(uint224)" ) => 420776541 ) - rule ( selector ( "ffi(string[])" ) => 2299921511 ) + rule ( selector ( "testFail_uint232(uint232)" ) => 3163478438 ) - rule ( selector ( "fsMetadata(string)" ) => 2939587080 ) + rule ( selector ( "testFail_uint24(uint24)" ) => 639153936 ) - rule ( selector ( "getCode(string)" ) => 2367473957 ) + rule ( selector ( "testFail_uint240(uint240)" ) => 3089966003 ) - rule ( selector ( "getDeployedCode(string)" ) => 1052734388 ) + rule ( selector ( "testFail_uint248(uint248)" ) => 3070004620 ) - rule ( selector ( "getLabel(address)" ) => 681724336 ) + rule ( selector ( "testFail_uint256(uint256)" ) => 3436494846 ) - rule ( selector ( "getNonce(address)" ) => 755185067 ) + rule ( selector ( "testFail_uint32(uint32)" ) => 3218360567 ) - rule ( selector ( "getRecordedLogs()" ) => 420828068 ) + rule ( selector ( "testFail_uint40(uint40)" ) => 347856329 ) - rule ( selector ( "isPersistent(address)" ) => 3643641597 ) + rule ( selector ( "testFail_uint48(uint48)" ) => 4178735009 ) - rule ( selector ( "label(address,string)" ) => 3327641368 ) + rule ( selector ( "testFail_uint56(uint56)" ) => 979020984 ) - rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) + rule ( selector ( "testFail_uint64(uint64)" ) => 819975489 ) - rule ( selector ( "makePersistent(address)" ) => 1474440670 ) + rule ( selector ( "testFail_uint72(uint72)" ) => 2059244458 ) - rule ( selector ( "makePersistent(address,address)" ) => 1081401512 ) + rule ( selector ( "testFail_uint8(uint8)" ) => 3679593874 ) - rule ( selector ( "makePersistent(address,address,address)" ) => 4021779061 ) + rule ( selector ( "testFail_uint80(uint80)" ) => 4180733980 ) - rule ( selector ( "makePersistent(address[])" ) => 496903838 ) + rule ( selector ( "testFail_uint88(uint88)" ) => 42555031 ) - rule ( selector ( "mockCall(address,bytes,bytes)" ) => 3110212580 ) + rule ( selector ( "testFail_uint96(uint96)" ) => 2962957343 ) - rule ( selector ( "mockCall(address,uint256,bytes,bytes)" ) => 2168494993 ) + rule ( selector ( "test_uint104(uint104)" ) => 2030507202 ) - rule ( selector ( "mockCallRevert(address,bytes,bytes)" ) => 3685404999 ) + rule ( selector ( "test_uint104_fail(uint104)" ) => 3289769429 ) - rule ( selector ( "mockCallRevert(address,uint256,bytes,bytes)" ) => 3527200823 ) + rule ( selector ( "test_uint112(uint112)" ) => 1247465894 ) - rule ( selector ( "parseAddress(string)" ) => 3335390621 ) + rule ( selector ( "test_uint112_fail(uint112)" ) => 198559186 ) - rule ( selector ( "parseBool(string)" ) => 2538535204 ) + rule ( selector ( "test_uint120(uint120)" ) => 4013273041 ) - rule ( selector ( "parseBytes(string)" ) => 2405245741 ) + rule ( selector ( "test_uint120_fail(uint120)" ) => 4156608892 ) - rule ( selector ( "parseBytes32(string)" ) => 142503553 ) + rule ( selector ( "test_uint128(uint128)" ) => 784802761 ) - rule ( selector ( "parseInt(string)" ) => 1110731870 ) + rule ( selector ( "test_uint128_fail(uint128)" ) => 3283002391 ) - rule ( selector ( "parseJson(string)" ) => 1786929162 ) + rule ( selector ( "test_uint136(uint136)" ) => 3590751506 ) - rule ( selector ( "parseJson(string,string)" ) => 2241072881 ) + rule ( selector ( "test_uint136_fail(uint136)" ) => 1740049059 ) - rule ( selector ( "parseJsonAddress(string,string)" ) => 505013847 ) + rule ( selector ( "test_uint144(uint144)" ) => 1224379367 ) - rule ( selector ( "parseJsonAddressArray(string,string)" ) => 802060419 ) + rule ( selector ( "test_uint144_fail(uint144)" ) => 3911233113 ) - rule ( selector ( "parseJsonBool(string,string)" ) => 2676415633 ) + rule ( selector ( "test_uint152(uint152)" ) => 3210764837 ) - rule ( selector ( "parseJsonBoolArray(string,string)" ) => 2448669007 ) + rule ( selector ( "test_uint152_fail(uint152)" ) => 2472528383 ) - rule ( selector ( "parseJsonBytes(string,string)" ) => 4254211048 ) + rule ( selector ( "test_uint16(uint16)" ) => 1262288561 ) - rule ( selector ( "parseJsonBytes32(string,string)" ) => 393733533 ) + rule ( selector ( "test_uint160(uint160)" ) => 2446641645 ) - rule ( selector ( "parseJsonBytes32Array(string,string)" ) => 2445761475 ) + rule ( selector ( "test_uint160_fail(uint160)" ) => 1289572651 ) - rule ( selector ( "parseJsonBytesArray(string,string)" ) => 1714530969 ) + rule ( selector ( "test_uint168(uint168)" ) => 2789196255 ) - rule ( selector ( "parseJsonInt(string,string)" ) => 2063895757 ) + rule ( selector ( "test_uint168_fail(uint168)" ) => 413418206 ) - rule ( selector ( "parseJsonIntArray(string,string)" ) => 2575549066 ) + rule ( selector ( "test_uint16_fail(uint16)" ) => 2736127289 ) - rule ( selector ( "parseJsonString(string,string)" ) => 1237646024 ) + rule ( selector ( "test_uint176(uint176)" ) => 3119759714 ) - rule ( selector ( "parseJsonStringArray(string,string)" ) => 1234164980 ) + rule ( selector ( "test_uint176_fail(uint176)" ) => 2926152828 ) - rule ( selector ( "parseJsonUint(string,string)" ) => 2916999862 ) + rule ( selector ( "test_uint184(uint184)" ) => 2419331356 ) - rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) + rule ( selector ( "test_uint184_fail(uint184)" ) => 809918532 ) - rule ( selector ( "parseUint(string)" ) => 4203824461 ) + rule ( selector ( "test_uint192(uint192)" ) => 126849335 ) - rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) + rule ( selector ( "test_uint192_fail(uint192)" ) => 965859284 ) - rule ( selector ( "prank(address)" ) => 3395723175 ) + rule ( selector ( "test_uint200(uint200)" ) => 342308100 ) - rule ( selector ( "prank(address,address)" ) => 1206193358 ) + rule ( selector ( "test_uint200_fail(uint200)" ) => 3554205475 ) - rule ( selector ( "prevrandao(bytes32)" ) => 999445833 ) + rule ( selector ( "test_uint208(uint208)" ) => 664969356 ) - rule ( selector ( "projectRoot()" ) => 3643842790 ) + rule ( selector ( "test_uint208_fail(uint208)" ) => 515244431 ) - rule ( selector ( "readCallers()" ) => 1255193289 ) + rule ( selector ( "test_uint216(uint216)" ) => 2735221135 ) - rule ( selector ( "readDir(string)" ) => 3300678112 ) + rule ( selector ( "test_uint216_fail(uint216)" ) => 1244132421 ) - rule ( selector ( "readDir(string,uint64)" ) => 345474924 ) + rule ( selector ( "test_uint224(uint224)" ) => 2791725032 ) - rule ( selector ( "readDir(string,uint64,bool)" ) => 2164446989 ) + rule ( selector ( "test_uint224_fail(uint224)" ) => 3535210075 ) - rule ( selector ( "readFile(string)" ) => 1626979089 ) + rule ( selector ( "test_uint232(uint232)" ) => 2781872781 ) - rule ( selector ( "readFileBinary(string)" ) => 384662468 ) + rule ( selector ( "test_uint232_fail(uint232)" ) => 3352181217 ) - rule ( selector ( "readLine(string)" ) => 1895126824 ) + rule ( selector ( "test_uint24(uint24)" ) => 2865563805 ) - rule ( selector ( "readLink(string)" ) => 2673247394 ) + rule ( selector ( "test_uint240(uint240)" ) => 3274361055 ) - rule ( selector ( "record()" ) => 644673801 ) + rule ( selector ( "test_uint240_fail(uint240)" ) => 4046179916 ) - rule ( selector ( "recordLogs()" ) => 1101999954 ) + rule ( selector ( "test_uint248(uint248)" ) => 578604507 ) - rule ( selector ( "rememberKey(uint256)" ) => 571474020 ) + rule ( selector ( "test_uint248_fail(uint248)" ) => 3580188072 ) - rule ( selector ( "removeDir(string,bool)" ) => 1170612241 ) + rule ( selector ( "test_uint24_fail(uint24)" ) => 2328572638 ) - rule ( selector ( "removeFile(string)" ) => 4054835277 ) + rule ( selector ( "test_uint256(uint256)" ) => 851358597 ) - rule ( selector ( "resetNonce(address)" ) => 477246573 ) + rule ( selector ( "test_uint256_fail(uint256)" ) => 1895666222 ) - rule ( selector ( "resumeGasMetering()" ) => 734875872 ) + rule ( selector ( "test_uint32(uint32)" ) => 982223766 ) - rule ( selector ( "revertTo(uint256)" ) => 1155002532 ) + rule ( selector ( "test_uint32_fail(uint32)" ) => 768917897 ) - rule ( selector ( "revokePersistent(address)" ) => 2574909986 ) + rule ( selector ( "test_uint40(uint40)" ) => 1298765870 ) - rule ( selector ( "revokePersistent(address[])" ) => 1021929958 ) + rule ( selector ( "test_uint40_fail(uint40)" ) => 1685882915 ) - rule ( selector ( "roll(uint256)" ) => 528174896 ) + rule ( selector ( "test_uint48(uint48)" ) => 454435065 ) - rule ( selector ( "rollFork(bytes32)" ) => 254375723 ) + rule ( selector ( "test_uint48_fail(uint48)" ) => 491533732 ) - rule ( selector ( "rollFork(uint256)" ) => 3652973473 ) + rule ( selector ( "test_uint56(uint56)" ) => 58659965 ) - rule ( selector ( "rollFork(uint256,bytes32)" ) => 4068675451 ) + rule ( selector ( "test_uint56_fail(uint56)" ) => 3185974238 ) - rule ( selector ( "rollFork(uint256,uint256)" ) => 3612115876 ) + rule ( selector ( "test_uint64(uint64)" ) => 2511119799 ) - rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) + rule ( selector ( "test_uint64_fail(uint64)" ) => 2000886247 ) - rule ( selector ( "rpcUrlStructs()" ) => 2636830506 ) + rule ( selector ( "test_uint72(uint72)" ) => 3694811120 ) - rule ( selector ( "rpcUrls()" ) => 2824504344 ) + rule ( selector ( "test_uint72_fail(uint72)" ) => 875540037 ) - rule ( selector ( "selectFork(uint256)" ) => 2663344167 ) + rule ( selector ( "test_uint8(uint8)" ) => 1704021016 ) - rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) + rule ( selector ( "test_uint80(uint80)" ) => 3841083967 ) - rule ( selector ( "serializeAddress(string,string,address[])" ) => 506818074 ) + rule ( selector ( "test_uint80_fail(uint80)" ) => 3626141300 ) - rule ( selector ( "serializeBool(string,string,bool)" ) => 2887969137 ) + rule ( selector ( "test_uint88(uint88)" ) => 100068129 ) - rule ( selector ( "serializeBool(string,string,bool[])" ) => 2459064993 ) + rule ( selector ( "test_uint88_fail(uint88)" ) => 318744457 ) - rule ( selector ( "serializeBytes(string,string,bytes)" ) => 4062008007 ) + rule ( selector ( "test_uint8_fail(uint8)" ) => 2865005996 ) - rule ( selector ( "serializeBytes(string,string,bytes[])" ) => 2558833202 ) + rule ( selector ( "test_uint96(uint96)" ) => 1315861753 ) - rule ( selector ( "serializeBytes32(string,string,bytes32)" ) => 763439940 ) + rule ( selector ( "test_uint96_fail(uint96)" ) => 1635628195 ) + +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT + imports public FOUNDRY - rule ( selector ( "serializeBytes32(string,string,bytes32[])" ) => 538854370 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmContract - rule ( selector ( "serializeInt(string,string,int256)" ) => 1060363104 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmContract ::= "S2KlibZModforgeZSubstdZModsrcZModVm" [symbol(""), klabel(contract_lib%forge-std%src%Vm)] - rule ( selector ( "serializeInt(string,string,int256[])" ) => 1987502375 ) - rule ( selector ( "serializeString(string,string,string)" ) => 2296016181 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVm ) => #parseByteStack ( "0x" ) ) - rule ( selector ( "serializeString(string,string,string[])" ) => 1444730611 ) - + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmContract "." S2KlibZModforgeZSubstdZModsrcZModVmMethod [function, symbol(""), klabel(method_lib%forge-std%src%Vm)] - rule ( selector ( "serializeUint(string,string,uint256)" ) => 312381442 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kaccesses_address)] - rule ( selector ( "serializeUint(string,string,uint256[])" ) => 4276724841 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KactiveFork" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KactiveFork_)] - rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kaddr_uint256)] - rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KallowCheatcodes" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KallowCheatcodes_address)] - rule ( selector ( "setNonceUnsafe(address,uint64)" ) => 2607264284 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kassume_bool)] - rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbreakpoint_string)] - rule ( selector ( "skip(bool)" ) => 3716337982 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbreakpoint_string_bool)] - rule ( selector ( "snapshot()" ) => 2534502746 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbroadcast_)] - rule ( selector ( "startBroadcast()" ) => 2142579071 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbroadcast_address)] - rule ( selector ( "startBroadcast(address)" ) => 2146183821 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kbroadcast_uint256)] - rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KchainId" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KchainId_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KclearMockedCalls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KclearMockedCalls_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcloseFile_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kcoinbase" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kcoinbase_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateDir_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateFork_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateFork_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateFork_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateSelectFork" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateSelectFork_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateSelectFork_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KcreateSelectFork" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KcreateSelectFork_string_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kdeal" "(" Int ":" "address" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kdeal_address_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KderiveKey_string_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KderiveKey_string_uint32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kdifficulty" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kdifficulty_uint256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvAddress_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvAddress_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBool_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBool_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes32_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvBytes32_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvInt_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvInt_string_string)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_address)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_bool)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_bytes)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_bytes32)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_int256)] + + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string)] - rule ( selector ( "startPrank(address)" ) => 105151830 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_address_address)] - rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_bool_bool)] - rule ( selector ( "stopBroadcast()" ) => 1995103542 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_bytes32_bytes32)] - rule ( selector ( "stopPrank()" ) => 2428830011 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_bytes_bytes)] - rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_int256_int256)] - rule ( selector ( "toString(address)" ) => 1456103998 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_string_string)] - rule ( selector ( "toString(bool)" ) => 1910302682 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_string_uint256_uint256)] - rule ( selector ( "toString(bytes)" ) => 1907020045 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvOr_string_uint256)] - rule ( selector ( "toString(bytes32)" ) => 2971277800 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvString_string)] - rule ( selector ( "toString(int256)" ) => 2736964622 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvString_string_string)] - rule ( selector ( "toString(uint256)" ) => 1761649582 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvUint_string)] - rule ( selector ( "transact(bytes32)" ) => 3194252705 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KenvUint_string_string)] - rule ( selector ( "transact(uint256,bytes32)" ) => 1300937803 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ketch" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ketch_address_bytes)] - rule ( selector ( "txGasPrice(uint256)" ) => 1224018959 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_bytes)] - rule ( selector ( "warp(uint256)" ) => 3856056066 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_bytes_uint64)] - rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_bytes)] - rule ( selector ( "writeFileBinary(string,bytes)" ) => 522321024 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_bytes_uint64)] - rule ( selector ( "writeJson(string,string)" ) => 3795636639 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_uint64_bytes)] - rule ( selector ( "writeJson(string,string,string)" ) => 903261510 ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCall" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCall_address_uint256_uint64_bytes_uint64)] - rule ( selector ( "writeLine(string,string)" ) => 1637714303 ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCallMinGas_address_uint256_uint64_bytes)] - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Contract + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectCallMinGas" "(" Int ":" "address" "," Int ":" "uint256" "," Int ":" "uint64" "," Bytes ":" "bytes" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectCallMinGas_address_uint256_uint64_bytes_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%VmSafe.0.8.13)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_)] - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_address)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_bool_bool_bool_bool)] - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectEmit" "(" Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "bool" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectEmit_bool_bool_bool_bool_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kaccesses_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectRevert" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectRevert_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kaddr_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectRevert" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectRevert_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kassume_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectRevert" "(" Int ":" "bytes4" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectRevert_bytes4)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbreakpoint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectSafeMemory" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectSafeMemory_uint64_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbreakpoint_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KexpectSafeMemoryCall" "(" Int ":" "uint64" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KexpectSafeMemoryCall_uint64_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kfee" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kfee_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbroadcast_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kffi_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kbroadcast_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KfsMetadata_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KcloseFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetCode_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KcreateDir_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetDeployedCode_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KderiveKey_string_string_uint32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetLabel_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KderiveKey_string_uint32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetNonce_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvAddress_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KgetRecordedLogs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvAddress_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KisPersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KisPersistent_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBool_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Klabel_address_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBool_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kload_address_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes32_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvBytes32_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmakePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmakePersistent_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvInt_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCall" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCall_address_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvInt_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCall" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCall_address_uint256_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCallRevert" "(" Int ":" "address" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCallRevert_address_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KmockCallRevert" "(" Int ":" "address" "," Int ":" "uint256" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KmockCallRevert_address_uint256_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseAddress_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseBool_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseBytes_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseBytes32_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseInt_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJson_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJson_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonAddress_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_int256_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonAddressArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBool_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_string_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBoolArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvOr_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytes_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvString_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytes32_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvString_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytes32Array_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvUint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonBytesArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KenvUint_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonInt_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kffi_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonIntArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KfsMetadata_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonString_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetCode_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonStringArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetDeployedCode_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonUint_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetLabel_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseJsonUintArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetNonce_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KparseUint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KgetRecordedLogs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KpauseGasMetering_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Klabel_address_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kprank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kprank_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Kload_address_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kprank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kprank_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseAddress_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kprevrandao" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kprevrandao_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseBool_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KprojectRoot_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseBytes_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadCallers" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadCallers_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseBytes32_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadDir_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseInt_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadDir_string_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJson_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadDir_string_uint64_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJson_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonAddress_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadFileBinary_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonAddressArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadLine_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBool_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KreadLink_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBoolArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Krecord_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytes_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrecordLogs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytes32_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrememberKey_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytes32Array_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KremoveDir_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonBytesArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KremoveFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonInt_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KresetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KresetNonce_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonIntArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KresumeGasMetering_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonString_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrevertTo" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrevertTo_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonStringArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrevokePersistent" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrevokePersistent_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonUint_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrevokePersistent" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrevokePersistent_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseJsonUintArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kroll" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kroll_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KparseUint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KpauseGasMetering_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KprojectRoot_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadDir_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrollFork" "(" Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrollFork_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadDir_string_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrpcUrl_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadDir_string_uint64_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrpcUrlStructs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KrpcUrls_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadFileBinary_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KselectFork" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KselectFork_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadLine_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeAddress_string_string_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KreadLink_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeAddress_string_string_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Krecord_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBool_string_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrecordLogs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBool_string_string_bool_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrememberKey_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes_string_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KremoveDir_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes_string_string_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KremoveFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes32_string_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KresumeGasMetering_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeBytes32_string_string_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrpcUrl_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeInt_string_string_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrpcUrlStructs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeInt_string_string_int256_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KrpcUrls_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeString_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeAddress_string_string_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeString_string_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeAddress_string_string_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeUint_string_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBool_string_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KserializeUint_string_string_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBool_string_string_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KsetEnv_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes_string_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KsetNonce" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KsetNonce_address_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes_string_string_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KsetNonceUnsafe" "(" Int ":" "address" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KsetNonceUnsafe_address_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes32_string_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ksign_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeBytes32_string_string_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kskip" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kskip_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeInt_string_string_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ksnapshot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ksnapshot_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeInt_string_string_int256_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartBroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeString_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartBroadcast_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeString_string_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartBroadcast_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeUint_string_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartPrank" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartPrank_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KserializeUint_string_string_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstartPrank" "(" Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstartPrank_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KsetEnv_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstopBroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2Ksign_uint256_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KstopPrank" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KstopPrank_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstartBroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kstore" "(" Int ":" "address" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kstore_address_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstartBroadcast_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstartBroadcast_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KstopBroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtoString_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ktransact" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ktransact_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Ktransact" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Ktransact_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KtoString_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KtxGasPrice" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KtxGasPrice_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteFile_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2Kwarp" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2Kwarp_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteFileBinary_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteFile_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteJson_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteFileBinary_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteJson_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteJson_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.13_S2KwriteLine_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteJson_string_string_string)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) + syntax S2KlibZModforgeZSubstdZModsrcZModVmMethod ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%Vm_S2KwriteLine_string_string)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , ( #address ( V0_target ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_target ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KactiveFork ( ) => #abiCallData ( "activeFork" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KallowCheatcodes ( V0_account : address ) => #abiCallData ( "allowCheatcodes" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , ( #bool ( V0_condition ) , .TypedArgs ) ) ) ensures #rangeBool ( V0_condition ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , ( #string ( V0_char ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , ( #string ( V0_char ) , ( #bool ( V1_value ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , ( #address ( V0_signer ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KchainId ( V0_newChainId : uint256 ) => #abiCallData ( "chainId" , ( #uint256 ( V0_newChainId ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_newChainId ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KclearMockedCalls ( ) => #abiCallData ( "clearMockedCalls" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , ( #string ( V0_path ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kcoinbase ( V0_newCoinbase : address ) => #abiCallData ( "coinbase" , ( #address ( V0_newCoinbase ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_newCoinbase ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , ( #string ( V0_path ) , ( #bool ( V1_recursive ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_recursive ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateFork ( V0_urlOrAlias : string ) => #abiCallData ( "createFork" , ( #string ( V0_urlOrAlias ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createFork" , ( #string ( V0_urlOrAlias ) , ( #bytes32 ( V1_txHash ) , .TypedArgs ) ) ) ) + ensures #rangeBytes ( 32 , V1_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createFork" , ( #string ( V0_urlOrAlias ) , ( #uint256 ( V1_blockNumber ) , .TypedArgs ) ) ) ) + ensures #rangeUInt ( 256 , V1_blockNumber ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateSelectFork ( V0_urlOrAlias : string ) => #abiCallData ( "createSelectFork" , ( #string ( V0_urlOrAlias ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_txHash : bytes32 ) => #abiCallData ( "createSelectFork" , ( #string ( V0_urlOrAlias ) , ( #bytes32 ( V1_txHash ) , .TypedArgs ) ) ) ) + ensures #rangeBytes ( 32 , V1_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KcreateSelectFork ( V0_urlOrAlias : string , V1_blockNumber : uint256 ) => #abiCallData ( "createSelectFork" , ( #string ( V0_urlOrAlias ) , ( #uint256 ( V1_blockNumber ) , .TypedArgs ) ) ) ) + ensures #rangeUInt ( 256 , V1_blockNumber ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kdeal ( V0_account : address , V1_newBalance : uint256 ) => #abiCallData ( "deal" , ( #address ( V0_account ) , ( #uint256 ( V1_newBalance ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_account ) + andBool ( #rangeUInt ( 256 , V1_newBalance ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , ( #string ( V0_mnemonic ) , ( #string ( V1_derivationPath ) , ( #uint32 ( V2_index ) , .TypedArgs ) ) ) ) ) ensures #rangeUInt ( 32 , V2_index ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , ( #string ( V0_mnemonic ) , ( #uint32 ( V1_index ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 32 , V1_index ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kdifficulty ( V0_newDifficulty : uint256 ) => #abiCallData ( "difficulty" , ( #uint256 ( V0_newDifficulty ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_newDifficulty ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #address ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeAddress ( V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #bool ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #bytes ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeBytes ( 32 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #int256 ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeSInt ( 256 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_defaultValue ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #address ( V2_defaultValue_0 ) , 2 , ( #address ( V2_defaultValue_0 ) , ( #address ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V2_defaultValue_0 ) andBool ( #rangeAddress ( V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBool ( V2_defaultValue_0 ) - andBool ( #rangeBool ( V2_defaultValue_1 ) - )) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #bool ( V2_defaultValue_0 ) , 2 , ( #bool ( V2_defaultValue_0 ) , ( #bool ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeBool ( V2_defaultValue_0 ) + andBool ( #rangeBool ( V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , ( #bytes32 ( V2_defaultValue_0 ) , ( #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) + andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #bytes ( V2_defaultValue_0 ) , 2 , ( #bytes ( V2_defaultValue_0 ) , ( #bytes ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #int256 ( V2_defaultValue_0 ) , 2 , ( #int256 ( V2_defaultValue_0 ) , ( #int256 ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #string ( V2_defaultValue_0 ) , 2 , ( #string ( V2_defaultValue_0 ) , ( #string ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #uint256 ( V2_defaultValue_0 ) , 2 , ( #uint256 ( V2_defaultValue_0 ) , ( #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) + andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #uint256 ( V1_defaultValue ) , .TypedArgs ) ) ) ) + ensures #rangeUInt ( 256 , V1_defaultValue ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , ( #string ( V0_name ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , ( #string ( V0_name ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ketch ( V0_target : address , V1_newRuntimeBytecode : bytes ) => #abiCallData ( "etch" , ( #address ( V0_target ) , ( #bytes ( V1_newRuntimeBytecode ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_newRuntimeBytecode ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_data : bytes ) => #abiCallData ( "expectCall" , ( #address ( V0_callee ) , ( #bytes ( V1_data ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_data : bytes , V2_count : uint64 ) => #abiCallData ( "expectCall" , ( #address ( V0_callee ) , ( #bytes ( V1_data ) , ( #uint64 ( V2_count ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + andBool ( #rangeUInt ( 64 , V2_count ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes ) => #abiCallData ( "expectCall" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #bytes ( V2_data ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_count : uint64 ) => #abiCallData ( "expectCall" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #bytes ( V2_data ) , ( #uint64 ( V3_count ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + andBool ( #rangeUInt ( 64 , V3_count ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCall" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #uint64 ( V2_gas ) , ( #bytes ( V3_data ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_gas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCall ( V0_callee : address , V1_msgValue : uint256 , V2_gas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCall" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #uint64 ( V2_gas ) , ( #bytes ( V3_data ) , ( #uint64 ( V4_count ) , .TypedArgs ) ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_gas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + andBool ( #rangeUInt ( 64 , V4_count ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes ) => #abiCallData ( "expectCallMinGas" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #uint64 ( V2_minGas ) , ( #bytes ( V3_data ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_minGas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectCallMinGas ( V0_callee : address , V1_msgValue : uint256 , V2_minGas : uint64 , V3_data : bytes , V4_count : uint64 ) => #abiCallData ( "expectCallMinGas" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #uint64 ( V2_minGas ) , ( #bytes ( V3_data ) , ( #uint64 ( V4_count ) , .TypedArgs ) ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , V2_minGas ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_data ) ) + andBool ( #rangeUInt ( 64 , V4_count ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( ) => #abiCallData ( "expectEmit" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( V0_emitter : address ) => #abiCallData ( "expectEmit" , ( #address ( V0_emitter ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_emitter ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool ) => #abiCallData ( "expectEmit" , ( #bool ( V0_checkTopic1 ) , ( #bool ( V1_checkTopic2 ) , ( #bool ( V2_checkTopic3 ) , ( #bool ( V3_checkData ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeBool ( V0_checkTopic1 ) + andBool ( #rangeBool ( V1_checkTopic2 ) + andBool ( #rangeBool ( V2_checkTopic3 ) + andBool ( #rangeBool ( V3_checkData ) + )))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectEmit ( V0_checkTopic1 : bool , V1_checkTopic2 : bool , V2_checkTopic3 : bool , V3_checkData : bool , V4_emitter : address ) => #abiCallData ( "expectEmit" , ( #bool ( V0_checkTopic1 ) , ( #bool ( V1_checkTopic2 ) , ( #bool ( V2_checkTopic3 ) , ( #bool ( V3_checkData ) , ( #address ( V4_emitter ) , .TypedArgs ) ) ) ) ) ) ) + ensures ( #rangeBool ( V0_checkTopic1 ) + andBool ( #rangeBool ( V1_checkTopic2 ) + andBool ( #rangeBool ( V2_checkTopic3 ) + andBool ( #rangeBool ( V3_checkData ) + andBool ( #rangeAddress ( V4_emitter ) + ))))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectRevert ( ) => #abiCallData ( "expectRevert" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectRevert ( V0_revertData : bytes ) => #abiCallData ( "expectRevert" , ( #bytes ( V0_revertData ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 64 , lengthBytes ( V0_revertData ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectRevert ( V0_revertData : bytes4 ) => #abiCallData ( "expectRevert" , ( #bytes4 ( V0_revertData ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 4 , V0_revertData ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectSafeMemory ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemory" , ( #uint64 ( V0_min ) , ( #uint64 ( V1_max ) , .TypedArgs ) ) ) ) + ensures ( #rangeUInt ( 64 , V0_min ) + andBool ( #rangeUInt ( 64 , V1_max ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KexpectSafeMemoryCall ( V0_min : uint64 , V1_max : uint64 ) => #abiCallData ( "expectSafeMemoryCall" , ( #uint64 ( V0_min ) , ( #uint64 ( V1_max ) , .TypedArgs ) ) ) ) + ensures ( #rangeUInt ( 64 , V0_min ) + andBool ( #rangeUInt ( 64 , V1_max ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kfee ( V0_newBasefee : uint256 ) => #abiCallData ( "fee" , ( #uint256 ( V0_newBasefee ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_newBasefee ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , ( #array ( #string ( V0_commandInput_0 ) , 2 , ( #string ( V0_commandInput_0 ) , ( #string ( V0_commandInput_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , ( #string ( V0_path ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , ( #string ( V0_artifactPath ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , ( #string ( V0_artifactPath ) , .TypedArgs ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KisPersistent ( V0_account : address ) => #abiCallData ( "isPersistent" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , ( #address ( V0_account ) , ( #string ( V1_newLabel ) , .TypedArgs ) ) ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , ( #address ( V0_target ) , ( #bytes32 ( V1_slot ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeBytes ( 32 , V1_slot ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_account : address ) => #abiCallData ( "makePersistent" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_account0 : address , V1_account1 : address ) => #abiCallData ( "makePersistent" , ( #address ( V0_account0 ) , ( #address ( V1_account1 ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_account0 ) + andBool ( #rangeAddress ( V1_account1 ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_account0 : address , V1_account1 : address , V2_account2 : address ) => #abiCallData ( "makePersistent" , ( #address ( V0_account0 ) , ( #address ( V1_account1 ) , ( #address ( V2_account2 ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeAddress ( V0_account0 ) + andBool ( #rangeAddress ( V1_account1 ) + andBool ( #rangeAddress ( V2_account2 ) + ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) - andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmakePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "makePersistent" , ( #array ( #address ( V0_accounts_0 ) , 2 , ( #address ( V0_accounts_0 ) , ( #address ( V0_accounts_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) + ensures ( #rangeAddress ( V0_accounts_0 ) + andBool ( #rangeAddress ( V0_accounts_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) - andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) - )) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCall ( V0_callee : address , V1_data : bytes , V2_returnData : bytes ) => #abiCallData ( "mockCall" , ( #address ( V0_callee ) , ( #bytes ( V1_data ) , ( #bytes ( V2_returnData ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_returnData ) ) + ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) - )) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCall ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_returnData : bytes ) => #abiCallData ( "mockCall" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #bytes ( V2_data ) , ( #bytes ( V3_returnData ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_returnData ) ) + )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCallRevert ( V0_callee : address , V1_data : bytes , V2_revertData : bytes ) => #abiCallData ( "mockCallRevert" , ( #address ( V0_callee ) , ( #bytes ( V1_data ) , ( #bytes ( V2_revertData ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V1_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_revertData ) ) + ))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) - andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) - )) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KmockCallRevert ( V0_callee : address , V1_msgValue : uint256 , V2_data : bytes , V3_revertData : bytes ) => #abiCallData ( "mockCallRevert" , ( #address ( V0_callee ) , ( #uint256 ( V1_msgValue ) , ( #bytes ( V2_data ) , ( #bytes ( V3_revertData ) , .TypedArgs ) ) ) ) ) ) + ensures ( #rangeAddress ( V0_callee ) + andBool ( #rangeUInt ( 256 , V1_msgValue ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V2_data ) ) + andBool ( #rangeUInt ( 64 , lengthBytes ( V3_revertData ) ) + )))) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V1_defaultValue ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , ( #string ( V0_json ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , ( #string ( V0_json ) , ( #string ( V1_key ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) - ensures #rangeAddress ( V0_account ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) - ensures ( #rangeAddress ( V0_target ) - andBool ( #rangeBytes ( 32 , V1_slot ) - )) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kprank ( V0_msgSender : address ) => #abiCallData ( "prank" , ( #address ( V0_msgSender ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_msgSender ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kprank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "prank" , ( #address ( V0_msgSender ) , ( #address ( V1_txOrigin ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_msgSender ) + andBool ( #rangeAddress ( V1_txOrigin ) + )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kprevrandao ( V0_newPrevrandao : bytes32 ) => #abiCallData ( "prevrandao" , ( #bytes32 ( V0_newPrevrandao ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 32 , V0_newPrevrandao ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadCallers ( ) => #abiCallData ( "readCallers" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , ( #string ( V0_path ) , ( #uint64 ( V1_maxDepth ) , .TypedArgs ) ) ) ) + ensures #rangeUInt ( 64 , V1_maxDepth ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , ( #string ( V0_path ) , ( #uint64 ( V1_maxDepth ) , ( #bool ( V2_followLinks ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeUInt ( 64 , V1_maxDepth ) + andBool ( #rangeBool ( V2_followLinks ) + )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , ( #string ( V0_linkPath ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , ( #string ( V0_path ) , ( #bool ( V1_recursive ) , .TypedArgs ) ) ) ) + ensures #rangeBool ( V1_recursive ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) - ensures #rangeUInt ( 64 , V1_maxDepth ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) - ensures ( #rangeUInt ( 64 , V1_maxDepth ) - andBool ( #rangeBool ( V2_followLinks ) - )) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KresetNonce ( V0_account : address ) => #abiCallData ( "resetNonce" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrevertTo ( V0_snapshotId : uint256 ) => #abiCallData ( "revertTo" , ( #uint256 ( V0_snapshotId ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_snapshotId ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrevokePersistent ( V0_account : address ) => #abiCallData ( "revokePersistent" , ( #address ( V0_account ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrevokePersistent ( V0_accounts_0 : address , V0_accounts_1 : address ) => #abiCallData ( "revokePersistent" , ( #array ( #address ( V0_accounts_0 ) , 2 , ( #address ( V0_accounts_0 ) , ( #address ( V0_accounts_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) + ensures ( #rangeAddress ( V0_accounts_0 ) + andBool ( #rangeAddress ( V0_accounts_1 ) + )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kroll ( V0_newHeight : uint256 ) => #abiCallData ( "roll" , ( #uint256 ( V0_newHeight ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_newHeight ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_txHash : bytes32 ) => #abiCallData ( "rollFork" , ( #bytes32 ( V0_txHash ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 32 , V0_txHash ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) - ensures #rangeUInt ( 256 , V0_privateKey ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_blockNumber : uint256 ) => #abiCallData ( "rollFork" , ( #uint256 ( V0_blockNumber ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_blockNumber ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) - ensures #rangeBool ( V1_recursive ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "rollFork" , ( #uint256 ( V0_forkId ) , ( #bytes32 ( V1_txHash ) , .TypedArgs ) ) ) ) + ensures ( #rangeUInt ( 256 , V0_forkId ) + andBool ( #rangeBytes ( 32 , V1_txHash ) + )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrollFork ( V0_forkId : uint256 , V1_blockNumber : uint256 ) => #abiCallData ( "rollFork" , ( #uint256 ( V0_forkId ) , ( #uint256 ( V1_blockNumber ) , .TypedArgs ) ) ) ) + ensures ( #rangeUInt ( 256 , V0_forkId ) + andBool ( #rangeUInt ( 256 , V1_blockNumber ) + )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , ( #string ( V0_rpcAlias ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KselectFork ( V0_forkId : uint256 ) => #abiCallData ( "selectFork" , ( #uint256 ( V0_forkId ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_forkId ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #address ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeAddress ( V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #address ( V2_values_0 ) , 2 , ( #address ( V2_values_0 ) , ( #address ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V2_values_0 ) andBool ( #rangeAddress ( V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #bool ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeBool ( V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #bool ( V2_values_0 ) , 2 , ( #bool ( V2_values_0 ) , ( #bool ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeBool ( V2_values_0 ) andBool ( #rangeBool ( V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #bytes ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #bytes ( V2_values_0 ) , 2 , ( #bytes ( V2_values_0 ) , ( #bytes ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #bytes32 ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeBytes ( 32 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #bytes32 ( V2_values_0 ) , 2 , ( #bytes32 ( V2_values_0 ) , ( #bytes32 ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeBytes ( 32 , V2_values_0 ) andBool ( #rangeBytes ( 32 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #int256 ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeSInt ( 256 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #int256 ( V2_values_0 ) , 2 , ( #int256 ( V2_values_0 ) , ( #int256 ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeSInt ( 256 , V2_values_0 ) andBool ( #rangeSInt ( 256 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #string ( V2_value ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #string ( V2_values_0 ) , 2 , ( #string ( V2_values_0 ) , ( #string ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #uint256 ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeUInt ( 256 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #uint256 ( V2_values_0 ) , 2 , ( #uint256 ( V2_values_0 ) , ( #uint256 ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 256 , V2_values_0 ) andBool ( #rangeUInt ( 256 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , ( #string ( V0_name ) , ( #string ( V1_value ) , .TypedArgs ) ) ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KsetNonce ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonce" , ( #address ( V0_account ) , ( #uint64 ( V1_newNonce ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_account ) + andBool ( #rangeUInt ( 64 , V1_newNonce ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KsetNonceUnsafe ( V0_account : address , V1_newNonce : uint64 ) => #abiCallData ( "setNonceUnsafe" , ( #address ( V0_account ) , ( #uint64 ( V1_newNonce ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_account ) + andBool ( #rangeUInt ( 64 , V1_newNonce ) + )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , ( #uint256 ( V0_privateKey ) , ( #bytes32 ( V1_digest ) , .TypedArgs ) ) ) ) ensures ( #rangeUInt ( 256 , V0_privateKey ) andBool ( #rangeBytes ( 32 , V1_digest ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kskip ( V0_skipTest : bool ) => #abiCallData ( "skip" , ( #bool ( V0_skipTest ) , .TypedArgs ) ) ) + ensures #rangeBool ( V0_skipTest ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ksnapshot ( ) => #abiCallData ( "snapshot" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , ( #address ( V0_signer ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartPrank ( V0_msgSender : address ) => #abiCallData ( "startPrank" , ( #address ( V0_msgSender ) , .TypedArgs ) ) ) + ensures #rangeAddress ( V0_msgSender ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstartPrank ( V0_msgSender : address , V1_txOrigin : address ) => #abiCallData ( "startPrank" , ( #address ( V0_msgSender ) , ( #address ( V1_txOrigin ) , .TypedArgs ) ) ) ) + ensures ( #rangeAddress ( V0_msgSender ) + andBool ( #rangeAddress ( V1_txOrigin ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KstopPrank ( ) => #abiCallData ( "stopPrank" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kstore ( V0_target : address , V1_slot : bytes32 , V2_value : bytes32 ) => #abiCallData ( "store" , ( #address ( V0_target ) , ( #bytes32 ( V1_slot ) , ( #bytes32 ( V2_value ) , .TypedArgs ) ) ) ) ) + ensures ( #rangeAddress ( V0_target ) + andBool ( #rangeBytes ( 32 , V1_slot ) + andBool ( #rangeBytes ( 32 , V2_value ) + ))) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , ( #address ( V0_value ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , ( #bool ( V0_value ) , .TypedArgs ) ) ) ensures #rangeBool ( V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , ( #bytes ( V0_value ) , .TypedArgs ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , ( #bytes32 ( V0_value ) , .TypedArgs ) ) ) ensures #rangeBytes ( 32 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , ( #int256 ( V0_value ) , .TypedArgs ) ) ) ensures #rangeSInt ( 256 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , ( #uint256 ( V0_value ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ktransact ( V0_txHash : bytes32 ) => #abiCallData ( "transact" , ( #bytes32 ( V0_txHash ) , .TypedArgs ) ) ) + ensures #rangeBytes ( 32 , V0_txHash ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Ktransact ( V0_forkId : uint256 , V1_txHash : bytes32 ) => #abiCallData ( "transact" , ( #uint256 ( V0_forkId ) , ( #bytes32 ( V1_txHash ) , .TypedArgs ) ) ) ) + ensures ( #rangeUInt ( 256 , V0_forkId ) + andBool ( #rangeBytes ( 32 , V1_txHash ) + )) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KtxGasPrice ( V0_newGasPrice : uint256 ) => #abiCallData ( "txGasPrice" , ( #uint256 ( V0_newGasPrice ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_newGasPrice ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2Kwarp ( V0_newTimestamp : uint256 ) => #abiCallData ( "warp" , ( #uint256 ( V0_newTimestamp ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_newTimestamp ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , ( #string ( V0_path ) , ( #string ( V1_data ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , ( #string ( V0_path ) , ( #bytes ( V1_data ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , ( #string ( V0_json ) , ( #string ( V1_path ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , ( #string ( V0_json ) , ( #string ( V1_path ) , ( #string ( V2_valueKey ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVm . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , ( #string ( V0_path ) , ( #string ( V1_data ) , .TypedArgs ) ) ) ) rule ( selector ( "accesses(address)" ) => 1706857601 ) + rule ( selector ( "activeFork()" ) => 789593890 ) + + rule ( selector ( "addr(uint256)" ) => 4288775753 ) + rule ( selector ( "allowCheatcodes(address)" ) => 3926262417 ) + + rule ( selector ( "assume(bool)" ) => 1281615202 ) @@ -21372,18 +17676,51 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "broadcast(uint256)" ) => 4135229019 ) + rule ( selector ( "chainId(uint256)" ) => 1078582738 ) + + + rule ( selector ( "clearMockedCalls()" ) => 1071599125 ) + + rule ( selector ( "closeFile(string)" ) => 1220748319 ) + rule ( selector ( "coinbase(address)" ) => 4282924116 ) + + rule ( selector ( "createDir(string,bool)" ) => 378234067 ) + rule ( selector ( "createFork(string)" ) => 834286744 ) + + + rule ( selector ( "createFork(string,bytes32)" ) => 2091030146 ) + + + rule ( selector ( "createFork(string,uint256)" ) => 1805892139 ) + + + rule ( selector ( "createSelectFork(string)" ) => 2556952628 ) + + + rule ( selector ( "createSelectFork(string,bytes32)" ) => 2228562810 ) + + + rule ( selector ( "createSelectFork(string,uint256)" ) => 1911440973 ) + + + rule ( selector ( "deal(address,uint256)" ) => 3364511341 ) + + rule ( selector ( "deriveKey(string,string,uint32)" ) => 1808477211 ) rule ( selector ( "deriveKey(string,uint32)" ) => 1646872971 ) + rule ( selector ( "difficulty(uint256)" ) => 1187812057 ) + + rule ( selector ( "envAddress(string)" ) => 890066623 ) @@ -21468,6 +17805,63 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "envUint(string,string)" ) => 4091461785 ) + rule ( selector ( "etch(address,bytes)" ) => 3033974658 ) + + + rule ( selector ( "expectCall(address,bytes)" ) => 3177903156 ) + + + rule ( selector ( "expectCall(address,bytes,uint64)" ) => 3249388543 ) + + + rule ( selector ( "expectCall(address,uint256,bytes)" ) => 4077681571 ) + + + rule ( selector ( "expectCall(address,uint256,bytes,uint64)" ) => 2729550254 ) + + + rule ( selector ( "expectCall(address,uint256,uint64,bytes)" ) => 590746119 ) + + + rule ( selector ( "expectCall(address,uint256,uint64,bytes,uint64)" ) => 1706538956 ) + + + rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes)" ) => 149217558 ) + + + rule ( selector ( "expectCallMinGas(address,uint256,uint64,bytes,uint64)" ) => 3778680884 ) + + + rule ( selector ( "expectEmit()" ) => 1141821709 ) + + + rule ( selector ( "expectEmit(address)" ) => 2260296205 ) + + + rule ( selector ( "expectEmit(bool,bool,bool,bool)" ) => 1226622914 ) + + + rule ( selector ( "expectEmit(bool,bool,bool,bool,address)" ) => 2176505587 ) + + + rule ( selector ( "expectRevert()" ) => 4102309908 ) + + + rule ( selector ( "expectRevert(bytes)" ) => 4069379763 ) + + + rule ( selector ( "expectRevert(bytes4)" ) => 3273568480 ) + + + rule ( selector ( "expectSafeMemory(uint64,uint64)" ) => 1828808328 ) + + + rule ( selector ( "expectSafeMemoryCall(uint64,uint64)" ) => 92507124 ) + + + rule ( selector ( "fee(uint256)" ) => 968063664 ) + + rule ( selector ( "ffi(string[])" ) => 2299921511 ) @@ -21489,12 +17883,39 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "getRecordedLogs()" ) => 420828068 ) + rule ( selector ( "isPersistent(address)" ) => 3643641597 ) + + rule ( selector ( "label(address,string)" ) => 3327641368 ) rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) + rule ( selector ( "makePersistent(address)" ) => 1474440670 ) + + + rule ( selector ( "makePersistent(address,address)" ) => 1081401512 ) + + + rule ( selector ( "makePersistent(address,address,address)" ) => 4021779061 ) + + + rule ( selector ( "makePersistent(address[])" ) => 496903838 ) + + + rule ( selector ( "mockCall(address,bytes,bytes)" ) => 3110212580 ) + + + rule ( selector ( "mockCall(address,uint256,bytes,bytes)" ) => 2168494993 ) + + + rule ( selector ( "mockCallRevert(address,bytes,bytes)" ) => 3685404999 ) + + + rule ( selector ( "mockCallRevert(address,uint256,bytes,bytes)" ) => 3527200823 ) + + rule ( selector ( "parseAddress(string)" ) => 3335390621 ) @@ -21558,15 +17979,27 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "parseJsonUintArray(string,string)" ) => 1377858731 ) - rule ( selector ( "parseUint(string)" ) => 4203824461 ) + rule ( selector ( "parseUint(string)" ) => 4203824461 ) + + + rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) + + + rule ( selector ( "prank(address)" ) => 3395723175 ) + + + rule ( selector ( "prank(address,address)" ) => 1206193358 ) - rule ( selector ( "pauseGasMetering()" ) => 3517297519 ) + rule ( selector ( "prevrandao(bytes32)" ) => 999445833 ) rule ( selector ( "projectRoot()" ) => 3643842790 ) + rule ( selector ( "readCallers()" ) => 1255193289 ) + + rule ( selector ( "readDir(string)" ) => 3300678112 ) @@ -21603,9 +18036,36 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "removeFile(string)" ) => 4054835277 ) + rule ( selector ( "resetNonce(address)" ) => 477246573 ) + + rule ( selector ( "resumeGasMetering()" ) => 734875872 ) + rule ( selector ( "revertTo(uint256)" ) => 1155002532 ) + + + rule ( selector ( "revokePersistent(address)" ) => 2574909986 ) + + + rule ( selector ( "revokePersistent(address[])" ) => 1021929958 ) + + + rule ( selector ( "roll(uint256)" ) => 528174896 ) + + + rule ( selector ( "rollFork(bytes32)" ) => 254375723 ) + + + rule ( selector ( "rollFork(uint256)" ) => 3652973473 ) + + + rule ( selector ( "rollFork(uint256,bytes32)" ) => 4068675451 ) + + + rule ( selector ( "rollFork(uint256,uint256)" ) => 3612115876 ) + + rule ( selector ( "rpcUrl(string)" ) => 2539285737 ) @@ -21615,6 +18075,9 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "rpcUrls()" ) => 2824504344 ) + rule ( selector ( "selectFork(uint256)" ) => 2663344167 ) + + rule ( selector ( "serializeAddress(string,string,address)" ) => 2536267874 ) @@ -21660,9 +18123,21 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "setEnv(string,string)" ) => 1029252078 ) + rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) + + + rule ( selector ( "setNonceUnsafe(address,uint64)" ) => 2607264284 ) + + rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + rule ( selector ( "skip(bool)" ) => 3716337982 ) + + + rule ( selector ( "snapshot()" ) => 2534502746 ) + + rule ( selector ( "startBroadcast()" ) => 2142579071 ) @@ -21672,9 +18147,21 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "startBroadcast(uint256)" ) => 3464592711 ) + rule ( selector ( "startPrank(address)" ) => 105151830 ) + + + rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) + + rule ( selector ( "stopBroadcast()" ) => 1995103542 ) + rule ( selector ( "stopPrank()" ) => 2428830011 ) + + + rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) + + rule ( selector ( "toString(address)" ) => 1456103998 ) @@ -21693,6 +18180,18 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT rule ( selector ( "toString(uint256)" ) => 1761649582 ) + rule ( selector ( "transact(bytes32)" ) => 3194252705 ) + + + rule ( selector ( "transact(uint256,bytes32)" ) => 1300937803 ) + + + rule ( selector ( "txGasPrice(uint256)" ) => 1224018959 ) + + + rule ( selector ( "warp(uint256)" ) => 3856056066 ) + + rule ( selector ( "writeFile(string,string)" ) => 2306738839 ) @@ -21710,699 +18209,699 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModVmSafe-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeContract - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%VmSafe.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeContract ::= "S2KlibZModforgeZSubstdZModsrcZModVmSafe" [symbol(""), klabel(contract_lib%forge-std%src%VmSafe)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModVmSafe ) => #parseByteStack ( "0x" ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModVmSafeContract "." S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod [function, symbol(""), klabel(method_lib%forge-std%src%VmSafe)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kaccesses_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kaccesses" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kaccesses_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kaddr_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kaddr" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kaddr_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kassume_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kassume" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kassume_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbreakpoint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbreakpoint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbreakpoint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbreakpoint_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbreakpoint" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbreakpoint_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbroadcast_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbroadcast_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kbroadcast_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kbroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kbroadcast_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KcloseFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KcloseFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KcloseFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KcreateDir_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KcreateDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KcreateDir_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KderiveKey_string_string_uint32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KderiveKey" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KderiveKey_string_string_uint32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KderiveKey_string_uint32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KderiveKey" "(" String ":" "string" "," Int ":" "uint32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KderiveKey_string_uint32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvAddress_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvAddress_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvAddress_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvAddress_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBool_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBool_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBool_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBool_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes32_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes32_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvBytes32_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvBytes32_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvInt_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvInt_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvInt_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvInt_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_bool_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_int256_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_int256_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_string_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_string_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvOr_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvOr" "(" String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvOr_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvString_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvString" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvString_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvString_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvString_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvUint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvUint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KenvUint_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KenvUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KenvUint_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kffi_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kffi" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kffi_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KfsMetadata_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KfsMetadata" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KfsMetadata_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetCode_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetCode_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetDeployedCode_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetDeployedCode" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetDeployedCode_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetLabel_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetLabel" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetLabel_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetNonce_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetNonce" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetNonce_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KgetRecordedLogs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KgetRecordedLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KgetRecordedLogs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Klabel_address_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Klabel" "(" Int ":" "address" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Klabel_address_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Kload_address_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Kload" "(" Int ":" "address" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Kload_address_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseAddress_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseAddress" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseAddress_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseBool_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseBool" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseBool_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseBytes_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseBytes" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseBytes_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseBytes32_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseBytes32" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseBytes32_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseInt_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseInt" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseInt_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJson_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJson" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJson_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJson_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJson_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonAddress_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonAddress" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonAddress_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonAddressArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonAddressArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonAddressArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBool_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBool" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBool_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBoolArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBoolArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBoolArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytes_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytes" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytes_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytes32_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytes32" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytes32_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytes32Array_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytes32Array" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytes32Array_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonBytesArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonBytesArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonBytesArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonInt_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonInt" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonInt_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonIntArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonIntArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonIntArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonString_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonString" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonString_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonStringArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonStringArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonStringArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonUint_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonUint" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonUint_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseJsonUintArray_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseJsonUintArray" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseJsonUintArray_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KparseUint_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KparseUint" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KparseUint_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KpauseGasMetering_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KpauseGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KpauseGasMetering_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KprojectRoot_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KprojectRoot" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KprojectRoot_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadDir_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadDir" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadDir_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadDir_string_uint64)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadDir_string_uint64)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadDir_string_uint64_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadDir" "(" String ":" "string" "," Int ":" "uint64" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadDir_string_uint64_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadFileBinary_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadFileBinary" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadFileBinary_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadLine_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadLine" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadLine_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KreadLink_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KreadLink" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KreadLink_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Krecord_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Krecord" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Krecord_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrecordLogs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrecordLogs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrecordLogs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrememberKey_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrememberKey" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrememberKey_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KremoveDir_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KremoveDir" "(" String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KremoveDir_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KremoveFile_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KremoveFile" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KremoveFile_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KresumeGasMetering_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KresumeGasMetering" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KresumeGasMetering_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrpcUrl_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrpcUrl" "(" String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrpcUrl_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrpcUrlStructs_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrpcUrlStructs" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrpcUrlStructs_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KrpcUrls_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KrpcUrls" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KrpcUrls_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeAddress_string_string_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeAddress_string_string_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeAddress_string_string_address_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeAddress" "(" String ":" "string" "," String ":" "string" "," Int ":" "address" "," Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeAddress_string_string_address_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBool_string_string_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBool_string_string_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBool_string_string_bool_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBool" "(" String ":" "string" "," String ":" "string" "," Int ":" "bool" "," Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBool_string_string_bool_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes_string_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes_string_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes_string_string_bytes_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes" "(" String ":" "string" "," String ":" "string" "," Bytes ":" "bytes" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes_string_string_bytes_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes32_string_string_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes32_string_string_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeBytes32_string_string_bytes32_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeBytes32" "(" String ":" "string" "," String ":" "string" "," Int ":" "bytes32" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeBytes32_string_string_bytes32_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeInt_string_string_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeInt_string_string_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeInt_string_string_int256_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeInt" "(" String ":" "string" "," String ":" "string" "," Int ":" "int256" "," Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeInt_string_string_int256_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeString_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeString_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeString_string_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeString" "(" String ":" "string" "," String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeString_string_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeUint_string_string_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeUint_string_string_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KserializeUint_string_string_uint256_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KserializeUint" "(" String ":" "string" "," String ":" "string" "," Int ":" "uint256" "," Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KserializeUint_string_string_uint256_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KsetEnv_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KsetEnv" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KsetEnv_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2Ksign_uint256_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2Ksign" "(" Int ":" "uint256" "," Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2Ksign_uint256_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstartBroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstartBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstartBroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstartBroadcast_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstartBroadcast" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstartBroadcast_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstartBroadcast_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstartBroadcast" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstartBroadcast_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KstopBroadcast_)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KstopBroadcast" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KstopBroadcast_)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_address)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "address" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_address)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_bool)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "bool" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_bool)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_bytes32)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "bytes32" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_bytes32)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_int256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "int256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_int256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KtoString_uint256)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KtoString" "(" Int ":" "uint256" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KtoString_uint256)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteFile_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteFile" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteFile_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteFileBinary_string_bytes)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteFileBinary" "(" String ":" "string" "," Bytes ":" "bytes" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteFileBinary_string_bytes)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteJson_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteJson_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteJson_string_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteJson" "(" String ":" "string" "," String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteJson_string_string_string)] - syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15Method ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe.0.8.15_S2KwriteLine_string_string)] + syntax S2KlibZModforgeZSubstdZModsrcZModVmSafeMethod ::= "S2KwriteLine" "(" String ":" "string" "," String ":" "string" ")" [symbol(""), klabel(method_lib%forge-std%src%VmSafe_S2KwriteLine_string_string)] - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , #address ( V0_target ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kaccesses ( V0_target : address ) => #abiCallData ( "accesses" , ( #address ( V0_target ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_target ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kaddr ( V0_privateKey : uint256 ) => #abiCallData ( "addr" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , #bool ( V0_condition ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kassume ( V0_condition : bool ) => #abiCallData ( "assume" , ( #bool ( V0_condition ) , .TypedArgs ) ) ) ensures #rangeBool ( V0_condition ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbreakpoint ( V0_char : string ) => #abiCallData ( "breakpoint" , ( #string ( V0_char ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , #string ( V0_char ) , #bool ( V1_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbreakpoint ( V0_char : string , V1_value : bool ) => #abiCallData ( "breakpoint" , ( #string ( V0_char ) , ( #bool ( V1_value ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbroadcast ( ) => #abiCallData ( "broadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , #address ( V0_signer ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbroadcast ( V0_signer : address ) => #abiCallData ( "broadcast" , ( #address ( V0_signer ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kbroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "broadcast" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KcloseFile ( V0_path : string ) => #abiCallData ( "closeFile" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KcreateDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "createDir" , ( #string ( V0_path ) , ( #bool ( V1_recursive ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_recursive ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #string ( V1_derivationPath ) , #uint32 ( V2_index ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KderiveKey ( V0_mnemonic : string , V1_derivationPath : string , V2_index : uint32 ) => #abiCallData ( "deriveKey" , ( #string ( V0_mnemonic ) , ( #string ( V1_derivationPath ) , ( #uint32 ( V2_index ) , .TypedArgs ) ) ) ) ) ensures #rangeUInt ( 32 , V2_index ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , #string ( V0_mnemonic ) , #uint32 ( V1_index ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KderiveKey ( V0_mnemonic : string , V1_index : uint32 ) => #abiCallData ( "deriveKey" , ( #string ( V0_mnemonic ) , ( #uint32 ( V1_index ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 32 , V1_index ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvAddress ( V0_name : string ) => #abiCallData ( "envAddress" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvAddress ( V0_name : string , V1_delim : string ) => #abiCallData ( "envAddress" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBool ( V0_name : string ) => #abiCallData ( "envBool" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBool ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBool" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes ( V0_name : string ) => #abiCallData ( "envBytes" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes32 ( V0_name : string ) => #abiCallData ( "envBytes32" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvBytes32 ( V0_name : string , V1_delim : string ) => #abiCallData ( "envBytes32" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvInt ( V0_name : string ) => #abiCallData ( "envInt" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvInt ( V0_name : string , V1_delim : string ) => #abiCallData ( "envInt" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #address ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : address ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #address ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeAddress ( V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bool ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : bool ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #bool ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : bytes ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #bytes ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V1_defaultValue ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : bytes32 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #bytes32 ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeBytes ( 32 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #int256 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : int256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #int256 ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeSInt ( 256 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : string ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_defaultValue ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #address ( V2_defaultValue_0 ) , 2 , #address ( V2_defaultValue_0 ) , #address ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : address , V2_defaultValue_1 : address ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #address ( V2_defaultValue_0 ) , 2 , ( #address ( V2_defaultValue_0 ) , ( #address ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V2_defaultValue_0 ) andBool ( #rangeAddress ( V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bool ( V2_defaultValue_0 ) , 2 , #bool ( V2_defaultValue_0 ) , #bool ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bool , V2_defaultValue_1 : bool ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #bool ( V2_defaultValue_0 ) , 2 , ( #bool ( V2_defaultValue_0 ) , ( #bool ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeBool ( V2_defaultValue_0 ) andBool ( #rangeBool ( V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , #bytes32 ( V2_defaultValue_0 ) , #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes32 , V2_defaultValue_1 : bytes32 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #bytes32 ( V2_defaultValue_0 ) , 2 , ( #bytes32 ( V2_defaultValue_0 ) , ( #bytes32 ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeBytes ( 32 , V2_defaultValue_0 ) andBool ( #rangeBytes ( 32 , V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #bytes ( V2_defaultValue_0 ) , 2 , #bytes ( V2_defaultValue_0 ) , #bytes ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : bytes , V2_defaultValue_1 : bytes ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #bytes ( V2_defaultValue_0 ) , 2 , ( #bytes ( V2_defaultValue_0 ) , ( #bytes ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_0 ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_defaultValue_1 ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #int256 ( V2_defaultValue_0 ) , 2 , #int256 ( V2_defaultValue_0 ) , #int256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : int256 , V2_defaultValue_1 : int256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #int256 ( V2_defaultValue_0 ) , 2 , ( #int256 ( V2_defaultValue_0 ) , ( #int256 ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeSInt ( 256 , V2_defaultValue_0 ) andBool ( #rangeSInt ( 256 , V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #string ( V2_defaultValue_0 ) , 2 , #string ( V2_defaultValue_0 ) , #string ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : string , V2_defaultValue_1 : string ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #string ( V2_defaultValue_0 ) , 2 , ( #string ( V2_defaultValue_0 ) , ( #string ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #string ( V1_delim ) , #array ( #uint256 ( V2_defaultValue_0 ) , 2 , #uint256 ( V2_defaultValue_0 ) , #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_delim : string , V2_defaultValue_0 : uint256 , V2_defaultValue_1 : uint256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #string ( V1_delim ) , ( #array ( #uint256 ( V2_defaultValue_0 ) , 2 , ( #uint256 ( V2_defaultValue_0 ) , ( #uint256 ( V2_defaultValue_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 256 , V2_defaultValue_0 ) andBool ( #rangeUInt ( 256 , V2_defaultValue_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , #string ( V0_name ) , #uint256 ( V1_defaultValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvOr ( V0_name : string , V1_defaultValue : uint256 ) => #abiCallData ( "envOr" , ( #string ( V0_name ) , ( #uint256 ( V1_defaultValue ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 256 , V1_defaultValue ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvString ( V0_name : string ) => #abiCallData ( "envString" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvString ( V0_name : string , V1_delim : string ) => #abiCallData ( "envString" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvUint ( V0_name : string ) => #abiCallData ( "envUint" , ( #string ( V0_name ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , #string ( V0_name ) , #string ( V1_delim ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KenvUint ( V0_name : string , V1_delim : string ) => #abiCallData ( "envUint" , ( #string ( V0_name ) , ( #string ( V1_delim ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , #array ( #string ( V0_commandInput_0 ) , 2 , #string ( V0_commandInput_0 ) , #string ( V0_commandInput_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kffi ( V0_commandInput_0 : string , V0_commandInput_1 : string ) => #abiCallData ( "ffi" , ( #array ( #string ( V0_commandInput_0 ) , 2 , ( #string ( V0_commandInput_0 ) , ( #string ( V0_commandInput_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KfsMetadata ( V0_path : string ) => #abiCallData ( "fsMetadata" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetCode ( V0_artifactPath : string ) => #abiCallData ( "getCode" , ( #string ( V0_artifactPath ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , #string ( V0_artifactPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetDeployedCode ( V0_artifactPath : string ) => #abiCallData ( "getDeployedCode" , ( #string ( V0_artifactPath ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetLabel ( V0_account : address ) => #abiCallData ( "getLabel" , ( #address ( V0_account ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , #address ( V0_account ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetNonce ( V0_account : address ) => #abiCallData ( "getNonce" , ( #address ( V0_account ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KgetRecordedLogs ( ) => #abiCallData ( "getRecordedLogs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , #address ( V0_account ) , #string ( V1_newLabel ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Klabel ( V0_account : address , V1_newLabel : string ) => #abiCallData ( "label" , ( #address ( V0_account ) , ( #string ( V1_newLabel ) , .TypedArgs ) ) ) ) ensures #rangeAddress ( V0_account ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , #address ( V0_target ) , #bytes32 ( V1_slot ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Kload ( V0_target : address , V1_slot : bytes32 ) => #abiCallData ( "load" , ( #address ( V0_target ) , ( #bytes32 ( V1_slot ) , .TypedArgs ) ) ) ) ensures ( #rangeAddress ( V0_target ) andBool ( #rangeBytes ( 32 , V1_slot ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseAddress ( V0_stringifiedValue : string ) => #abiCallData ( "parseAddress" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseBool ( V0_stringifiedValue : string ) => #abiCallData ( "parseBool" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseBytes ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseBytes32 ( V0_stringifiedValue : string ) => #abiCallData ( "parseBytes32" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseInt ( V0_stringifiedValue : string ) => #abiCallData ( "parseInt" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJson ( V0_json : string ) => #abiCallData ( "parseJson" , ( #string ( V0_json ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , #string ( V0_json ) , #string ( V1_key ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJson ( V0_json : string , V1_key : string ) => #abiCallData ( "parseJson" , ( #string ( V0_json ) , ( #string ( V1_key ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonAddress ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddress" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonAddressArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonAddressArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBool ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBool" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBoolArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBoolArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytes ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytes32 ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytes32Array ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytes32Array" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonBytesArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonBytesArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonInt ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonInt" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonIntArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonIntArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonString ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonString" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonStringArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonStringArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonUint ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUint" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , #string ( V0_ ) , #string ( V1_ ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseJsonUintArray ( V0_ : string , V1_ : string ) => #abiCallData ( "parseJsonUintArray" , ( #string ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , #string ( V0_stringifiedValue ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KparseUint ( V0_stringifiedValue : string ) => #abiCallData ( "parseUint" , ( #string ( V0_stringifiedValue ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KpauseGasMetering ( ) => #abiCallData ( "pauseGasMetering" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KprojectRoot ( ) => #abiCallData ( "projectRoot" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadDir ( V0_path : string ) => #abiCallData ( "readDir" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 ) => #abiCallData ( "readDir" , ( #string ( V0_path ) , ( #uint64 ( V1_maxDepth ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 64 , V1_maxDepth ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , #string ( V0_path ) , #uint64 ( V1_maxDepth ) , #bool ( V2_followLinks ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadDir ( V0_path : string , V1_maxDepth : uint64 , V2_followLinks : bool ) => #abiCallData ( "readDir" , ( #string ( V0_path ) , ( #uint64 ( V1_maxDepth ) , ( #bool ( V2_followLinks ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 64 , V1_maxDepth ) andBool ( #rangeBool ( V2_followLinks ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadFile ( V0_path : string ) => #abiCallData ( "readFile" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadFileBinary ( V0_path : string ) => #abiCallData ( "readFileBinary" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadLine ( V0_path : string ) => #abiCallData ( "readLine" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , #string ( V0_linkPath ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KreadLink ( V0_linkPath : string ) => #abiCallData ( "readLink" , ( #string ( V0_linkPath ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Krecord ( ) => #abiCallData ( "record" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrecordLogs ( ) => #abiCallData ( "recordLogs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrememberKey ( V0_privateKey : uint256 ) => #abiCallData ( "rememberKey" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , #string ( V0_path ) , #bool ( V1_recursive ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KremoveDir ( V0_path : string , V1_recursive : bool ) => #abiCallData ( "removeDir" , ( #string ( V0_path ) , ( #bool ( V1_recursive ) , .TypedArgs ) ) ) ) ensures #rangeBool ( V1_recursive ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , #string ( V0_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KremoveFile ( V0_path : string ) => #abiCallData ( "removeFile" , ( #string ( V0_path ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KresumeGasMetering ( ) => #abiCallData ( "resumeGasMetering" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , #string ( V0_rpcAlias ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrpcUrl ( V0_rpcAlias : string ) => #abiCallData ( "rpcUrl" , ( #string ( V0_rpcAlias ) , .TypedArgs ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrpcUrlStructs ( ) => #abiCallData ( "rpcUrlStructs" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KrpcUrls ( ) => #abiCallData ( "rpcUrls" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #address ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_value : address ) => #abiCallData ( "serializeAddress" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #address ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeAddress ( V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #address ( V2_values_0 ) , 2 , #address ( V2_values_0 ) , #address ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeAddress ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : address , V2_values_1 : address ) => #abiCallData ( "serializeAddress" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #address ( V2_values_0 ) , 2 , ( #address ( V2_values_0 ) , ( #address ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeAddress ( V2_values_0 ) andBool ( #rangeAddress ( V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bool ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_value : bool ) => #abiCallData ( "serializeBool" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #bool ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeBool ( V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bool ( V2_values_0 ) , 2 , #bool ( V2_values_0 ) , #bool ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBool ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bool , V2_values_1 : bool ) => #abiCallData ( "serializeBool" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #bool ( V2_values_0 ) , 2 , ( #bool ( V2_values_0 ) , ( #bool ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeBool ( V2_values_0 ) andBool ( #rangeBool ( V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes ) => #abiCallData ( "serializeBytes" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #bytes ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V2_value ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes ( V2_values_0 ) , 2 , #bytes ( V2_values_0 ) , #bytes ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes , V2_values_1 : bytes ) => #abiCallData ( "serializeBytes" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #bytes ( V2_values_0 ) , 2 , ( #bytes ( V2_values_0 ) , ( #bytes ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 64 , lengthBytes ( V2_values_0 ) ) andBool ( #rangeUInt ( 64 , lengthBytes ( V2_values_1 ) ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #bytes32 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_value : bytes32 ) => #abiCallData ( "serializeBytes32" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #bytes32 ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeBytes ( 32 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #bytes32 ( V2_values_0 ) , 2 , #bytes32 ( V2_values_0 ) , #bytes32 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeBytes32 ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : bytes32 , V2_values_1 : bytes32 ) => #abiCallData ( "serializeBytes32" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #bytes32 ( V2_values_0 ) , 2 , ( #bytes32 ( V2_values_0 ) , ( #bytes32 ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeBytes ( 32 , V2_values_0 ) andBool ( #rangeBytes ( 32 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #int256 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_value : int256 ) => #abiCallData ( "serializeInt" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #int256 ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeSInt ( 256 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #int256 ( V2_values_0 ) , 2 , #int256 ( V2_values_0 ) , #int256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeInt ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : int256 , V2_values_1 : int256 ) => #abiCallData ( "serializeInt" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #int256 ( V2_values_0 ) , 2 , ( #int256 ( V2_values_0 ) , ( #int256 ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeSInt ( 256 , V2_values_0 ) andBool ( #rangeSInt ( 256 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #string ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_value : string ) => #abiCallData ( "serializeString" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #string ( V2_value ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #string ( V2_values_0 ) , 2 , #string ( V2_values_0 ) , #string ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeString ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : string , V2_values_1 : string ) => #abiCallData ( "serializeString" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #string ( V2_values_0 ) , 2 , ( #string ( V2_values_0 ) , ( #string ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #uint256 ( V2_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_value : uint256 ) => #abiCallData ( "serializeUint" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #uint256 ( V2_value ) , .TypedArgs ) ) ) ) ) ensures #rangeUInt ( 256 , V2_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , #string ( V0_objectKey ) , #string ( V1_valueKey ) , #array ( #uint256 ( V2_values_0 ) , 2 , #uint256 ( V2_values_0 ) , #uint256 ( V2_values_1 ) , .TypedArgs ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KserializeUint ( V0_objectKey : string , V1_valueKey : string , V2_values_0 : uint256 , V2_values_1 : uint256 ) => #abiCallData ( "serializeUint" , ( #string ( V0_objectKey ) , ( #string ( V1_valueKey ) , ( #array ( #uint256 ( V2_values_0 ) , 2 , ( #uint256 ( V2_values_0 ) , ( #uint256 ( V2_values_1 ) , .TypedArgs ) ) ) , .TypedArgs ) ) ) ) ) ensures ( #rangeUInt ( 256 , V2_values_0 ) andBool ( #rangeUInt ( 256 , V2_values_1 ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , #string ( V0_name ) , #string ( V1_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KsetEnv ( V0_name : string , V1_value : string ) => #abiCallData ( "setEnv" , ( #string ( V0_name ) , ( #string ( V1_value ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , #uint256 ( V0_privateKey ) , #bytes32 ( V1_digest ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2Ksign ( V0_privateKey : uint256 , V1_digest : bytes32 ) => #abiCallData ( "sign" , ( #uint256 ( V0_privateKey ) , ( #bytes32 ( V1_digest ) , .TypedArgs ) ) ) ) ensures ( #rangeUInt ( 256 , V0_privateKey ) andBool ( #rangeBytes ( 32 , V1_digest ) )) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstartBroadcast ( ) => #abiCallData ( "startBroadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , #address ( V0_signer ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstartBroadcast ( V0_signer : address ) => #abiCallData ( "startBroadcast" , ( #address ( V0_signer ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_signer ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , #uint256 ( V0_privateKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstartBroadcast ( V0_privateKey : uint256 ) => #abiCallData ( "startBroadcast" , ( #uint256 ( V0_privateKey ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_privateKey ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KstopBroadcast ( ) => #abiCallData ( "stopBroadcast" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , #address ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : address ) => #abiCallData ( "toString" , ( #address ( V0_value ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , #bool ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : bool ) => #abiCallData ( "toString" , ( #bool ( V0_value ) , .TypedArgs ) ) ) ensures #rangeBool ( V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , #bytes ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : bytes ) => #abiCallData ( "toString" , ( #bytes ( V0_value ) , .TypedArgs ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V0_value ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , #bytes32 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : bytes32 ) => #abiCallData ( "toString" , ( #bytes32 ( V0_value ) , .TypedArgs ) ) ) ensures #rangeBytes ( 32 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , #int256 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : int256 ) => #abiCallData ( "toString" , ( #int256 ( V0_value ) , .TypedArgs ) ) ) ensures #rangeSInt ( 256 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , #uint256 ( V0_value ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KtoString ( V0_value : uint256 ) => #abiCallData ( "toString" , ( #uint256 ( V0_value ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_value ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteFile ( V0_path : string , V1_data : string ) => #abiCallData ( "writeFile" , ( #string ( V0_path ) , ( #string ( V1_data ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , #string ( V0_path ) , #bytes ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteFileBinary ( V0_path : string , V1_data : bytes ) => #abiCallData ( "writeFileBinary" , ( #string ( V0_path ) , ( #bytes ( V1_data ) , .TypedArgs ) ) ) ) ensures #rangeUInt ( 64 , lengthBytes ( V1_data ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteJson ( V0_json : string , V1_path : string ) => #abiCallData ( "writeJson" , ( #string ( V0_json ) , ( #string ( V1_path ) , .TypedArgs ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , #string ( V0_json ) , #string ( V1_path ) , #string ( V2_valueKey ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteJson ( V0_json : string , V1_path : string , V2_valueKey : string ) => #abiCallData ( "writeJson" , ( #string ( V0_json ) , ( #string ( V1_path ) , ( #string ( V2_valueKey ) , .TypedArgs ) ) ) ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15 . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , #string ( V0_path ) , #string ( V1_data ) , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModVmSafe . S2KwriteLine ( V0_path : string , V1_data : string ) => #abiCallData ( "writeLine" , ( #string ( V0_path ) , ( #string ( V1_data ) , .TypedArgs ) ) ) ) rule ( selector ( "accesses(address)" ) => 1706857601 ) @@ -22767,510 +19266,241 @@ module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%console.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122055cb7f21d69d5a68626bed666b69adc58fdc46d700fc111b3a1cc03e01c56ffd64736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%console.0.8.15)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201d25d05e8da19a5a52a88623f169ba7b5f6e46e4aad0bc3c9b81153df6fe05f664736f6c634300080f0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%console2.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220960f8d81933cd5ebe21cd13b3acc336b566f7139bfa3f0613418e5412003e06164736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%console2.0.8.15)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f94436be188e3ea27cfcdf912a1f3a428b921b82abf4286d5cbd9d0ff2f08c0364736f6c634300080f0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%safeconsole.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209a2d4663758ab2478722148cf51761578af92021d18dfb13347d86a29c38717f64736f6c634300080d0033" ) ) - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModconsole-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsoleContract - syntax S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%safeconsole.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModconsoleContract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole" [symbol(""), klabel(contract_lib%forge-std%src%console)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122026e1380d587291c9b302a499255950bc5e48ae3847c723d5a857861c80a483fd64736f6c634300080f0033" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122055cb7f21d69d5a68626bed666b69adc58fdc46d700fc111b3a1cc03e01c56ffd64736f6c634300080d0033" ) ) endmodule -module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModconsole2-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%lib%ds-test%src%DSTest.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102598061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ca565b60408051601f198184030181529082905261012c916101ee565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b50915050808060200190518101906101869190610201565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b818111156101bf576000828601525b509290920192915050565b6001600160e01b03198316815260006101e6600483018461018f565b949350505050565b60006101fa828461018f565b9392505050565b60006020828403121561021357600080fd5b815180151581146101fa57600080fdfea2646970667358221220acd34c7900a0f78b52ca6e76525777d2bb4ff172d44682161ada1b655e2ff2cb64736f6c634300080d0033" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Field - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.13_IS_TEST)] - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.13__failed)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . IS_TEST ) => 0 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . _failed ) => 0 ) - - - syntax Bytes ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.13)] + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModconsole2Contract - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.13_S2KISZUndTEST_)] + syntax S2KlibZModforgeZSubstdZModsrcZModconsole2Contract ::= "S2KlibZModforgeZSubstdZModsrcZModconsole2" [symbol(""), klabel(contract_lib%forge-std%src%console2)] - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.13_S2Kfailed_)] - - rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - - - rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( selector ( "failed()" ) => 3124842406 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModconsole2 ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220960f8d81933cd5ebe21cd13b3acc336b566f7139bfa3f0613418e5412003e06164736f6c634300080d0033" ) ) endmodule -module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModsafeconsole-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Contract - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%lib%ds-test%src%DSTest.0.8.15)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102598061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ca565b60408051601f198184030181529082905261012c916101ee565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b50915050808060200190518101906101869190610201565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b818111156101bf576000828601525b509290920192915050565b6001600160e01b03198316815260006101e6600483018461018f565b949350505050565b60006101fa828461018f565b9392505050565b60006020828403121561021357600080fd5b815180151581146101fa57600080fdfea264697066735822122088d875cadb59210b84c489a34361bfd4f42e88d54985628896053500caa4781464736f6c634300080f0033" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Field - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.15_IS_TEST)] - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest.0.8.15__failed)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . IS_TEST ) => 0 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . _failed ) => 0 ) - - - syntax Bytes ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.15)] - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.15_S2KISZUndTEST_)] - - syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest.0.8.15_S2Kfailed_)] - - rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModsafeconsoleContract - rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModsrcZModsafeconsoleContract ::= "S2KlibZModforgeZSubstdZModsrcZModsafeconsole" [symbol(""), klabel(contract_lib%forge-std%src%safeconsole)] - rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( selector ( "failed()" ) => 3124842406 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModsafeconsole ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209a2d4663758ab2478722148cf51761578af92021d18dfb13347d86a29c38717f64736f6c634300080d0033" ) ) endmodule -module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Contract - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13" [symbol(""), klabel(contract_lib%forge-std%src%Test.0.8.13)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 ) => #parseByteStack ( "0x" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_stdstore)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_IS_TEST)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__failed)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_stdChainsInitialized)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_chains)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_defaultRpcUrls)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_idToAlias)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_fallbackToDefaultRpcUrls)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13_gasMeteringOff)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__excludedContracts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__excludedSenders)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedContracts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedSenders)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__excludedArtifacts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedArtifacts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedArtifactSelectors)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.13__targetedSelectors)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . stdstore ) => 0 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . IS_TEST ) => 7 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _failed ) => 7 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . stdChainsInitialized ) => 7 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . chains ) => 8 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . defaultRpcUrls ) => 9 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . idToAlias ) => 10 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . fallbackToDefaultRpcUrls ) => 11 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . gasMeteringOff ) => 11 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _excludedContracts ) => 19 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _excludedSenders ) => 20 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedContracts ) => 21 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedSenders ) => 22 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _excludedArtifacts ) => 23 ) - + syntax Contract ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestContract - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedArtifacts ) => 24 ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestContract ::= "S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest" [symbol(""), klabel(contract_lib%forge-std%lib%ds-test%src%DSTest)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedArtifactSelectors ) => 25 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . _targetedSelectors ) => 26 ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest ) => #parseByteStack ( "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102598061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ca565b60408051601f198184030181529082905261012c916101ee565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b50915050808060200190518101906101869190610201565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b818111156101bf576000828601525b509290920192915050565b6001600160e01b03198316815260006101e6600483018461018f565b949350505050565b60006101fa828461018f565b9392505050565b60006020828403121561021357600080fd5b815180151581146101fa57600080fdfea2646970667358221220acd34c7900a0f78b52ca6e76525777d2bb4ff172d44682161ada1b655e2ff2cb64736f6c634300080d0033" ) ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Contract "." S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method [function, symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KISZUndTEST_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KexcludeArtifacts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KexcludeContracts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KexcludeSenders_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2Kfailed_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetArtifactSelectors_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetArtifacts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetContracts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetSelectors_)] + syntax Field ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestField - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.13_S2KtargetSenders_)] + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest_IS_TEST)] - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%lib%ds-test%src%DSTest__failed)] - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . IS_TEST ) => 0 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( #loc ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . _failed ) => 0 ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - + syntax Bytes ::= S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestContract "." S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestMethod [function, symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest)] - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest_S2KISZUndTEST_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - + syntax S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%lib%ds-test%src%DSTest_S2Kfailed_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) rule ( selector ( "IS_TEST()" ) => 4202047188 ) - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - - - rule ( selector ( "excludeContracts()" ) => 3792478065 ) - - - rule ( selector ( "excludeSenders()" ) => 517440284 ) - - rule ( selector ( "failed()" ) => 3124842406 ) - - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - - - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - - - rule ( selector ( "targetContracts()" ) => 1064470260 ) - - - rule ( selector ( "targetSelectors()" ) => 2439649222 ) - - - rule ( selector ( "targetSenders()" ) => 1046363171 ) - endmodule -module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT imports public FOUNDRY - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Contract + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestContract - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Contract ::= "S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15" [symbol(""), klabel(contract_lib%forge-std%src%Test.0.8.15)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestContract ::= "S2KlibZModforgeZSubstdZModsrcZModTest" [symbol(""), klabel(contract_lib%forge-std%src%Test)] - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 ) => #parseByteStack ( "0x" ) ) + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTest ) => #parseByteStack ( "0x" ) ) - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestField - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_stdstore)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test_stdstore)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_IS_TEST)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test_IS_TEST)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__failed)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test__failed)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_stdChainsInitialized)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test_stdChainsInitialized)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_chains)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test_chains)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_defaultRpcUrls)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_defaultRpcUrls)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_idToAlias)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test_idToAlias)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_fallbackToDefaultRpcUrls)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_fallbackToDefaultRpcUrls)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15_gasMeteringOff)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test_gasMeteringOff)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__excludedContracts)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedContracts)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__excludedSenders)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedSenders)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedContracts)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedContracts)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedSenders)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSenders)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__excludedArtifacts)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedArtifacts)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedArtifacts)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifacts)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedArtifactSelectors)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifactSelectors)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Field ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test.0.8.15__targetedSelectors)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSelectors)] - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . stdstore ) => 0 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdstore ) => 0 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . IS_TEST ) => 7 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . IS_TEST ) => 7 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _failed ) => 7 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _failed ) => 7 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . stdChainsInitialized ) => 7 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdChainsInitialized ) => 7 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . chains ) => 8 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . chains ) => 8 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . defaultRpcUrls ) => 9 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . defaultRpcUrls ) => 9 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . idToAlias ) => 10 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . idToAlias ) => 10 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . fallbackToDefaultRpcUrls ) => 11 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . fallbackToDefaultRpcUrls ) => 11 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . gasMeteringOff ) => 11 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . gasMeteringOff ) => 11 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _excludedContracts ) => 19 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedContracts ) => 19 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _excludedSenders ) => 20 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedSenders ) => 20 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedContracts ) => 21 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedContracts ) => 21 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedSenders ) => 22 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSenders ) => 22 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _excludedArtifacts ) => 23 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedArtifacts ) => 23 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedArtifacts ) => 24 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifacts ) => 24 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedArtifactSelectors ) => 25 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifactSelectors ) => 25 ) - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . _targetedSelectors ) => 26 ) + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSelectors ) => 26 ) - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Contract "." S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method [function, symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15)] + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestContract "." S2KlibZModforgeZSubstdZModsrcZModTestMethod [function, symbol(""), klabel(method_lib%forge-std%src%Test)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KISZUndTEST_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KISZUndTEST_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KexcludeArtifacts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeArtifacts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KexcludeContracts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeContracts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KexcludeSenders_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeSenders_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2Kfailed_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2Kfailed_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetArtifactSelectors_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifactSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetArtifacts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifacts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetContracts_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetContracts_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetSelectors_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSelectors_)] - syntax S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15Method ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test.0.8.15_S2KtargetSenders_)] + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSenders_)] - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - rule ( S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15 . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) rule ( selector ( "IS_TEST()" ) => 4202047188 ) diff --git a/src/tests/integration/test-data/show/foundry.k.expected b/src/tests/integration/test-data/show/foundry.k.expected index 29dfef5b9..c35cf08b8 100644 --- a/src/tests/integration/test-data/show/foundry.k.expected +++ b/src/tests/integration/test-data/show/foundry.k.expected @@ -15,12 +15,9 @@ module FOUNDRY-MAIN imports public S2KsrcZModArithmeticContract-VERIFICATION imports public S2KtestZModAssumeTest-VERIFICATION imports public S2KtestZModBMCLoopsTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModCommonBase-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModScriptBase-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestBase-VERIFICATION imports public S2KtestZModBlockParamsTest-VERIFICATION imports public S2KtestZModChainIdTest-VERIFICATION imports public S2KtestZModCoinBaseTest-VERIFICATION @@ -53,14 +50,11 @@ module FOUNDRY-MAIN imports public S2KtestZModFreshIntTest-VERIFICATION imports public S2KtestZModGasTest-VERIFICATION imports public S2KtestZModGetCodeTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-VERIFICATION imports public S2KtestZModInitCodeTest-VERIFICATION imports public S2KtestZModInitCodeBranchTest-VERIFICATION - imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-VERIFICATION + imports public S2KsrcZModKEVMCheats-VERIFICATION + imports public S2KsrcZModKEVMCheatsBase-VERIFICATION imports public S2KtestZModLabelTest-VERIFICATION imports public S2KtestZModLoopsTest-VERIFICATION imports public S2KtestZModMergeTest-VERIFICATION @@ -73,13 +67,14 @@ module FOUNDRY-MAIN imports public S2KsrcZModMyIERC20-VERIFICATION imports public S2KsrcZModMyToken-VERIFICATION imports public S2KtestZModNoImport-VERIFICATION - imports public S2KsrcZModOptimismPortal-VERIFICATION - imports public S2KtestZModOptimismPortalKontrol-VERIFICATION imports public S2KsrcZModOwnerUpOnly-VERIFICATION imports public S2KtestZModOwnerUpOnlyTest-VERIFICATION imports public S2KtestZModAdditionalToken-VERIFICATION imports public S2KtestZModMyErc20-VERIFICATION imports public S2KtestZModPlainPrankTest-VERIFICATION + imports public S2KsrcZModPortal-VERIFICATION + imports public S2KsrcZModTypes-VERIFICATION + imports public S2KtestZModPortalTest-VERIFICATION imports public S2KsrcZModPrank-VERIFICATION imports public S2KtestZModPrankTest-VERIFICATION imports public S2KtestZModPrankTestMsgSender-VERIFICATION @@ -96,30 +91,18 @@ module FOUNDRY-MAIN imports public S2KtestZModSignTest-VERIFICATION imports public S2KtestZModAssertTest-VERIFICATION imports public S2KtestZModSnapshotTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertions-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdChains-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheats-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdError-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariant-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdJson-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdMath-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorage-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdStyle-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdUtils-VERIFICATION imports public S2KtestZModStore-VERIFICATION imports public S2KtestZModStoreTest-VERIFICATION imports public S2KtestZModSymbolicStorageTest-VERIFICATION @@ -131,21 +114,13 @@ module FOUNDRY-MAIN imports public S2KtestZModIntTypeTest-VERIFICATION imports public S2KtestZModStructTypeTest-VERIFICATION imports public S2KtestZModUintTypeTest-VERIFICATION - imports public S2KsrcZModlibrariesZModTypes-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVm-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmSafe-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole2-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsole-VERIFICATION + imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION @@ -235,43 +210,22 @@ module S2KtestZModBMCLoopsTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModCommonBase-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModCommonBase-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModCommonBaseZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModScriptBase-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModScriptBase-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModScriptBaseZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestBaseZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModTestBase-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTestBase-CONTRACT @@ -501,15 +455,8 @@ module S2KtestZModGetCodeTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3ZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModinterfacesZModIMulticall3-CONTRACT @@ -529,29 +476,15 @@ module S2KtestZModInitCodeBranchTest-VERIFICATION endmodule -module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot13-CONTRACT +module S2KsrcZModKEVMCheats-VERIFICATION + imports public S2KsrcZModKEVMCheats-CONTRACT endmodule -module S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KsrcZModKEVMCheatsZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-VERIFICATION - imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-VERIFICATION - imports public S2KsrcZModKEVMCheatsBaseZDot0ZDot8ZDot15-CONTRACT +module S2KsrcZModKEVMCheatsBase-VERIFICATION + imports public S2KsrcZModKEVMCheatsBase-CONTRACT @@ -677,15 +610,22 @@ module S2KtestZModPlainPrankTest-VERIFICATION endmodule -module S2KsrcZModOptimismPortal-VERIFICATION - imports public S2KsrcZModOptimismPortal-CONTRACT +module S2KsrcZModPortal-VERIFICATION + imports public S2KsrcZModPortal-CONTRACT + + + +endmodule + +module S2KsrcZModTypes-VERIFICATION + imports public S2KsrcZModTypes-CONTRACT endmodule -module S2KtestZModOptimismPortalKontrol-VERIFICATION - imports public S2KtestZModOptimismPortalKontrol-CONTRACT +module S2KtestZModPortalTest-VERIFICATION + imports public S2KtestZModPortalTest-CONTRACT imports public PAUSABILITY-LEMMAS @@ -804,169 +744,85 @@ module S2KtestZModSnapshotTest-VERIFICATION endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertionsZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdChainsZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdAssertions-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdAssertions-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdChains-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdChains-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafeZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheats-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheats-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdCheatsSafe-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdErrorZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdError-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdError-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdInvariant-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariant-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdInvariantZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdJson-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdJson-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdMath-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdMath-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdJsonZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdStorage-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorage-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafe-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdMathZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdStyle-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdStyle-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModstdStorageSafeZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdStyleZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModStdUtilsZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModStdUtils-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModStdUtils-CONTRACT @@ -1049,106 +905,50 @@ module S2KtestZModUintTypeTest-VERIFICATION endmodule -module S2KsrcZModlibrariesZModTypes-VERIFICATION - imports public S2KsrcZModlibrariesZModTypes-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModVmSafeZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsoleZDot0ZDot8ZDot15-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot13-CONTRACT - - - -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModconsole2ZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModVm-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVm-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModVmSafe-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModVmSafe-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsoleZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModconsole-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModconsole2-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModconsole2-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTestZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModsafeconsole-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsole-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot13-CONTRACT +module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION + imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-CONTRACT endmodule -module S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTestZDot0ZDot8ZDot15-CONTRACT +module S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT diff --git a/src/tests/integration/test_foundry_prove.py b/src/tests/integration/test_foundry_prove.py index 71f72da3e..4f3f1e139 100644 --- a/src/tests/integration/test_foundry_prove.py +++ b/src/tests/integration/test_foundry_prove.py @@ -85,7 +85,7 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo foundry=Foundry(foundry_root), includes=(), requires=[str(TEST_DATA_DIR / 'sum-to-n-lemmas.k'), str(TEST_DATA_DIR / 'pausability-lemmas.k')], - imports=['LoopsTest:SUM-TO-N-INVARIANT', 'OptimismPortalKontrol:PAUSABILITY-LEMMAS'], + imports=['LoopsTest:SUM-TO-N-INVARIANT', 'PortalTest:PAUSABILITY-LEMMAS'], ) session_foundry_root = tmp_path_factory.mktemp('foundry') From 4be102147bb64c133c8513a125d1f26753a9ac86 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Thu, 7 Mar 2024 00:08:28 +0800 Subject: [PATCH 15/28] Cleanup updated `contracts.k` and `foundry.k` --- .../test-data/show/contracts.k.expected | 368 +++++++++--------- .../test-data/show/foundry.k.expected | 26 +- 2 files changed, 197 insertions(+), 197 deletions(-) diff --git a/src/tests/integration/test-data/show/contracts.k.expected b/src/tests/integration/test-data/show/contracts.k.expected index a17bffc1b..4addb8224 100644 --- a/src/tests/integration/test-data/show/contracts.k.expected +++ b/src/tests/integration/test-data/show/contracts.k.expected @@ -15028,6 +15028,189 @@ module S2KtestZModSymbolicStore-CONTRACT rule ( #loc ( S2KtestZModSymbolicStore . testNumber ) => 0 ) +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT + imports public FOUNDRY + + syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestContract + + syntax S2KlibZModforgeZSubstdZModsrcZModTestContract ::= "S2KlibZModforgeZSubstdZModsrcZModTest" [symbol(""), klabel(contract_lib%forge-std%src%Test)] + + + + rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTest ) => #parseByteStack ( "0x" ) ) + + + syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestField + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test_stdstore)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test_IS_TEST)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test__failed)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test_stdChainsInitialized)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test_chains)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_defaultRpcUrls)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test_idToAlias)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_fallbackToDefaultRpcUrls)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test_gasMeteringOff)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedContracts)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedSenders)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedContracts)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSenders)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedArtifacts)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifacts)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifactSelectors)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSelectors)] + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdstore ) => 0 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . IS_TEST ) => 7 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _failed ) => 7 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdChainsInitialized ) => 7 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . chains ) => 8 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . defaultRpcUrls ) => 9 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . idToAlias ) => 10 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . fallbackToDefaultRpcUrls ) => 11 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . gasMeteringOff ) => 11 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedContracts ) => 19 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedSenders ) => 20 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedContracts ) => 21 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSenders ) => 22 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedArtifacts ) => 23 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifacts ) => 24 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifactSelectors ) => 25 ) + + + rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSelectors ) => 26 ) + + + syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestContract "." S2KlibZModforgeZSubstdZModsrcZModTestMethod [function, symbol(""), klabel(method_lib%forge-std%src%Test)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KISZUndTEST_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeArtifacts_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeContracts_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeSenders_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2Kfailed_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifactSelectors_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifacts_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetContracts_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSelectors_)] + + syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSenders_)] + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) + + + rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) + + + rule ( selector ( "IS_TEST()" ) => 4202047188 ) + + + rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) + + + rule ( selector ( "excludeContracts()" ) => 3792478065 ) + + + rule ( selector ( "excludeSenders()" ) => 517440284 ) + + + rule ( selector ( "failed()" ) => 3124842406 ) + + + rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) + + + rule ( selector ( "targetArtifacts()" ) => 2233625729 ) + + + rule ( selector ( "targetContracts()" ) => 1064470260 ) + + + rule ( selector ( "targetSelectors()" ) => 2439649222 ) + + + rule ( selector ( "targetSenders()" ) => 1046363171 ) + + endmodule module S2KsrcZModTestNumber-CONTRACT @@ -19350,187 +19533,4 @@ module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-CONTRACT rule ( selector ( "failed()" ) => 3124842406 ) -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT - imports public FOUNDRY - - syntax Contract ::= S2KlibZModforgeZSubstdZModsrcZModTestContract - - syntax S2KlibZModforgeZSubstdZModsrcZModTestContract ::= "S2KlibZModforgeZSubstdZModsrcZModTest" [symbol(""), klabel(contract_lib%forge-std%src%Test)] - - - - rule ( #initBytecode ( S2KlibZModforgeZSubstdZModsrcZModTest ) => #parseByteStack ( "0x" ) ) - - - syntax Field ::= S2KlibZModforgeZSubstdZModsrcZModTestField - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdstore" [symbol(""), klabel(field_lib%forge-std%src%Test_stdstore)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "IS_TEST" [symbol(""), klabel(field_lib%forge-std%src%Test_IS_TEST)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_failed" [symbol(""), klabel(field_lib%forge-std%src%Test__failed)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "stdChainsInitialized" [symbol(""), klabel(field_lib%forge-std%src%Test_stdChainsInitialized)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "chains" [symbol(""), klabel(field_lib%forge-std%src%Test_chains)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "defaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_defaultRpcUrls)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "idToAlias" [symbol(""), klabel(field_lib%forge-std%src%Test_idToAlias)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "fallbackToDefaultRpcUrls" [symbol(""), klabel(field_lib%forge-std%src%Test_fallbackToDefaultRpcUrls)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "gasMeteringOff" [symbol(""), klabel(field_lib%forge-std%src%Test_gasMeteringOff)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedContracts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedSenders)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedContracts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedContracts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSenders" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSenders)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_excludedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__excludedArtifacts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifacts" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifacts)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedArtifactSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedArtifactSelectors)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestField ::= "_targetedSelectors" [symbol(""), klabel(field_lib%forge-std%src%Test__targetedSelectors)] - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdstore ) => 0 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . IS_TEST ) => 7 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _failed ) => 7 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . stdChainsInitialized ) => 7 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . chains ) => 8 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . defaultRpcUrls ) => 9 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . idToAlias ) => 10 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . fallbackToDefaultRpcUrls ) => 11 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . gasMeteringOff ) => 11 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedContracts ) => 19 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedSenders ) => 20 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedContracts ) => 21 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSenders ) => 22 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _excludedArtifacts ) => 23 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifacts ) => 24 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedArtifactSelectors ) => 25 ) - - - rule ( #loc ( S2KlibZModforgeZSubstdZModsrcZModTest . _targetedSelectors ) => 26 ) - - - syntax Bytes ::= S2KlibZModforgeZSubstdZModsrcZModTestContract "." S2KlibZModforgeZSubstdZModsrcZModTestMethod [function, symbol(""), klabel(method_lib%forge-std%src%Test)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KISZUndTEST" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KISZUndTEST_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeArtifacts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeContracts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KexcludeSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KexcludeSenders_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2Kfailed" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2Kfailed_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifactSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifactSelectors_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetArtifacts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetArtifacts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetContracts" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetContracts_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSelectors" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSelectors_)] - - syntax S2KlibZModforgeZSubstdZModsrcZModTestMethod ::= "S2KtargetSenders" "(" ")" [symbol(""), klabel(method_lib%forge-std%src%Test_S2KtargetSenders_)] - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeArtifacts ( ) => #abiCallData ( "excludeArtifacts" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeContracts ( ) => #abiCallData ( "excludeContracts" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KexcludeSenders ( ) => #abiCallData ( "excludeSenders" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2Kfailed ( ) => #abiCallData ( "failed" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifactSelectors ( ) => #abiCallData ( "targetArtifactSelectors" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetArtifacts ( ) => #abiCallData ( "targetArtifacts" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetContracts ( ) => #abiCallData ( "targetContracts" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSelectors ( ) => #abiCallData ( "targetSelectors" , .TypedArgs ) ) - - - rule ( S2KlibZModforgeZSubstdZModsrcZModTest . S2KtargetSenders ( ) => #abiCallData ( "targetSenders" , .TypedArgs ) ) - - - rule ( selector ( "IS_TEST()" ) => 4202047188 ) - - - rule ( selector ( "excludeArtifacts()" ) => 3041954473 ) - - - rule ( selector ( "excludeContracts()" ) => 3792478065 ) - - - rule ( selector ( "excludeSenders()" ) => 517440284 ) - - - rule ( selector ( "failed()" ) => 3124842406 ) - - - rule ( selector ( "targetArtifactSelectors()" ) => 1725540768 ) - - - rule ( selector ( "targetArtifacts()" ) => 2233625729 ) - - - rule ( selector ( "targetContracts()" ) => 1064470260 ) - - - rule ( selector ( "targetSelectors()" ) => 2439649222 ) - - - rule ( selector ( "targetSenders()" ) => 1046363171 ) - - -endmodule +endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/foundry.k.expected b/src/tests/integration/test-data/show/foundry.k.expected index c35cf08b8..e14fcd1ee 100644 --- a/src/tests/integration/test-data/show/foundry.k.expected +++ b/src/tests/integration/test-data/show/foundry.k.expected @@ -107,6 +107,7 @@ module FOUNDRY-MAIN imports public S2KtestZModStoreTest-VERIFICATION imports public S2KtestZModSymbolicStorageTest-VERIFICATION imports public S2KtestZModSymbolicStore-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION imports public S2KsrcZModTestNumber-VERIFICATION imports public S2KtestZModToStringTest-VERIFICATION imports public S2KsrcZModToken-VERIFICATION @@ -120,7 +121,6 @@ module FOUNDRY-MAIN imports public S2KlibZModforgeZSubstdZModsrcZModconsole2-VERIFICATION imports public S2KlibZModforgeZSubstdZModsrcZModsafeconsole-VERIFICATION imports public S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION @@ -612,15 +612,15 @@ endmodule module S2KsrcZModPortal-VERIFICATION imports public S2KsrcZModPortal-CONTRACT - - + + endmodule module S2KsrcZModTypes-VERIFICATION imports public S2KsrcZModTypes-CONTRACT - - + + endmodule @@ -854,6 +854,13 @@ module S2KtestZModSymbolicStore-VERIFICATION +endmodule + +module S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION + imports public S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT + + + endmodule module S2KsrcZModTestNumber-VERIFICATION @@ -945,11 +952,4 @@ module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION -endmodule - -module S2KlibZModforgeZSubstdZModsrcZModTest-VERIFICATION - imports public S2KlibZModforgeZSubstdZModsrcZModTest-CONTRACT - - - -endmodule +endmodule \ No newline at end of file From aace1d2eac9edb2b4a031e78ee59103499d66b18 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Thu, 7 Mar 2024 00:19:11 +0800 Subject: [PATCH 16/28] Update output for `testFail_assume_true` w/simplifications, cosmetic changes in `foundry.k` --- ...Fail_assume_true(uint256,uint256).expected | 22 ++++++++----------- .../test-data/show/foundry.k.expected | 8 +++---- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected b/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected index 1626cf538..5769fdfdc 100644 --- a/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected +++ b/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected @@ -21,12 +21,12 @@ │ │ (1000 steps) ├─ 5 -│ k: #addr [ ISZERO ] ~> #exec [ ISZERO ] ~> #pc [ ISZERO ] ~> #execute ~> CONTINUATI ... -│ pc: 4206 +│ k: #execute ~> CONTINUATION:K +│ pc: 4447 │ callDepth: 0 │ statusCode: STATUSCODE:StatusCode │ -│ (827 steps) +│ (145 steps) ├─ 6 │ k: CALL 0 645326474426547203313410069153905908525362434349 0 388 100 388 0 ~> #pc [ ... │ pc: 3785 @@ -496,9 +496,7 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 ~> #checkCall 728815563385977040452943777879061427756277306518 0 ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( notBool VV0_a_114b9705:Int ==Int VV1_b_114b9705:Int ) ) ) true ~> #return 128 0 - ~> #pc [ STATICCALL ] => #addr [ ISZERO ] - ~> #exec [ ISZERO ] - ~> #pc [ ISZERO ] ) + ~> #pc [ STATICCALL ] => .K ) ~> #execute ~> _CONTINUATION @@ -539,10 +537,10 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 0 - ( ( 164 => 1 ) : ( ( selector ( "assume(bool)" ) => 64 ) : ( ( 645326474426547203313410069153905908525362434349 => 160 ) : ( ( VV1_b_114b9705:Int => 292 ) : ( ( VV0_a_114b9705:Int => 96 ) : ( ( 280 => 4586 ) : ( ( selector ( "testFail_assume_true(uint256,uint256)" ) => 96 ) : ( .WordStack => ( 0 : ( 288 : ( 128 : ( 51016057639858100040180367130768047423658391221723556551037572491782395555780 : ( 3745 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "testFail_assume_true(uint256,uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 164 => 256 ) : ( ( selector ( "assume(bool)" ) => 0 ) : ( ( 645326474426547203313410069153905908525362434349 => 388 ) : ( ( VV1_b_114b9705:Int => 256 ) : ( ( VV0_a_114b9705:Int => 3771 ) : ( ( 280 => 645326474426547203313410069153905908525362434349 ) : ( ( selector ( "testFail_assume_true(uint256,uint256)" ) => 0 ) : ( .WordStack => ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "testFail_assume_true(uint256,uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( notBool VV0_a_114b9705:Int ==Int VV1_b_114b9705:Int ) ) ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( notBool VV0_a_114b9705:Int ==Int VV1_b_114b9705:Int ) ) ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" ) 0 @@ -702,9 +700,7 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 rule [BASIC-BLOCK-5-TO-6]: - ( #addr [ ISZERO ] - ~> #exec [ ISZERO ] - ~> #pc [ ISZERO ] => CALL 0 645326474426547203313410069153905908525362434349 0 388 100 388 0 + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 388 100 388 0 ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION @@ -746,10 +742,10 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 0 - ( ( 1 => 488 ) : ( ( 64 => 645326474426547203313410069153905908525362434349 ) : ( ( 160 => 0 ) : ( ( 292 => 594 ) : ( ( 96 => VV1_b_114b9705:Int ) : ( ( 4586 => VV0_a_114b9705:Int ) : ( ( 96 => 594 ) : ( ( 0 => VV1_b_114b9705:Int ) : ( ( 288 => VV0_a_114b9705:Int ) : ( ( 128 => 280 ) : ( ( 51016057639858100040180367130768047423658391221723556551037572491782395555780 => selector ( "testFail_assume_true(uint256,uint256)" ) ) : ( ( 3745 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "testFail_assume_true(uint256,uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 256 => 488 ) : ( ( 0 => 645326474426547203313410069153905908525362434349 ) : ( ( 388 => 0 ) : ( ( 256 => 594 ) : ( ( 3771 => VV1_b_114b9705:Int ) : ( ( 645326474426547203313410069153905908525362434349 => VV0_a_114b9705:Int ) : ( ( 0 => 594 ) : ( ( 594 => VV1_b_114b9705:Int ) : ( ( VV1_b_114b9705:Int => VV0_a_114b9705:Int ) : ( ( VV0_a_114b9705:Int => 280 ) : ( ( 594 => selector ( "testFail_assume_true(uint256,uint256)" ) ) : ( ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "testFail_assume_true(uint256,uint256)" ) : .WordStack ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 diff --git a/src/tests/integration/test-data/show/foundry.k.expected b/src/tests/integration/test-data/show/foundry.k.expected index e14fcd1ee..02b459653 100644 --- a/src/tests/integration/test-data/show/foundry.k.expected +++ b/src/tests/integration/test-data/show/foundry.k.expected @@ -612,15 +612,15 @@ endmodule module S2KsrcZModPortal-VERIFICATION imports public S2KsrcZModPortal-CONTRACT - - + + endmodule module S2KsrcZModTypes-VERIFICATION imports public S2KsrcZModTypes-CONTRACT - - + + endmodule From 031b3f410c86e23ed75088f8c60b2cbb6c0d767c Mon Sep 17 00:00:00 2001 From: devops Date: Thu, 7 Mar 2024 02:25:10 +0000 Subject: [PATCH 17/28] Set Version: 0.1.188 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index fd39f6dee..64b5cd7f1 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.187 +0.1.188 diff --git a/pyproject.toml b/pyproject.toml index 94bdef333..a772cd44a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.187" +version = "0.1.188" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 62bf313dc..cf1dcbf50 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.187' +VERSION: Final = '0.1.188' From 1ddd0793e405fde43013dacac004b8f830b91bfb Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Thu, 7 Mar 2024 15:45:33 +0800 Subject: [PATCH 18/28] Update output for `test_assume_false` --- ...est_assume_false(uint256,uint256).expected | 22 ++++++++----------- .../test-data/show/contracts.k.expected | 2 +- .../test-data/show/foundry.k.expected | 2 +- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected b/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected index e5ffe94b6..f45bb0ddc 100644 --- a/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected +++ b/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected @@ -21,12 +21,12 @@ │ │ (1000 steps) ├─ 5 -│ k: #addr [ ISZERO ] ~> #exec [ ISZERO ] ~> #pc [ ISZERO ] ~> #execute ~> CONTINUATI ... -│ pc: 4206 +│ k: #execute ~> CONTINUATION:K +│ pc: 4447 │ callDepth: 0 │ statusCode: STATUSCODE:StatusCode │ -│ (827 steps) +│ (145 steps) ├─ 6 │ k: CALL 0 645326474426547203313410069153905908525362434349 0 388 100 388 0 ~> #pc [ ... │ pc: 3785 @@ -704,9 +704,7 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 ~> #checkCall 728815563385977040452943777879061427756277306518 0 ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( notBool VV0_a_114b9705:Int ==Int VV1_b_114b9705:Int ) ) ) true ~> #return 128 0 - ~> #pc [ STATICCALL ] => #addr [ ISZERO ] - ~> #exec [ ISZERO ] - ~> #pc [ ISZERO ] ) + ~> #pc [ STATICCALL ] => .K ) ~> #execute ~> _CONTINUATION @@ -747,10 +745,10 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 0 - ( ( 164 => 1 ) : ( ( selector ( "assume(bool)" ) => 64 ) : ( ( 645326474426547203313410069153905908525362434349 => 160 ) : ( ( VV1_b_114b9705:Int => 292 ) : ( ( VV0_a_114b9705:Int => 96 ) : ( ( 280 => 4586 ) : ( ( selector ( "test_assume_false(uint256,uint256)" ) => 96 ) : ( .WordStack => ( 0 : ( 288 : ( 128 : ( 51016057639858100040180367130768047423658391221723556551037572491782395555780 : ( 3745 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "test_assume_false(uint256,uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 164 => 256 ) : ( ( selector ( "assume(bool)" ) => 0 ) : ( ( 645326474426547203313410069153905908525362434349 => 388 ) : ( ( VV1_b_114b9705:Int => 256 ) : ( ( VV0_a_114b9705:Int => 3771 ) : ( ( 280 => 645326474426547203313410069153905908525362434349 ) : ( ( selector ( "test_assume_false(uint256,uint256)" ) => 0 ) : ( .WordStack => ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "test_assume_false(uint256,uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( notBool VV0_a_114b9705:Int ==Int VV1_b_114b9705:Int ) ) ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( notBool VV0_a_114b9705:Int ==Int VV1_b_114b9705:Int ) ) ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" ) 0 @@ -910,9 +908,7 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 rule [BASIC-BLOCK-5-TO-6]: - ( #addr [ ISZERO ] - ~> #exec [ ISZERO ] - ~> #pc [ ISZERO ] => CALL 0 645326474426547203313410069153905908525362434349 0 388 100 388 0 + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 388 100 388 0 ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION @@ -954,10 +950,10 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 0 - ( ( 1 => 488 ) : ( ( 64 => 645326474426547203313410069153905908525362434349 ) : ( ( 160 => 0 ) : ( ( 292 => 594 ) : ( ( 96 => VV1_b_114b9705:Int ) : ( ( 4586 => VV0_a_114b9705:Int ) : ( ( 96 => 594 ) : ( ( 0 => VV1_b_114b9705:Int ) : ( ( 288 => VV0_a_114b9705:Int ) : ( ( 128 => 280 ) : ( ( 51016057639858100040180367130768047423658391221723556551037572491782395555780 => selector ( "test_assume_false(uint256,uint256)" ) ) : ( ( 3745 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 594 : ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "test_assume_false(uint256,uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 256 => 488 ) : ( ( 0 => 645326474426547203313410069153905908525362434349 ) : ( ( 388 => 0 ) : ( ( 256 => 594 ) : ( ( 3771 => VV1_b_114b9705:Int ) : ( ( 645326474426547203313410069153905908525362434349 => VV0_a_114b9705:Int ) : ( ( 0 => 594 ) : ( ( 594 => VV1_b_114b9705:Int ) : ( ( VV1_b_114b9705:Int => VV0_a_114b9705:Int ) : ( ( VV0_a_114b9705:Int => 280 ) : ( ( 594 => selector ( "test_assume_false(uint256,uint256)" ) ) : ( ( VV1_b_114b9705:Int : ( VV0_a_114b9705:Int : ( 280 : ( selector ( "test_assume_false(uint256,uint256)" ) : .WordStack ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00dp\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 diff --git a/src/tests/integration/test-data/show/contracts.k.expected b/src/tests/integration/test-data/show/contracts.k.expected index bc67cdfc9..f825aa086 100644 --- a/src/tests/integration/test-data/show/contracts.k.expected +++ b/src/tests/integration/test-data/show/contracts.k.expected @@ -19568,4 +19568,4 @@ module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-CONTRACT rule ( selector ( "failed()" ) => 3124842406 ) -endmodule \ No newline at end of file +endmodule diff --git a/src/tests/integration/test-data/show/foundry.k.expected b/src/tests/integration/test-data/show/foundry.k.expected index 02b459653..e8cb060af 100644 --- a/src/tests/integration/test-data/show/foundry.k.expected +++ b/src/tests/integration/test-data/show/foundry.k.expected @@ -952,4 +952,4 @@ module S2KlibZModforgeZSubstdZModlibZModdsZSubtestZModsrcZModDSTest-VERIFICATION -endmodule \ No newline at end of file +endmodule From eb4aeb96315294304514a635979f01d175815022 Mon Sep 17 00:00:00 2001 From: Palina Tolmach Date: Thu, 7 Mar 2024 21:54:39 +0800 Subject: [PATCH 19/28] Update revert message in `Portal` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andrei Văcaru <16517508+anvacaru@users.noreply.github.com> --- src/tests/integration/test-data/foundry/src/Portal.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/integration/test-data/foundry/src/Portal.sol b/src/tests/integration/test-data/foundry/src/Portal.sol index 0f41c4103..02b546b5e 100644 --- a/src/tests/integration/test-data/foundry/src/Portal.sol +++ b/src/tests/integration/test-data/foundry/src/Portal.sol @@ -26,7 +26,7 @@ contract Portal { /// @notice Reverts when paused. modifier whenNotPaused() { - require(paused == false, "OptimismPortal: paused"); + require(paused == false, "Portal: paused"); _; } From c66e2fd7717abccf1d8b08f20535b278f9e3c7f8 Mon Sep 17 00:00:00 2001 From: devops Date: Thu, 7 Mar 2024 13:54:50 +0000 Subject: [PATCH 20/28] Set Version: 0.1.189 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 64b5cd7f1..3e3dfa30f 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.188 +0.1.189 diff --git a/pyproject.toml b/pyproject.toml index a772cd44a..c60bebbce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.188" +version = "0.1.189" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index cf1dcbf50..e335e8c21 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.188' +VERSION: Final = '0.1.189' From 93740e356ee0e10fd263ff78264946cdcc53d0da Mon Sep 17 00:00:00 2001 From: devops Date: Fri, 8 Mar 2024 03:48:40 +0000 Subject: [PATCH 21/28] Set Version: 0.1.190 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 3e3dfa30f..8ed5a8b76 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.189 +0.1.190 diff --git a/pyproject.toml b/pyproject.toml index 08d703258..cb69e75f0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.189" +version = "0.1.190" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index e335e8c21..c96eb4fdb 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.189' +VERSION: Final = '0.1.190' From f8e9d5c02fbb1dcfef833b8630a8c2a7e2d67418 Mon Sep 17 00:00:00 2001 From: devops Date: Fri, 8 Mar 2024 11:45:09 +0000 Subject: [PATCH 22/28] Set Version: 0.1.192 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 7e87f1d07..75c34413c 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.191 +0.1.192 diff --git a/pyproject.toml b/pyproject.toml index 802cb6007..88e2a4355 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.191" +version = "0.1.192" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 53c7f38ea..fce47ef0d 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.191' +VERSION: Final = '0.1.192' From c04d1264ee491ea628707228b99a343bd3e1cb4e Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Fri, 8 Mar 2024 20:01:38 +0800 Subject: [PATCH 23/28] Remove reflexivity lemma --- src/tests/integration/test-data/pausability-lemmas.k | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/tests/integration/test-data/pausability-lemmas.k b/src/tests/integration/test-data/pausability-lemmas.k index 01bc7d161..d3112597c 100644 --- a/src/tests/integration/test-data/pausability-lemmas.k +++ b/src/tests/integration/test-data/pausability-lemmas.k @@ -33,9 +33,6 @@ module PAUSABILITY-LEMMAS [symbolic] // Arithmetic // - // Reflexivity of <=Int - rule A <=Int A => true [simplification] - // Cancellativity #1 rule A +Int B -Int B +Int C => A +Int C [simplification] From cd457c86d763dd15a88adfea0f1eb6735cb682c1 Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Fri, 8 Mar 2024 20:26:06 +0800 Subject: [PATCH 24/28] Update bytecode for `Portal` --- src/tests/integration/test-data/show/contracts.k.expected | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tests/integration/test-data/show/contracts.k.expected b/src/tests/integration/test-data/show/contracts.k.expected index f825aa086..62f376221 100644 --- a/src/tests/integration/test-data/show/contracts.k.expected +++ b/src/tests/integration/test-data/show/contracts.k.expected @@ -10689,7 +10689,7 @@ module S2KsrcZModPortal-CONTRACT - rule ( #initBytecode ( S2KsrcZModPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b506000805460ff191660011790556103508061002d6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634870496f14610030575b600080fd5b61004361003e3660046101d4565b610045565b005b60005460ff16156100955760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561011d5761011d6100e4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561014c5761014c6100e4565b604052919050565b80356001600160a01b038116811461016b57600080fd5b919050565b60006080828403121561018257600080fd5b50919050565b60008083601f84011261019a57600080fd5b50813567ffffffffffffffff8111156101b257600080fd5b6020830191508360208260051b85010111156101cd57600080fd5b9250929050565b600080600080600060e086880312156101ec57600080fd5b853567ffffffffffffffff8082111561020457600080fd5b9087019060c0828a03121561021857600080fd5b6102206100fa565b823581526020610231818501610154565b8183015261024160408501610154565b6040830152606084013560608301526080840135608083015260a08401358381111561026c57600080fd5b8085019450508a601f85011261028157600080fd5b833583811115610293576102936100e4565b6102a5601f8201601f19168301610123565b8181528c838388010111156102b957600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102e68960408a01610170565b945060c08801359150808211156102fc57600080fd5b5061030988828901610188565b96999598509396509294939250505056fea2646970667358221220062c4298072ddeb8328879da5e738481c8674c1221cac4f7c5c5182cca39324164736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KsrcZModPortal ) => #parseByteStack ( "0x608060405234801561001057600080fd5b506000805460ff191660011790556103488061002d6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634870496f14610030575b600080fd5b61004361003e3660046101cc565b610045565b005b60005460ff161561008d5760405162461bcd60e51b815260206004820152600e60248201526d141bdc9d185b0e881c185d5cd95960921b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610115576101156100dc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610144576101446100dc565b604052919050565b80356001600160a01b038116811461016357600080fd5b919050565b60006080828403121561017a57600080fd5b50919050565b60008083601f84011261019257600080fd5b50813567ffffffffffffffff8111156101aa57600080fd5b6020830191508360208260051b85010111156101c557600080fd5b9250929050565b600080600080600060e086880312156101e457600080fd5b853567ffffffffffffffff808211156101fc57600080fd5b9087019060c0828a03121561021057600080fd5b6102186100f2565b82358152602061022981850161014c565b818301526102396040850161014c565b6040830152606084013560608301526080840135608083015260a08401358381111561026457600080fd5b8085019450508a601f85011261027957600080fd5b83358381111561028b5761028b6100dc565b61029d601f8201601f1916830161011b565b8181528c838388010111156102b157600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102de8960408a01610168565b945060c08801359150808211156102f457600080fd5b5061030188828901610180565b96999598509396509294939250505056fea2646970667358221220c6780a421240a4f971c9fd2210c1d2dff868ab9d69234d7dd7e6b3879edc63b264736f6c634300080d0033" ) ) syntax Field ::= S2KsrcZModPortalField @@ -10734,7 +10734,7 @@ module S2KsrcZModTypes-CONTRACT - rule ( #initBytecode ( S2KsrcZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122011693de452f249cae1e16e5ef2c650b724bffeda922f655e92d2856ce9f3177064736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KsrcZModTypes ) => #parseByteStack ( "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220271b8602691459efaaa5a820086ae32c3f9ec13daa08e922232f13afd1e262b764736f6c634300080d0033" ) ) endmodule @@ -10748,7 +10748,7 @@ module S2KtestZModPortalTest-CONTRACT - rule ( #initBytecode ( S2KtestZModPortalTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b5061128a8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063916a17c611610071578063916a17c61461011b578063b5508aa914610123578063ba414fa61461012b578063c1cd1d7c14610143578063e20c9f7114610156578063fa7626d41461015e57600080fd5b80630a9254e4146100b95780631ed7831c146100c35780633e5e3c23146100e15780633f7286f4146100e957806366d9a9a0146100f157806385226c8114610106575b600080fd5b6100c161016b565b005b6100cb6101b6565b6040516100d891906108ce565b60405180910390f35b6100cb610218565b6100cb610278565b6100f96102d8565b6040516100d8919061091b565b61010e6103c7565b6040516100d89190610a2a565b6100f9610497565b61010e61057d565b61013361064d565b60405190151581526020016100d8565b6100c1610151366004610b77565b61077a565b6100cb610861565b6007546101339060ff1681565b604051610177906108c1565b604051809103906000f080158015610193573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060601480548060200260200160405190810160405280929190818152602001828054801561020e57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f0575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103a657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103685790505b505050505081525050815260200190600101906102fc565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103be57838290600052602060002001805461040a90610cbd565b80601f016020809104026020016040519081016040528092919081815260200182805461043690610cbd565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050815260200190600101906103eb565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561056557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105275790505b505050505081525050815260200190600101906104bb565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103be5783829060005260206000200180546105c090610cbd565b80601f01602080910402602001604051908101604052809291908181526020018280546105ec90610cbd565b80156106395780601f1061060e57610100808354040283529160200191610639565b820191906000526020600020905b81548152906001019060200180831161061c57829003601f168201915b5050505050815260200190600101906105a1565b600754600090610100900460ff161561066f5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916106fd917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cf1565b60408051601f198184030181529082905261071791610d22565b6000604051808303816000865af19150503d8060008114610754576040519150601f19603f3d011682016040523d82523d6000602084013e610759565b606091505b50915050808060200190518101906107719190610d3e565b9150505b919050565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107d857600080fd5b505af11580156107ec573d6000803e3d6000fd5b5050601b54604051634870496f60e01b81526001600160a01b039091169250634870496f91506108289088908890889088908890600401610e21565b600060405180830381600087803b15801561084257600080fd5b505af1158015610856573d6000803e3d6000fd5b505050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b61037d80610ed883390190565b6020808252825182820181905260009190848201906040850190845b8181101561090f5783516001600160a01b0316835292840192918401916001016108ea565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156109bf57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156109aa5783516001600160e01b0319168252928b019260019290920191908b0190610980565b50978a01979550505091870191600101610943565b50919998505050505050505050565b60005b838110156109e95781810151838201526020016109d1565b838111156109f8576000848401525b50505050565b60008151808452610a168160208601602086016109ce565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610a7f57603f19888603018452610a6d8583516109fe565b94509285019290850190600101610a51565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610ac557610ac5610a8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610af457610af4610a8c565b604052919050565b80356001600160a01b038116811461077557600080fd5b600060808284031215610b2557600080fd5b50919050565b60008083601f840112610b3d57600080fd5b50813567ffffffffffffffff811115610b5557600080fd5b6020830191508360208260051b8501011115610b7057600080fd5b9250929050565b600080600080600060e08688031215610b8f57600080fd5b853567ffffffffffffffff80821115610ba757600080fd5b9087019060c0828a031215610bbb57600080fd5b610bc3610aa2565b823581526020610bd4818501610afc565b81830152610be460408501610afc565b6040830152606084013560608301526080840135608083015260a084013583811115610c0f57600080fd5b8085019450508a601f850112610c2457600080fd5b833583811115610c3657610c36610a8c565b610c48601f8201601f19168301610acb565b8181528c83838801011115610c5c57600080fd5b8183870184830137600091810183019190915260a08301529097508801359550610c898960408a01610b13565b945060c0880135915080821115610c9f57600080fd5b50610cac88828901610b2b565b969995985093965092949392505050565b600181811c90821680610cd157607f821691505b602082108103610b2557634e487b7160e01b600052602260045260246000fd5b6001600160e01b0319831681528151600090610d148160048501602087016109ce565b919091016004019392505050565b60008251610d348184602087016109ce565b9190910192915050565b600060208284031215610d5057600080fd5b81518015158114610d6057600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b87811015610e145782840389528135601e19883603018112610dcb57600080fd5b8701803567ffffffffffffffff811115610de457600080fd5b803603891315610df357600080fd5b610e008682898501610d67565b9a87019a9550505090840190600101610daa565b5091979650505050505050565b60e080825286519082015260208601516001600160a01b039081166101008301526040870151166101208201526060860151610140820152608086015161016082015260a086015160c0610180830152600090610e826101a08401826109fe565b9050866020840152610eb86040840187803582526020810135602083015260408101356040830152606081013560608301525050565b82810360c0840152610ecb818587610d90565b9897505050505050505056fe608060405234801561001057600080fd5b506000805460ff191660011790556103508061002d6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634870496f14610030575b600080fd5b61004361003e3660046101d4565b610045565b005b60005460ff16156100955760405162461bcd60e51b815260206004820152601660248201527513dc1d1a5b5a5cdb541bdc9d185b0e881c185d5cd95960521b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561011d5761011d6100e4565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561014c5761014c6100e4565b604052919050565b80356001600160a01b038116811461016b57600080fd5b919050565b60006080828403121561018257600080fd5b50919050565b60008083601f84011261019a57600080fd5b50813567ffffffffffffffff8111156101b257600080fd5b6020830191508360208260051b85010111156101cd57600080fd5b9250929050565b600080600080600060e086880312156101ec57600080fd5b853567ffffffffffffffff8082111561020457600080fd5b9087019060c0828a03121561021857600080fd5b6102206100fa565b823581526020610231818501610154565b8183015261024160408501610154565b6040830152606084013560608301526080840135608083015260a08401358381111561026c57600080fd5b8085019450508a601f85011261028157600080fd5b833583811115610293576102936100e4565b6102a5601f8201601f19168301610123565b8181528c838388010111156102b957600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102e68960408a01610170565b945060c08801359150808211156102fc57600080fd5b5061030988828901610188565b96999598509396509294939250505056fea2646970667358221220062c4298072ddeb8328879da5e738481c8674c1221cac4f7c5c5182cca39324164736f6c634300080d0033a2646970667358221220a12a76885d332a5c9250e94248e5b52fd7aeec13d65a44e8f64711e006b7ef9664736f6c634300080d0033" ) ) + rule ( #initBytecode ( S2KtestZModPortalTest ) => #parseByteStack ( "0x608060405260078054600160ff199182168117909255600b8054909116909117905534801561002d57600080fd5b506112828061003d6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063916a17c611610071578063916a17c61461011b578063b5508aa914610123578063ba414fa61461012b578063c1cd1d7c14610143578063e20c9f7114610156578063fa7626d41461015e57600080fd5b80630a9254e4146100b95780631ed7831c146100c35780633e5e3c23146100e15780633f7286f4146100e957806366d9a9a0146100f157806385226c8114610106575b600080fd5b6100c161016b565b005b6100cb6101b6565b6040516100d891906108ce565b60405180910390f35b6100cb610218565b6100cb610278565b6100f96102d8565b6040516100d8919061091b565b61010e6103c7565b6040516100d89190610a2a565b6100f9610497565b61010e61057d565b61013361064d565b60405190151581526020016100d8565b6100c1610151366004610b77565b61077a565b6100cb610861565b6007546101339060ff1681565b604051610177906108c1565b604051809103906000f080158015610193573d6000803e3d6000fd5b50601b80546001600160a01b0319166001600160a01b0392909216919091179055565b6060601480548060200260200160405190810160405280929190818152602001828054801561020e57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116101f0575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156103a657602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116103685790505b505050505081525050815260200190600101906102fc565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156103be57838290600052602060002001805461040a90610cbd565b80601f016020809104026020016040519081016040528092919081815260200182805461043690610cbd565b80156104835780601f1061045857610100808354040283529160200191610483565b820191906000526020600020905b81548152906001019060200180831161046657829003601f168201915b5050505050815260200190600101906103eb565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156103be5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561056557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116105275790505b505050505081525050815260200190600101906104bb565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156103be5783829060005260206000200180546105c090610cbd565b80601f01602080910402602001604051908101604052809291908181526020018280546105ec90610cbd565b80156106395780601f1061060e57610100808354040283529160200191610639565b820191906000526020600020905b81548152906001019060200180831161061c57829003601f168201915b5050505050815260200190600101906105a1565b600754600090610100900460ff161561066f5750600754610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156107755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916106fd917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610cf1565b60408051601f198184030181529082905261071791610d22565b6000604051808303816000865af19150503d8060008114610754576040519150601f19603f3d011682016040523d82523d6000602084013e610759565b606091505b50915050808060200190518101906107719190610d3e565b9150505b919050565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107d857600080fd5b505af11580156107ec573d6000803e3d6000fd5b5050601b54604051634870496f60e01b81526001600160a01b039091169250634870496f91506108289088908890889088908890600401610e21565b600060405180830381600087803b15801561084257600080fd5b505af1158015610856573d6000803e3d6000fd5b505050505050505050565b6060601380548060200260200160405190810160405280929190818152602001828054801561020e576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116101f0575050505050905090565b61037580610ed883390190565b6020808252825182820181905260009190848201906040850190845b8181101561090f5783516001600160a01b0316835292840192918401916001016108ea565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156109bf57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156109aa5783516001600160e01b0319168252928b019260019290920191908b0190610980565b50978a01979550505091870191600101610943565b50919998505050505050505050565b60005b838110156109e95781810151838201526020016109d1565b838111156109f8576000848401525b50505050565b60008151808452610a168160208601602086016109ce565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610a7f57603f19888603018452610a6d8583516109fe565b94509285019290850190600101610a51565b5092979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610ac557610ac5610a8c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610af457610af4610a8c565b604052919050565b80356001600160a01b038116811461077557600080fd5b600060808284031215610b2557600080fd5b50919050565b60008083601f840112610b3d57600080fd5b50813567ffffffffffffffff811115610b5557600080fd5b6020830191508360208260051b8501011115610b7057600080fd5b9250929050565b600080600080600060e08688031215610b8f57600080fd5b853567ffffffffffffffff80821115610ba757600080fd5b9087019060c0828a031215610bbb57600080fd5b610bc3610aa2565b823581526020610bd4818501610afc565b81830152610be460408501610afc565b6040830152606084013560608301526080840135608083015260a084013583811115610c0f57600080fd5b8085019450508a601f850112610c2457600080fd5b833583811115610c3657610c36610a8c565b610c48601f8201601f19168301610acb565b8181528c83838801011115610c5c57600080fd5b8183870184830137600091810183019190915260a08301529097508801359550610c898960408a01610b13565b945060c0880135915080821115610c9f57600080fd5b50610cac88828901610b2b565b969995985093965092949392505050565b600181811c90821680610cd157607f821691505b602082108103610b2557634e487b7160e01b600052602260045260246000fd5b6001600160e01b0319831681528151600090610d148160048501602087016109ce565b919091016004019392505050565b60008251610d348184602087016109ce565b9190910192915050565b600060208284031215610d5057600080fd5b81518015158114610d6057600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b87811015610e145782840389528135601e19883603018112610dcb57600080fd5b8701803567ffffffffffffffff811115610de457600080fd5b803603891315610df357600080fd5b610e008682898501610d67565b9a87019a9550505090840190600101610daa565b5091979650505050505050565b60e080825286519082015260208601516001600160a01b039081166101008301526040870151166101208201526060860151610140820152608086015161016082015260a086015160c0610180830152600090610e826101a08401826109fe565b9050866020840152610eb86040840187803582526020810135602083015260408101356040830152606081013560608301525050565b82810360c0840152610ecb818587610d90565b9897505050505050505056fe608060405234801561001057600080fd5b506000805460ff191660011790556103488061002d6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634870496f14610030575b600080fd5b61004361003e3660046101cc565b610045565b005b60005460ff161561008d5760405162461bcd60e51b815260206004820152600e60248201526d141bdc9d185b0e881c185d5cd95960921b604482015260640160405180910390fd5b84604001516001600160a01b031685602001516001600160a01b03167fa998e9f42be9c7bd87798d599093d87d0393e08ff742a512c623afe9c6a9c61f60405160405180910390a35050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610115576101156100dc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610144576101446100dc565b604052919050565b80356001600160a01b038116811461016357600080fd5b919050565b60006080828403121561017a57600080fd5b50919050565b60008083601f84011261019257600080fd5b50813567ffffffffffffffff8111156101aa57600080fd5b6020830191508360208260051b85010111156101c557600080fd5b9250929050565b600080600080600060e086880312156101e457600080fd5b853567ffffffffffffffff808211156101fc57600080fd5b9087019060c0828a03121561021057600080fd5b6102186100f2565b82358152602061022981850161014c565b818301526102396040850161014c565b6040830152606084013560608301526080840135608083015260a08401358381111561026457600080fd5b8085019450508a601f85011261027957600080fd5b83358381111561028b5761028b6100dc565b61029d601f8201601f1916830161011b565b8181528c838388010111156102b157600080fd5b8183870184830137600091810183019190915260a083015290975088013595506102de8960408a01610168565b945060c08801359150808211156102f457600080fd5b5061030188828901610180565b96999598509396509294939250505056fea2646970667358221220c6780a421240a4f971c9fd2210c1d2dff868ab9d69234d7dd7e6b3879edc63b264736f6c634300080d0033a2646970667358221220954346fcc74163d262620752b4f53cd68feb8af870a4f741a745efcb0bc4327964736f6c634300080d0033" ) ) syntax Field ::= S2KtestZModPortalTestField From 22b9224e215b4823531f90ae3a8a073d3a65c1ef Mon Sep 17 00:00:00 2001 From: devops Date: Fri, 15 Mar 2024 03:42:17 +0000 Subject: [PATCH 25/28] Set Version: 0.1.205 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 19cae7caf..87fb75320 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.204 +0.1.205 diff --git a/pyproject.toml b/pyproject.toml index 2651e044f..00ce4bf90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.204" +version = "0.1.205" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index fe477f651..bf0f0c71b 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.204' +VERSION: Final = '0.1.205' From 59968916340cd3de7057566affa8643584560dfe Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Fri, 15 Mar 2024 14:56:15 +0800 Subject: [PATCH 26/28] Revert `lemmas.k` renaming --- src/tests/integration/test-data/{sum-to-n-lemmas.k => lemmas.k} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/tests/integration/test-data/{sum-to-n-lemmas.k => lemmas.k} (100%) diff --git a/src/tests/integration/test-data/sum-to-n-lemmas.k b/src/tests/integration/test-data/lemmas.k similarity index 100% rename from src/tests/integration/test-data/sum-to-n-lemmas.k rename to src/tests/integration/test-data/lemmas.k From 871f883fae16057ab0acc04d5c5d64e1df3d17db Mon Sep 17 00:00:00 2001 From: palinatolmach Date: Fri, 15 Mar 2024 15:07:12 +0800 Subject: [PATCH 27/28] Formatting in tests --- src/tests/integration/test_foundry_prove.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tests/integration/test_foundry_prove.py b/src/tests/integration/test_foundry_prove.py index 4cbc2e443..7ef60763d 100644 --- a/src/tests/integration/test_foundry_prove.py +++ b/src/tests/integration/test_foundry_prove.py @@ -82,7 +82,11 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo foundry_kompile( foundry=foundry, includes=(), - requires=[str(TEST_DATA_DIR / 'lemmas.k'), str(TEST_DATA_DIR / 'cse-lemmas.k'), str(TEST_DATA_DIR / 'pausability-lemmas.k')], + requires=[ + str(TEST_DATA_DIR / 'lemmas.k'), + str(TEST_DATA_DIR / 'cse-lemmas.k'), + str(TEST_DATA_DIR / 'pausability-lemmas.k'), + ], imports=['LoopsTest:SUM-TO-N-INVARIANT', 'AssertTest:CSE-LEMMAS', 'PortalTest:PAUSABILITY-LEMMAS'], ) From dfacfa5bce67f868d42613d57b94cdaa82a2bb81 Mon Sep 17 00:00:00 2001 From: devops Date: Sun, 17 Mar 2024 08:16:40 +0000 Subject: [PATCH 28/28] Set Version: 0.1.210 --- package/version | 2 +- pyproject.toml | 2 +- src/kontrol/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/version b/package/version index 50340d8c4..0321d8e76 100644 --- a/package/version +++ b/package/version @@ -1 +1 @@ -0.1.209 +0.1.210 diff --git a/pyproject.toml b/pyproject.toml index aee310b9a..88d7b56ea 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "kontrol" -version = "0.1.209" +version = "0.1.210" description = "Foundry integration for KEVM" authors = [ "Runtime Verification, Inc. ", diff --git a/src/kontrol/__init__.py b/src/kontrol/__init__.py index 07f5fb2bd..1cb35e4a4 100644 --- a/src/kontrol/__init__.py +++ b/src/kontrol/__init__.py @@ -5,4 +5,4 @@ if TYPE_CHECKING: from typing import Final -VERSION: Final = '0.1.209' +VERSION: Final = '0.1.210'