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 (