Skip to content

Commit

Permalink
Merge pull request #279 from rainlanguage/2024-08-17-nocancun
Browse files Browse the repository at this point in the history
rollback cancun
  • Loading branch information
thedavidmeister authored Aug 17, 2024
2 parents 18345a1 + af37f3a commit a29afe6
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 17 deletions.
2 changes: 0 additions & 2 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,5 @@ remappings = [
"openzeppelin-contracts/=lib/rain.interpreter.interface/lib/openzeppelin-contracts/",
]

evm_version = "cancun"

[fuzz]
runs = 2048
2 changes: 1 addition & 1 deletion lib/rain.interpreter.interface
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
pragma solidity =0.8.25;

/// @dev Hash of the known bytecode.
bytes32 constant BYTECODE_HASH = bytes32(0x2d24f7c06c8a25ca8d164c5603f94c9188f6313694c0cc4183e088689d5ae5dd);
bytes32 constant BYTECODE_HASH = bytes32(0x120bb857e25b094e30d19b11f0bf73b80df656781d0e28d7e7150775a3eebdad);

/// @dev The hash of the meta that describes the contract.
bytes32 constant DESCRIBED_BY_META_HASH = bytes32(0xa06272c146368c8267529773d74e499d3d70b552938f29071e5cb2faf9e3c419);

/// @dev The function pointers for the integrity check fns.
bytes constant INTEGRITY_FUNCTION_POINTERS =
hex"0ec40f400fa3111711201120112a1133114d11f211f2124d12c312d01120112a12d01120112a11201120112a1117111711171117111712da12fe1317112012da1120112012d0112a1120112012d012d013201320132013201120112a13201117112a112a112a112a1120112a112a112a112a112a13201320132013201120112a112a1120112a112a11201120112a13201320112a1317";
hex"0f4c0fca102f11a911b311b311bd11c611e11287128712e3135d136a11b311bd136a11b311bd11b311b311bd11a911a911a911a911a91374139913b311b3137411b311b3136a11bd11b311b3136a136a13bd13bd13bd13bd11b311bd13bd11a911bd11bd11bd11bd11b311bd11bd11bd11bd11bd13bd13bd13bd13bd11b311bd11bd11b311bd11bd11b311b311bd13bd13bd11bd13b3";
4 changes: 2 additions & 2 deletions src/generated/RainterpreterNPE2.pointers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
pragma solidity =0.8.25;

/// @dev Hash of the known bytecode.
bytes32 constant BYTECODE_HASH = bytes32(0x054509c0bb160cddbe87b50b3968c85a4525ae30abc09b3d2555240a2d73438e);
bytes32 constant BYTECODE_HASH = bytes32(0xfee767105c6c61d954e857509e83c39f1352e9ad804e9e9eb297493462c784ce);

/// @dev The function pointers known to the interpreter for dynamic dispatch.
/// By setting these as a constant they can be inlined into the interpreter
/// and loaded at eval time for very low gas (~100) due to the compiler
/// optimising it to a single `codecopy` to build the in memory bytes array.
bytes constant OPCODE_FUNCTION_POINTERS =
hex"076907ba07fc09be0aa30ab50ac70ae90b2b0b7d0b8e0b9f0c400c7d0d380de50e650fa210c20d3811b6125512c91302133b138a138a13c3142714f8154a155e15b615ca15df15f916041618162d1664168a1709175617a317f01807181f186c18a318b018bd18d718eb1902191b192819351942194f199c19e91a361a831a9a1a9a1ab01add1add1af31b211b751b821b821c251d07";
hex"077c07cd080f09db0ac20ad40ae60b090b4b0b9d0bae0bbf0c610c9e0d5c0e0c0e900fd310fa0d5c11f6129813101349138213d113d1140a146f1543159615aa16031617162c164616511665167a16b216d9175917a717f51843185b187418c218f91907191519301945195d19761984199219a019ae19fc1a4a1a981ae61afe1afe1b151b431b431b5a1b891bde1bec1bec1c901d77";
6 changes: 3 additions & 3 deletions src/generated/RainterpreterParserNPE2.pointers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
pragma solidity =0.8.25;

/// @dev Hash of the known bytecode.
bytes32 constant BYTECODE_HASH = bytes32(0x254ee4924ff8b36c5cee7e4985a21529112e8e0e886ea76b89c281fb207e1a55);
bytes32 constant BYTECODE_HASH = bytes32(0x0913de8e0b36ea4fde9df417b198d01eba3e5cb78da1c5c6bbc50bea09444023);

