From aa7fd27a15b68c3caf4471abf457bcaf647aa0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20Gir=C3=A1ldez?= Date: Mon, 2 Dec 2024 14:48:19 -0500 Subject: [PATCH] Bind `%YulExternal` members only inside assembly blocks --- .../inputs/language/bindings/rules.msgb | 25 ++++++++++++++--- .../inputs/language/src/definition.rs | 27 ++++++++++--------- .../bindings/generated/binding_rules.rs | 25 ++++++++++++++--- .../bindings/generated/built_ins/0.4.11.sol | 10 +++---- .../bindings/generated/built_ins/0.4.17.sol | 10 +++---- .../bindings/generated/built_ins/0.4.22.sol | 10 +++---- .../bindings/generated/built_ins/0.5.0.sol | 10 +++---- .../bindings/generated/built_ins/0.5.3.sol | 10 +++---- .../bindings/generated/built_ins/0.6.0.sol | 10 +++---- .../bindings/generated/built_ins/0.6.2.sol | 10 +++---- .../bindings/generated/built_ins/0.6.7.sol | 10 +++---- .../bindings/generated/built_ins/0.6.8.sol | 10 +++---- .../bindings/generated/built_ins/0.7.0.sol | 10 +++---- .../bindings/generated/built_ins/0.8.0.sol | 10 +++---- .../bindings/generated/built_ins/0.8.11.sol | 10 +++---- .../bindings/generated/built_ins/0.8.18.sol | 10 +++---- .../bindings/generated/built_ins/0.8.2.sol | 10 +++---- .../bindings/generated/built_ins/0.8.24.sol | 10 +++---- .../bindings/generated/built_ins/0.8.26.sol | 10 +++---- .../bindings/generated/built_ins/0.8.4.sol | 10 +++---- .../bindings/generated/built_ins/0.8.7.sol | 10 +++---- .../bindings/generated/built_ins/0.8.8.sol | 10 +++---- 22 files changed, 154 insertions(+), 113 deletions(-) diff --git a/crates/solidity/inputs/language/bindings/rules.msgb b/crates/solidity/inputs/language/bindings/rules.msgb index 9e39f620dc..15d336413f 100644 --- a/crates/solidity/inputs/language/bindings/rules.msgb +++ b/crates/solidity/inputs/language/bindings/rules.msgb @@ -102,9 +102,9 @@ inherit .star_extension ;; Special case for built-ins: we want to export all symbols in the contract: ;; functions, types and state variables. All built-in symbols are defined in an -;; internal contract named '%BuiltIns%' (renamed from '$BuiltIns$') so we need -;; to export all its members and type members directly as a source unit -;; definition. +;; internal contract named '%SolidityBuiltIns%' (renamed from +;; '$SolidityBuiltIns$') so we need to export all its members and type members +;; directly as a source unit definition. ;; __SLANG_SOLIDITY_BUILT_INS_CONTRACT_NAME__ keep in sync with language definition. @source_unit [SourceUnit [SourceUnitMembers [SourceUnitMember @contract [ContractDefinition name: ["%SolidityBuiltIns%"]]] @@ -114,6 +114,20 @@ inherit .star_extension } } +;; Similarly for Yul built-ins, we export all the symbols in the `%YulBuiltIns%` +;; contract guarded by a `@yul` symbol. +;; __SLANG_YUL_BUILT_INS_CONTRACT_NAME__ keep in sync with language definition file. +@source_unit [SourceUnit [SourceUnitMembers + [SourceUnitMember @contract [ContractDefinition name: ["%YulBuiltIns%"]]] +]] { + if (is-system-file FILE_PATH) { + node yul + attr (yul) pop_symbol = "@yul" + edge @source_unit.defs -> yul + edge yul -> @contract.instance + } +} + @source_unit [SourceUnit [SourceUnitMembers [SourceUnitMember @using [UsingDirective]]]] { ; TODO: this is the hook for top-level extensions, but this should connect to ; an extensions scope that gets pushed to the scope stack, as in the case of @@ -1992,6 +2006,11 @@ inherit .star_extension ;;; Assembly @stmt [Statement [AssemblyStatement @body body: [YulBlock]]] { edge @body.lexical_scope -> @stmt.lexical_scope + + node yul + attr (yul) push_symbol = "@yul" + edge @body.lexical_scope -> yul + edge yul -> @stmt.lexical_scope } diff --git a/crates/solidity/inputs/language/src/definition.rs b/crates/solidity/inputs/language/src/definition.rs index bbec52a9b3..87ca5ed0dd 100644 --- a/crates/solidity/inputs/language/src/definition.rs +++ b/crates/solidity/inputs/language/src/definition.rs @@ -7060,17 +7060,6 @@ codegen_language_macros::compile!(Language( ], enabled = From("0.8.8") ), - BuiltInType( - name = "$YulExternal", - fields = [ - // These apply to state and storage variables - BuiltInField(definition = "uint slot"), - BuiltInField(definition = "uint offset"), - // Dynamic calldata arrays also have a length - BuiltInField(definition = "uint length") - ], - functions = [] - ), BuiltInVariable(definition = "$Function $placeholder"), BuiltInVariable(definition = "$AbiType abi"), BuiltInVariable(definition = "$BlockType block"), @@ -7081,6 +7070,20 @@ codegen_language_macros::compile!(Language( BuiltInVariable(definition = "$TransactionType tx") ] ), - BuiltInContext(name = "$YulBuiltIns$", definitions = []) + BuiltInContext( + // __SLANG_YUL_BUILT_INS_CONTRACT_NAME__ keep in sync with binding rules file. + name = "$YulBuiltIns$", + definitions = [BuiltInType( + name = "$YulExternal", + fields = [ + // These apply to state and storage variables + BuiltInField(definition = "uint slot"), + BuiltInField(definition = "uint offset"), + // Dynamic calldata arrays also have a length + BuiltInField(definition = "uint length") + ], + functions = [] + )] + ) ] )); diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/binding_rules.rs b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/binding_rules.rs index c5390e9144..8a61895225 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/binding_rules.rs +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/binding_rules.rs @@ -107,9 +107,9 @@ inherit .star_extension ;; Special case for built-ins: we want to export all symbols in the contract: ;; functions, types and state variables. All built-in symbols are defined in an -;; internal contract named '%BuiltIns%' (renamed from '$BuiltIns$') so we need -;; to export all its members and type members directly as a source unit -;; definition. +;; internal contract named '%SolidityBuiltIns%' (renamed from +;; '$SolidityBuiltIns$') so we need to export all its members and type members +;; directly as a source unit definition. ;; __SLANG_SOLIDITY_BUILT_INS_CONTRACT_NAME__ keep in sync with language definition. @source_unit [SourceUnit [SourceUnitMembers [SourceUnitMember @contract [ContractDefinition name: ["%SolidityBuiltIns%"]]] @@ -119,6 +119,20 @@ inherit .star_extension } } +;; Similarly for Yul built-ins, we export all the symbols in the `%YulBuiltIns%` +;; contract guarded by a `@yul` symbol. +;; __SLANG_YUL_BUILT_INS_CONTRACT_NAME__ keep in sync with language definition file. +@source_unit [SourceUnit [SourceUnitMembers + [SourceUnitMember @contract [ContractDefinition name: ["%YulBuiltIns%"]]] +]] { + if (is-system-file FILE_PATH) { + node yul + attr (yul) pop_symbol = "@yul" + edge @source_unit.defs -> yul + edge yul -> @contract.instance + } +} + @source_unit [SourceUnit [SourceUnitMembers [SourceUnitMember @using [UsingDirective]]]] { ; TODO: this is the hook for top-level extensions, but this should connect to ; an extensions scope that gets pushed to the scope stack, as in the case of @@ -1997,6 +2011,11 @@ inherit .star_extension ;;; Assembly @stmt [Statement [AssemblyStatement @body body: [YulBlock]]] { edge @body.lexical_scope -> @stmt.lexical_scope + + node yul + attr (yul) push_symbol = "@yul" + edge @body.lexical_scope -> yul + edge yul -> @stmt.lexical_scope } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.11.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.11.sol index d9892d51ad..4936f6ab31 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.11.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.11.sol @@ -80,11 +80,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -95,4 +90,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.17.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.17.sol index cc4e68a06b..f268b40a35 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.17.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.17.sol @@ -81,11 +81,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -96,4 +91,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.22.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.22.sol index c2ef8e0bf7..6b5ae85d7c 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.22.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.4.22.sol @@ -89,11 +89,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -104,4 +99,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.0.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.0.sol index 7c2f75bfe0..cc266cadec 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.0.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.0.sol @@ -86,11 +86,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -101,4 +96,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.3.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.3.sol index 9dc31b2105..0e63ab178c 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.3.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.5.3.sol @@ -88,11 +88,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -103,4 +98,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.0.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.0.sol index 6e8625aad0..dc590002de 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.0.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.0.sol @@ -95,11 +95,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -110,4 +105,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.2.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.2.sol index f9af769bfc..5f69762212 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.2.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.2.sol @@ -100,11 +100,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -115,4 +110,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.7.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.7.sol index dff2c356f4..f0beaad37c 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.7.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.7.sol @@ -102,11 +102,6 @@ contract $SolidityBuiltIns$ { } struct $IntTypeType { } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -117,4 +112,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.8.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.8.sol index 868ba286ff..3823b2c356 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.8.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.6.8.sol @@ -104,11 +104,6 @@ contract $SolidityBuiltIns$ { int min; int max; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -119,4 +114,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.7.0.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.7.0.sol index bb99b4f77d..6d411c0bbf 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.7.0.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.7.0.sol @@ -100,11 +100,6 @@ contract $SolidityBuiltIns$ { int min; int max; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -114,4 +109,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.0.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.0.sol index 0631569dd2..95f6bf0416 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.0.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.0.sol @@ -98,11 +98,6 @@ contract $SolidityBuiltIns$ { int min; int max; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -112,4 +107,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.11.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.11.sol index c4005de7a4..b4f04737bf 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.11.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.11.sol @@ -108,11 +108,6 @@ contract $SolidityBuiltIns$ { function($WrappedType elementaryType) returns ($UserType) wrap; function($UserType userType) returns ($WrappedType) unwrap; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -122,4 +117,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.18.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.18.sol index 86967d6274..e97e374b67 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.18.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.18.sol @@ -109,11 +109,6 @@ contract $SolidityBuiltIns$ { function($WrappedType elementaryType) returns ($UserType) wrap; function($UserType userType) returns ($WrappedType) unwrap; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -123,4 +118,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.2.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.2.sol index fdc28984be..f855d6a762 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.2.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.2.sol @@ -99,11 +99,6 @@ contract $SolidityBuiltIns$ { int min; int max; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -113,4 +108,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.24.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.24.sol index 413e12a2ac..00e48d3246 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.24.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.24.sol @@ -111,11 +111,6 @@ contract $SolidityBuiltIns$ { function($WrappedType elementaryType) returns ($UserType) wrap; function($UserType userType) returns ($WrappedType) unwrap; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -125,4 +120,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.26.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.26.sol index e38d1d684c..4b5afecc8a 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.26.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.26.sol @@ -112,11 +112,6 @@ contract $SolidityBuiltIns$ { function($WrappedType elementaryType) returns ($UserType) wrap; function($UserType userType) returns ($WrappedType) unwrap; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -126,4 +121,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.4.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.4.sol index cb2d73f374..c0514a1cb3 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.4.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.4.sol @@ -102,11 +102,6 @@ contract $SolidityBuiltIns$ { int min; int max; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -116,4 +111,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.7.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.7.sol index d088bdd3c2..13eedb2a7f 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.7.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.7.sol @@ -103,11 +103,6 @@ contract $SolidityBuiltIns$ { int min; int max; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -117,4 +112,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } } diff --git a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.8.sol b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.8.sol index a235be17df..0adde686f6 100644 --- a/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.8.sol +++ b/crates/solidity/outputs/cargo/crate/src/generated/bindings/generated/built_ins/0.8.8.sol @@ -107,11 +107,6 @@ contract $SolidityBuiltIns$ { function($WrappedType elementaryType) returns ($UserType) wrap; function($UserType userType) returns ($WrappedType) unwrap; } - struct $YulExternal { - uint slot; - uint offset; - uint length; - } $Function $placeholder; $AbiType abi; $BlockType block; @@ -121,4 +116,9 @@ contract $SolidityBuiltIns$ { $TransactionType tx; } contract $YulBuiltIns$ { + struct $YulExternal { + uint slot; + uint offset; + uint length; + } }