diff --git a/.golangci.yml b/.golangci.yml index 50be17eef8..6d18155050 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 0000000000..f8685d93f2 --- /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 1e8dba8090..b4f80524a0 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 4d2ee16f02..8c30ebc4b2 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 15235b4013..26abd15a47 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 e615ed545a..78f6df9192 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 b709da7445..d40513f89c 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 3987ab1f2f..069dbc2887 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 bd5668b593..42b7f93a49 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 5c2fbb02a1..4e365d4e42 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 bc16735276..a022a62197 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 f6ce05e1a6..5a0db84543 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 7bf1a23480..27a7c47458 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 b6319178d1..8584ce1169 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 270c113f57..78fec96f0e 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 05497ed40a..0357db665b 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 bd11f971fe..31f8b11b51 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 9142924034..4245727857 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 7b681c48d6..4dc3b19aef 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 822198f973..21eb31e2aa 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 8a47fe562b..d68348cff0 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 e4e43d9122..f427e40036 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 524117e81b..f9faae9b11 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 52559688c7..9e8a990d3b 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 f40da7ba87..57e40d4f31 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 4b9fbf4e9d..8cec3103b2 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 a60dd39062..c18ae4c0a1 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 aa9f7928fd..66173d350f 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 (