/// @dev The parse meta that is used to lookup word definitions.
/// The structure of the parse meta is:
Expand Down Expand Up @@ -38,11 +38,11 @@ uint8 constant PARSE_META_BUILD_DEPTH = 2;
/// These positional indexes all map to the same indexes looked up in the parse
/// meta.
bytes constant OPERAND_HANDLER_FUNCTION_POINTERS =
hex"18b918b918b9191b199319931993191b191b18b918b918b919931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319931993199319d519931aa219d519931aa21993199318b91b0719931993";
hex"190019001900196519de19de19de1965196519001900190019de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de19de1a2319de1af51a2319de1af519de19de19001b5e19de19de";

/// @dev Every two bytes is a function pointer for a literal parser.
/// Literal dispatches are determined by the first byte(s) of the literal
/// rather than a full word lookup, and are done with simple conditional
/// jumps as the possibilities are limited compared to the number of words we
/// have.
bytes constant LITERAL_PARSER_FUNCTION_POINTERS = hex"0f3e1202160416db";
bytes constant LITERAL_PARSER_FUNCTION_POINTERS = hex"0f76123e1645171f";
12 changes: 6 additions & 6 deletions src/generated/RainterpreterReferenceExternNPE2.pointers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
pragma solidity =0.8.25;

/// @dev Hash of the known bytecode.
bytes32 constant BYTECODE_HASH = bytes32(0x8e92e214204a744c5c6417055981536dfc349001e7ad81c1c6717525dc9b286f);
bytes32 constant BYTECODE_HASH = bytes32(0x4247a5ea9bd8abcbe989b8ae09f2b9b29cafa521add389fc7b6f2b1ca3c49ecc);

/// @dev The hash of the meta that describes the contract.
bytes32 constant DESCRIBED_BY_META_HASH = bytes32(0xadf71693c6ecf3fd560904bc46973d1b6e651440d15366673f9b3984749e7c16);
Expand Down Expand Up @@ -42,25 +42,25 @@ uint8 constant PARSE_META_BUILD_DEPTH = 1;
/// bytecode that dials back into this contract at eval time, and mapping
/// to things that happen entirely on the interpreter such as well known
/// constants and references to the context grid.
bytes constant SUB_PARSER_WORD_PARSERS = hex"075707770785079307a2";
bytes constant SUB_PARSER_WORD_PARSERS = hex"0775079707a607b607c7";

/// @dev Every two bytes is a function pointer for an operand handler.
/// These positional indexes all map to the same indexes looked up in the parse
/// meta.
bytes constant OPERAND_HANDLER_FUNCTION_POINTERS = hex"09f70a3909f709f709f7";
bytes constant OPERAND_HANDLER_FUNCTION_POINTERS = hex"0a270a6c0a270a270a27";

/// @dev Every two bytes is a function pointer for a literal parser.
/// Literal dispatches are determined by the first byte(s) of the literal
/// rather than a full word lookup, and are done with simple conditional
/// jumps as the possibilities are limited compared to the number of words we
/// have.
bytes constant LITERAL_PARSER_FUNCTION_POINTERS = hex"09c9";
bytes constant LITERAL_PARSER_FUNCTION_POINTERS = hex"09f8";

/// @dev The function pointers for the integrity check fns.
bytes constant INTEGRITY_FUNCTION_POINTERS = hex"0884";
bytes constant INTEGRITY_FUNCTION_POINTERS = hex"08ad";

/// @dev The function pointers known to the interpreter for dynamic dispatch.
/// By setting these as a constant they can be inlined into the interpreter
/// and loaded at eval time for very low gas (~100) due to the compiler
/// optimising it to a single `codecopy` to build the in memory bytes array.
bytes constant OPCODE_FUNCTION_POINTERS = hex"0841";
bytes constant OPCODE_FUNCTION_POINTERS = hex"0869";
2 changes: 1 addition & 1 deletion src/generated/RainterpreterStoreNPE2.pointers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
pragma solidity =0.8.25;

/// @dev Hash of the known bytecode.
bytes32 constant BYTECODE_HASH = bytes32(0x6bdbc3f497c4148c6a2b10bcea288788fce302067d95456daf8bb8fbfac229b7);
bytes32 constant BYTECODE_HASH = bytes32(0x2a4559222e2f3600b2d393715de8af57620439684463f745059c653bbfe3727f);

0 comments on commit a29afe6

Please sign in to comment.