diff --git a/.golangci.yml b/.golangci.yml index 50be17eef8f..6d181550500 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -16,6 +16,7 @@ linters: - gci - gocheckcompilerdirectives - gofmt + - goheader - goimports - gomodguard - gosec @@ -53,6 +54,10 @@ linters-settings: - alias - dot - blank + goheader: + values: + template-path: .libevm-header + gomodguard: blocked: modules: @@ -78,6 +83,7 @@ issues: - errcheck - gci - gofmt + - goheader - gosec - gosimple - govet @@ -92,6 +98,7 @@ issues: - testifylint - thelper - tparallel + - typecheck - usestdlibvars - varnamelen - wastedassign diff --git a/.libevm-header b/.libevm-header new file mode 100644 index 00000000000..f8685d93f28 --- /dev/null +++ b/.libevm-header @@ -0,0 +1,15 @@ +Copyright {{ MOD-YEAR }} the libevm authors. + +The libevm additions to go-ethereum are free software: you can redistribute +them and/or modify them under the terms of the GNU Lesser General Public License +as published by the Free Software Foundation, either version 3 of the License, +or (at your option) any later version. + +The libevm additions are distributed in the hope that they will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the go-ethereum library. If not, see +. diff --git a/README.md b/README.md index 1e8dba80909..b4f80524a04 100644 --- a/README.md +++ b/README.md @@ -356,3 +356,9 @@ also included in our repository in the `COPYING.LESSER` file. The go-ethereum binaries (i.e. all code inside of the `cmd` directory) are licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html), also included in our repository in the `COPYING` file. + +The libevm (i) _additions_ to the go-ethereum library (i.e. all code in files with `libevm` in their full path, +be it a directory or file name); and (ii) _modifications_ to existing go-ethereum code; are licensed under the +[GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html), +also included in our repository in the `COPYING.LESSER` file. A comprehensive outline of _modifications_ is +produced by the [libevm delta workflow](https://github.com/ava-labs/go-ethereum/actions/workflows/libevm-delta.yml). diff --git a/core/state_transition.libevm.go b/core/state_transition.libevm.go index 4d2ee16f020..8c30ebc4b2e 100644 --- a/core/state_transition.libevm.go +++ b/core/state_transition.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package core // canExecuteTransaction is a convenience wrapper for calling the diff --git a/core/state_transition.libevm_test.go b/core/state_transition.libevm_test.go index 15235b40133..26abd15a47d 100644 --- a/core/state_transition.libevm_test.go +++ b/core/state_transition.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package core_test import ( diff --git a/core/vm/contracts.libevm.go b/core/vm/contracts.libevm.go index e615ed545a6..78f6df9192b 100644 --- a/core/vm/contracts.libevm.go +++ b/core/vm/contracts.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm import ( diff --git a/core/vm/contracts.libevm_test.go b/core/vm/contracts.libevm_test.go index b709da7445f..d40513f89c4 100644 --- a/core/vm/contracts.libevm_test.go +++ b/core/vm/contracts.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm_test import ( diff --git a/core/vm/evm.libevm_test.go b/core/vm/evm.libevm_test.go index 3987ab1f2fe..069dbc28879 100644 --- a/core/vm/evm.libevm_test.go +++ b/core/vm/evm.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm import ( diff --git a/core/vm/hooks.libevm.go b/core/vm/hooks.libevm.go index bd5668b593d..42b7f93a49e 100644 --- a/core/vm/hooks.libevm.go +++ b/core/vm/hooks.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm import "github.com/ethereum/go-ethereum/params" diff --git a/core/vm/libevm_test.go b/core/vm/libevm_test.go index 5c2fbb02a14..4e365d4e425 100644 --- a/core/vm/libevm_test.go +++ b/core/vm/libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm // The original RunPrecompiledContract was migrated to being a method on diff --git a/core/vm/stack.libevm.go b/core/vm/stack.libevm.go index bc16735276c..a022a62197e 100644 --- a/core/vm/stack.libevm.go +++ b/core/vm/stack.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm import "github.com/holiman/uint256" diff --git a/core/vm/stack.libevm_test.go b/core/vm/stack.libevm_test.go index f6ce05e1a6b..5a0db845439 100644 --- a/core/vm/stack.libevm_test.go +++ b/core/vm/stack.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package vm_test import ( diff --git a/libevm/ethtest/evm.go b/libevm/ethtest/evm.go index 7bf1a23480c..27a7c474584 100644 --- a/libevm/ethtest/evm.go +++ b/libevm/ethtest/evm.go @@ -1,3 +1,19 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . + // Package ethtest provides utility functions for use in testing // Ethereum-related functionality. package ethtest diff --git a/libevm/ethtest/rand.go b/libevm/ethtest/rand.go index b6319178d1e..8584ce11698 100644 --- a/libevm/ethtest/rand.go +++ b/libevm/ethtest/rand.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package ethtest import ( diff --git a/libevm/hookstest/stub.go b/libevm/hookstest/stub.go index 270c113f571..78fec96f0e7 100644 --- a/libevm/hookstest/stub.go +++ b/libevm/hookstest/stub.go @@ -1,3 +1,19 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . + // Package hookstest provides test doubles and convenience wrappers for testing // libevm hooks. package hookstest diff --git a/libevm/interfaces_test.go b/libevm/interfaces_test.go index 05497ed40ab..0357db665b0 100644 --- a/libevm/interfaces_test.go +++ b/libevm/interfaces_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package libevm_test import ( diff --git a/libevm/libevm.go b/libevm/libevm.go index bd11f971fef..31f8b11b510 100644 --- a/libevm/libevm.go +++ b/libevm/libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package libevm import ( diff --git a/libevm/pseudo/constructor.go b/libevm/pseudo/constructor.go index 91429240340..42457278572 100644 --- a/libevm/pseudo/constructor.go +++ b/libevm/pseudo/constructor.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package pseudo // A Constructor returns newly constructed [Type] instances for a pre-registered diff --git a/libevm/pseudo/constructor_test.go b/libevm/pseudo/constructor_test.go index 7b681c48d63..4dc3b19aef6 100644 --- a/libevm/pseudo/constructor_test.go +++ b/libevm/pseudo/constructor_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package pseudo import ( diff --git a/libevm/pseudo/type.go b/libevm/pseudo/type.go index 822198f9737..21eb31e2aa2 100644 --- a/libevm/pseudo/type.go +++ b/libevm/pseudo/type.go @@ -1,3 +1,19 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . + // Package pseudo provides a bridge between generic and non-generic code via // pseudo-types and pseudo-values. With careful usage, there is minimal // reduction in type safety. diff --git a/libevm/pseudo/type_test.go b/libevm/pseudo/type_test.go index 8a47fe562b8..d68348cff06 100644 --- a/libevm/pseudo/type_test.go +++ b/libevm/pseudo/type_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package pseudo import ( diff --git a/params/config.libevm.go b/params/config.libevm.go index e4e43d91228..f427e400360 100644 --- a/params/config.libevm.go +++ b/params/config.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package params import ( diff --git a/params/config.libevm_test.go b/params/config.libevm_test.go index 524117e81b7..f9faae9b115 100644 --- a/params/config.libevm_test.go +++ b/params/config.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package params import ( diff --git a/params/example.libevm_test.go b/params/example.libevm_test.go index 52559688c73..9e8a990d3b6 100644 --- a/params/example.libevm_test.go +++ b/params/example.libevm_test.go @@ -1,3 +1,19 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . + // In practice, everything in this file except for the Example() function SHOULD // be a standalone package, typically called `extraparams`. As long as this new // package is imported anywhere, its init() function will register the "extra" diff --git a/params/hooks.libevm.go b/params/hooks.libevm.go index f40da7ba87b..57e40d4f31a 100644 --- a/params/hooks.libevm.go +++ b/params/hooks.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package params import ( diff --git a/params/hooks.libevm_test.go b/params/hooks.libevm_test.go index 4b9fbf4e9d1..8cec3103b20 100644 --- a/params/hooks.libevm_test.go +++ b/params/hooks.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package params_test import ( diff --git a/params/json.libevm.go b/params/json.libevm.go index a60dd39062a..c18ae4c0a10 100644 --- a/params/json.libevm.go +++ b/params/json.libevm.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package params import ( diff --git a/params/json.libevm_test.go b/params/json.libevm_test.go index aa9f7928fdf..66173d350f7 100644 --- a/params/json.libevm_test.go +++ b/params/json.libevm_test.go @@ -1,3 +1,18 @@ +// Copyright 2024 the libevm authors. +// +// The libevm additions to go-ethereum are free software: you can redistribute +// them and/or modify them under the terms of the GNU Lesser General Public License +// as published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The libevm additions are distributed in the hope that they will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see +// . package params import (