From 1dd94709b58c6622ab85890a09f9dcbd930e626e Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Wed, 24 Apr 2024 14:27:49 -0400 Subject: [PATCH 01/11] Injecting enabled precompiles list to EVM (cherry picked from commit 4dbf483220feabccff16d6bf820427a3ea9457c2) # Conflicts: # core/vm/evm.go --- core/vm/evm.go | 33 +++++++++++ core/vm/precompile_test.go | 83 ++++++++++++++++++--------- precompile/modules/registerer.go | 4 ++ precompile/modules/registerer_test.go | 10 +--- 4 files changed, 95 insertions(+), 35 deletions(-) diff --git a/core/vm/evm.go b/core/vm/evm.go index c31bbf72f45c..1785cd56e39e 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -18,6 +18,7 @@ package vm import ( "math/big" + "slices" "sync/atomic" "time" @@ -67,6 +68,10 @@ func (evm *EVM) precompile(addr common.Address) (contract.StatefulPrecompiledCon if !ok { return nil, false } + // Precompile is registered, check if it's enabled at this block height + if !slices.Contains(evm.enabledPrecompiles, addr) { + return nil, false + } return module.Contract, true } @@ -135,11 +140,14 @@ type EVM struct { // available gas is calculated in gasCall* according to the 63/64 rule and later // applied in opCall*. callGasTemp uint64 + + enabledPrecompiles []common.Address } // NewEVM returns a new EVM. The returned EVM is not thread safe and should // only ever be used *once*. func NewEVM(blockCtx BlockContext, txCtx TxContext, statedb StateDB, chainConfig *params.ChainConfig, config Config) *EVM { +<<<<<<< HEAD evm := &EVM{ Context: blockCtx, TxContext: txCtx, @@ -147,6 +155,31 @@ func NewEVM(blockCtx BlockContext, txCtx TxContext, statedb StateDB, chainConfig Config: config, chainConfig: chainConfig, chainRules: chainConfig.Rules(blockCtx.BlockNumber, blockCtx.Random != nil), +======= + return NewEVMWithEnabledPrecompiles(blockCtx, txCtx, statedb, chainConfig, config, nil) +} + +func NewEVMWithEnabledPrecompiles(blockCtx BlockContext, txCtx TxContext, statedb StateDB, chainConfig *params.ChainConfig, config Config, enabledPrecompiles []common.Address) *EVM { + // If basefee tracking is disabled (eth_call, eth_estimateGas, etc), and no + // gas prices were specified, lower the basefee to 0 to avoid breaking EVM + // invariants (basefee < feecap) + if config.NoBaseFee { + if txCtx.GasPrice.BitLen() == 0 { + blockCtx.BaseFee = new(big.Int) + } + if txCtx.BlobFeeCap != nil && txCtx.BlobFeeCap.BitLen() == 0 { + blockCtx.BlobBaseFee = new(big.Int) + } + } + evm := &EVM{ + Context: blockCtx, + TxContext: txCtx, + StateDB: statedb, + Config: config, + chainConfig: chainConfig, + chainRules: chainConfig.Rules(blockCtx.BlockNumber, blockCtx.Random != nil, blockCtx.Time), + enabledPrecompiles: enabledPrecompiles, +>>>>>>> 4dbf48322 (Injecting enabled precompiles list to EVM) } evm.interpreter = NewEVMInterpreter(evm, config) return evm diff --git a/core/vm/precompile_test.go b/core/vm/precompile_test.go index 7f1a35bd9190..e276f8ccf34e 100644 --- a/core/vm/precompile_test.go +++ b/core/vm/precompile_test.go @@ -25,32 +25,59 @@ func (c *mockStatefulPrecompiledContract) Run( } func TestEvmIsPrecompileMethod(t *testing.T) { - evm := NewEVM(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}) - - var ( - existingContractAddress = common.HexToAddress("0x0300000000000000000000000000000000000000") - unexistingContractAddress = common.HexToAddress("0x0300000000000000000000000000000000000001") - ) - - // check that precompile doesn't exist before registration - precompiledContract, ok := evm.precompile(existingContractAddress) - require.False(t, ok) - require.Nil(t, precompiledContract) - - module := modules.Module{ - Address: existingContractAddress, - Contract: new(mockStatefulPrecompiledContract), - } - err := modules.RegisterModule(module) - require.NoError(t, err) - - // check that precompile exists after registration - precompiledContract, ok = evm.precompile(existingContractAddress) - require.True(t, ok) - require.NotNil(t, precompiledContract) - - // check that precompile doesn't exist - precompiledContract, ok = evm.precompile(unexistingContractAddress) - require.False(t, ok) - require.Nil(t, precompiledContract) + var address = common.HexToAddress("0x0300000000000000000000000000000000000000") + + t.Run("not registered and not enabled", func(t *testing.T) { + modules.ClearRegisteredModules() + evm := NewEVMWithEnabledPrecompiles(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}, nil) + + precompile, ok := evm.precompile(address) + require.False(t, ok) + require.Nil(t, precompile) + }) + + t.Run("registered but not enabled", func(t *testing.T) { + modules.ClearRegisteredModules() + evm := NewEVMWithEnabledPrecompiles(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}, nil) + + module := modules.Module{ + Address: address, + Contract: new(mockStatefulPrecompiledContract), + } + err := modules.RegisterModule(module) + require.NoError(t, err) + + precompile, ok := evm.precompile(address) + require.False(t, ok) + require.Nil(t, precompile) + }) + + t.Run("not registered but enabled", func(t *testing.T) { + modules.ClearRegisteredModules() + enabledPrecompiles := []common.Address{address} + evm := NewEVMWithEnabledPrecompiles(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}, enabledPrecompiles) + + precompile, ok := evm.precompile(address) + require.False(t, ok) + require.Nil(t, precompile) + }) + + t.Run("registered and enabled", func(t *testing.T) { + modules.ClearRegisteredModules() + enabledPrecompiles := []common.Address{address} + evm := NewEVMWithEnabledPrecompiles(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}, enabledPrecompiles) + + module := modules.Module{ + Address: address, + Contract: new(mockStatefulPrecompiledContract), + } + err := modules.RegisterModule(module) + require.NoError(t, err) + + precompile, ok := evm.precompile(address) + require.True(t, ok) + require.NotNil(t, precompile) + }) + + // TODO(yevhenii): add more complex scenarios? } diff --git a/precompile/modules/registerer.go b/precompile/modules/registerer.go index 9a70fed2cddc..99ee1ac297a5 100644 --- a/precompile/modules/registerer.go +++ b/precompile/modules/registerer.go @@ -48,3 +48,7 @@ func insertSortedByAddress(data []Module, stm Module) []Module { sort.Sort(moduleArray(data)) return data } + +func ClearRegisteredModules() { + registeredModules = make([]Module, 0) +} diff --git a/precompile/modules/registerer_test.go b/precompile/modules/registerer_test.go index 1fba533a7eb8..e0b3215714cb 100644 --- a/precompile/modules/registerer_test.go +++ b/precompile/modules/registerer_test.go @@ -12,7 +12,7 @@ import ( ) func TestInsertSortedByAddress(t *testing.T) { - clearRegisteredModules() + ClearRegisteredModules() data := make([]Module, 0) // test that the module is registered in sorted order @@ -42,7 +42,7 @@ func TestInsertSortedByAddress(t *testing.T) { } func TestRegisterModule(t *testing.T) { - clearRegisteredModules() + ClearRegisteredModules() const moduleNum = 4 // create modules @@ -80,7 +80,7 @@ func TestRegisterModule(t *testing.T) { } func TestRegisterModuleWithDuplicateAddress(t *testing.T) { - clearRegisteredModules() + ClearRegisteredModules() modules := []Module{ { @@ -99,7 +99,3 @@ func TestRegisterModuleWithDuplicateAddress(t *testing.T) { registeredModules := RegisteredModules() require.Equal(t, modules, registeredModules) } - -func clearRegisteredModules() { - registeredModules = make([]Module, 0) -} From 8d9b928cb833eb5e7c3883d5fd3d19a0644e4ef3 Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Fri, 26 Apr 2024 19:15:48 -0400 Subject: [PATCH 02/11] CR's fixes (cherry picked from commit 91a9a530610477112dd90de10885a4d0aa803286) --- core/vm/evm.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/vm/evm.go b/core/vm/evm.go index 1785cd56e39e..0f77238b81db 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -57,25 +57,29 @@ func (evm *EVM) precompile(addr common.Address) (contract.StatefulPrecompiledCon precompiles = PrecompiledContractsHomestead } - // Check the existing precompiles first + // Check the native stateless precompiles first p, ok := precompiles[addr] if ok { return p, true } - // Otherwise, check for the additionally configured precompiles. - module, ok := modules.GetPrecompileModuleByAddress(addr) - if !ok { + // Otherwise, check for the additionally configured stateful precompiles + if !evm.isStatefulPrecompileEnabled(addr) { return nil, false } - // Precompile is registered, check if it's enabled at this block height - if !slices.Contains(evm.enabledPrecompiles, addr) { + module, ok := modules.GetPrecompileModuleByAddress(addr) + if !ok { return nil, false } return module.Contract, true } +// isStatefulPrecompileEnabled checks if stateful precompile is enabled at current block height +func (evm *EVM) isStatefulPrecompileEnabled(addr common.Address) bool { + return slices.Contains(evm.enabledPrecompiles, addr) +} + // BlockContext provides the EVM with auxiliary information. Once provided // it shouldn't be modified. type BlockContext struct { From 666e62eaaeab6514088185ab39ef276d443df97c Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Fri, 26 Apr 2024 19:35:03 -0400 Subject: [PATCH 03/11] Add test for NewEVM constructor (cherry picked from commit eb83d297f3693eebf8d7c5bc1277b9cf13154b88) --- core/vm/precompile_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/vm/precompile_test.go b/core/vm/precompile_test.go index e276f8ccf34e..df37e756296d 100644 --- a/core/vm/precompile_test.go +++ b/core/vm/precompile_test.go @@ -27,6 +27,12 @@ func (c *mockStatefulPrecompiledContract) Run( func TestEvmIsPrecompileMethod(t *testing.T) { var address = common.HexToAddress("0x0300000000000000000000000000000000000000") + t.Run("test NewEVM constructor", func(t *testing.T) { + modules.ClearRegisteredModules() + evm := NewEVM(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}) + require.Nil(t, evm.enabledPrecompiles) + }) + t.Run("not registered and not enabled", func(t *testing.T) { modules.ClearRegisteredModules() evm := NewEVMWithEnabledPrecompiles(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}, nil) From fd5e52e6c97181586179257ce921dad17c673168 Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Fri, 26 Apr 2024 20:29:56 -0400 Subject: [PATCH 04/11] Update linter version (cherry picked from commit 2c662dca339af3c6cbf947dd67a50d6be4c37394) # Conflicts: # build/checksums.txt --- build/checksums.txt | 84 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/build/checksums.txt b/build/checksums.txt index c1da00f4ba76..9c516c997a84 100644 --- a/build/checksums.txt +++ b/build/checksums.txt @@ -15,6 +15,7 @@ e3d536e7873639f85353e892444f83b14cb6670603961f215986ae8e28e8e07a go1.18.5.linux 73753620602d4b4469770040c53db55e5dd6af2ad07ecc18f71f164c3224eaad go1.18.5.windows-amd64.zip 4d154626affff12ef73ea1017af0e5b52dbc839ef92f6f9e76cf4f71278a5744 go1.18.5.windows-arm64.zip +<<<<<<< HEAD 05dce78aeca810543f98aa6658b1017dc15c7a1fffc317daaaadc0b6e5095bdf golangci-lint-1.51.0-windows-386.zip 0df660139382a970da8cc06a7b86e659f8769dfda024ca2a1fd56d5b5191b21d golangci-lint-1.51.0-linux-mips64.rpm 0e61e018d5cada36f69d6c7d8f246a7dd8e35b6860037df5af9c95414cbe4827 golangci-lint-1.51.0-freebsd-armv6.tar.gz @@ -63,3 +64,86 @@ e885f3ad3f16084a01e29f35d4d97eee3d25217655dc31f545f035e1bd678000 golangci-lint- eda2c9b4f81cc37a4ebd24f6374e82b9eb9fea3859e19489e2229ff1ad212ee9 golangci-lint-1.51.0-linux-mips64.deb fa375c169a00989f37432b24aa52628eb563707a246b697edac0c5734d81fbd4 golangci-lint-1.51.0-linux-ppc64le.rpm fd7b5ce75c02826ffee7671df119c23d65799aa74533d25c6832d6fbba567801 golangci-lint-1.51.0-linux-s390x.rpm +======= +# version:golang 1.21.5 +# https://go.dev/dl/ +285cbbdf4b6e6e62ed58f370f3f6d8c30825d6e56c5853c66d3c23bcdb09db19 go1.21.5.src.tar.gz +a2e1d5743e896e5fe1e7d96479c0a769254aed18cf216cf8f4c3a2300a9b3923 go1.21.5.darwin-amd64.tar.gz +d0f8ac0c4fb3efc223a833010901d02954e3923cfe2c9a2ff0e4254a777cc9cc go1.21.5.darwin-arm64.tar.gz +2c05bbe0dc62456b90b7ddd354a54f373b7c377a98f8b22f52ab694b4f6cca58 go1.21.5.freebsd-386.tar.gz +30b6c64e9a77129605bc12f836422bf09eec577a8c899ee46130aeff81567003 go1.21.5.freebsd-amd64.tar.gz +8f4dba9cf5c61757bbd7e9ebdb93b6a30a1b03f4a636a1ba0cc2f27b907ab8e1 go1.21.5.linux-386.tar.gz +e2bc0b3e4b64111ec117295c088bde5f00eeed1567999ff77bc859d7df70078e go1.21.5.linux-amd64.tar.gz +841cced7ecda9b2014f139f5bab5ae31785f35399f236b8b3e75dff2a2978d96 go1.21.5.linux-arm64.tar.gz +837f4bf4e22fcdf920ffeaa4abf3d02d1314e03725431065f4d44c46a01b42fe go1.21.5.linux-armv6l.tar.gz +907b8c6ec4be9b184952e5d3493be66b1746442394a8bc78556c56834cd7c38b go1.21.5.linux-ppc64le.tar.gz +9c4a81b72ebe44368813cd03684e1080a818bf915d84163abae2ed325a1b2dc0 go1.21.5.linux-s390x.tar.gz +6da2418889dfb37763d0eb149c4a8d728c029e12f0cd54fbca0a31ae547e2d34 go1.21.5.windows-386.zip +bbe603cde7c9dee658f45164b4d06de1eff6e6e6b800100824e7c00d56a9a92f go1.21.5.windows-amd64.zip +9b7acca50e674294e43202df4fbc26d5af4d8bc3170a3342a1514f09a2dab5e9 go1.21.5.windows-arm64.zip + +# version:golangci 1.57.2 +# https://github.com/golangci/golangci-lint/releases/ +# https://github.com/golangci/golangci-lint/releases/download/v1.57.2/ +83157f5378d259d51c88e310e88513bd80bd42e497974a1bbe51b82931f229c7 golangci-lint-1.57.2-darwin-amd64.tar.gz +0d6f10544fc0b5bd94b9eeb20d89646b9c19b52a98dca1ca62f94c08ac641b98 golangci-lint-1.57.2-darwin-arm64.tar.gz +4b8e83d91e05b968c33d861cd4c917533d648560e84fe30464a1e7a8aac93e49 golangci-lint-1.57.2-freebsd-386.tar.gz +eff30d840518a24f429565d7a52ebf1ac2c0c4c1680968d581b2c7116c1dc835 golangci-lint-1.57.2-freebsd-amd64.tar.gz +6ee437fc8913aafef9b8f09dd5766037ecdd13cd75cf581a0e38b61dabe82bc7 golangci-lint-1.57.2-freebsd-armv6.tar.gz +045359345ec63b81ab269391731d22739dbc6fba0fcf4adce7a214538f33118f golangci-lint-1.57.2-freebsd-armv7.tar.gz +4885b856a380717ae79edf00aa81fbbc337948fddc33bc80dada49ed5e4d85db golangci-lint-1.57.2-illumos-amd64.tar.gz +4b874eca42cd186735aae9a3f4af1b476997819ab2abec16aec0d8a52aa258da golangci-lint-1.57.2-linux-386.deb +43ca7476fa18dbadc8cb7d4827a81a96cf5799e8ad0b60d734d23367e3f84a9d golangci-lint-1.57.2-linux-386.rpm +51694b9b9da783f70fb4060403cd476f7e77509bbbfeda222994a0ec3c43a8f8 golangci-lint-1.57.2-linux-386.tar.gz +a7b811e93c4fe6be45f862806ec121b38dbe36b81f877a6bd3f728baabce1c06 golangci-lint-1.57.2-linux-amd64.deb +4639fc82a8baad59efffbc1e7f4048b7e5e2d580d70017a0c39aaddd0c669a13 golangci-lint-1.57.2-linux-amd64.rpm +391483daa5d58d037832ba2fac709fdb5df0c67471c0d7698d1f67cbfa5f10f0 golangci-lint-1.57.2-linux-amd64.tar.gz +80deed46f7354eec109808a48fbde7232578baf52530fcf2e2f708a0daca1bd0 golangci-lint-1.57.2-linux-arm64.deb +36d61363268a3ceeae7467e34887b36813467d426123962b4e6655f502c02fe6 golangci-lint-1.57.2-linux-arm64.rpm +9e079e19b3d81e357d2acc90518c6a86a533e26a74af1e5eadf8dfcd640b66ee golangci-lint-1.57.2-linux-arm64.tar.gz +c71a28a34084826d556ada999b759f1c7016da1d293f9db3e6e6d0ed00004aea golangci-lint-1.57.2-linux-armv6.deb +ee6a61d8fd49fcf0f75263640dbfeee4b3ff0bb39e1247ba2ae3601ae8006f6c golangci-lint-1.57.2-linux-armv6.rpm +0a22ab5885803dda31f285581cdf281efe773da0be9b7ea316be416e30c012dc golangci-lint-1.57.2-linux-armv6.tar.gz +62942bf5d9acb4ad9e461be606e8ce433d0b58b2bbc61d55d6c434d927513557 golangci-lint-1.57.2-linux-armv7.deb +f2498cf873f8e92e4469516696549490b99c92649eba634d3e693ed75252e85f golangci-lint-1.57.2-linux-armv7.rpm +c1d99d122e4ec1c087f6eab1f8776b6406e284882977c57b806470207c1b85f6 golangci-lint-1.57.2-linux-armv7.tar.gz +ac21b7903ac421f7ebb62a71a110d77874ab813878bcda5ce34f2d8642aed90a golangci-lint-1.57.2-linux-loong64.deb +5dba8379a25c183c5e3524af9d5cd4a684ee305bb7173fe337f048604ed88888 golangci-lint-1.57.2-linux-loong64.rpm +bc2b63bf57ab5398e84352df24e3088791f974d53fcd9fb683955146430de3cc golangci-lint-1.57.2-linux-loong64.tar.gz +66973457d9b0b3251d76b455b3f2d64895f655d4d602ed66c285227509768b37 golangci-lint-1.57.2-linux-mips64.deb +6b3a0b987c1d207de2689bdb86cb21e74e7ddffff954a9882141018609c2431c golangci-lint-1.57.2-linux-mips64.rpm +12a386657b3eace4d6a2bae1bd0ca1c58e0098bdd0e621296b37fcfb9b4c91bb golangci-lint-1.57.2-linux-mips64.tar.gz +2dbcd6918abf2da190ec5f3fcbfde81a42f4685f0e1f7a6758abfad3010d7646 golangci-lint-1.57.2-linux-mips64le.deb +9489933a329ce30a54b230cc6d90d7b9b409c6f2905af99747bed7c9115edb8c golangci-lint-1.57.2-linux-mips64le.rpm +d813cc9d5688f8170f8695d6468cf5b4995b401ee8270834d5fc333f5e2cce05 golangci-lint-1.57.2-linux-mips64le.tar.gz +da8f59eb18eb478f9b782d2a844674d827fc31b92df0cae581d99b69d5a26226 golangci-lint-1.57.2-linux-ppc64le.deb +b371a14c364978bfb71b86c1a3e5e951dbb5b4ab9ee14a184fadb024a59cd490 golangci-lint-1.57.2-linux-ppc64le.rpm +36084ebd725fb046e1c956f823b2c57b49781f41df0592501cfb5eb5d315b6c5 golangci-lint-1.57.2-linux-ppc64le.tar.gz +73936770432d10f7a5aefa86049382bc554f07cae035e79d515d754c77bdd3d5 golangci-lint-1.57.2-linux-riscv64.deb +4f4407bb197e1fd6db04187aaf2671faf94dc1764822248fefbedf025691705c golangci-lint-1.57.2-linux-riscv64.rpm +240b6b406d21d24a3041927aa39094c8d2fc2c7c6723e295b7f2d9d59c6e245b golangci-lint-1.57.2-linux-riscv64.tar.gz +486887715432f177fb1b795f9656e3338a18400a3b63f9e0c0ca9aae7ce91182 golangci-lint-1.57.2-linux-s390x.deb +8af126c8319d59dc3892a67df5ae10a51afef8fe5724906e8e340122384355a6 golangci-lint-1.57.2-linux-s390x.rpm +aede4a55e49f46d50c1ea6d21a093834faea33e80ab9c641833b29f53a030695 golangci-lint-1.57.2-linux-s390x.tar.gz +b47561dd99d8fc5aadffc629196f753a37f7eb33fa88d1f869e576cfe0c78b6f golangci-lint-1.57.2-netbsd-386.tar.gz +f19bb6886f7e47539f4d06844e4ba9be8af4ae3aff7b7118e7f0ac0b7c0fb34b golangci-lint-1.57.2-netbsd-amd64.tar.gz +65d3c14d46d205f3d1b2159b153ae93ee4a455a490605eda0935fb2ec8929f1a golangci-lint-1.57.2-netbsd-armv6.tar.gz +f975b1910afae5166598254319c2eb6231143a7cb63816df1bc193bdac3451a2 golangci-lint-1.57.2-netbsd-armv7.tar.gz +621326544b0fec6d4a7569bc504850dc7bf33b011ecef34ae6c292a5b24acd02 golangci-lint-1.57.2-source.tar.gz +95321b1ec07db22e29538d0b18d36a376ca7d834c4826351db2b73436d27f7c1 golangci-lint-1.57.2-windows-386.zip +10c1ab7eb4a99f8b292a8f910bc78a50e9547a4ffe7444fcddc68f722adf6612 golangci-lint-1.57.2-windows-amd64.zip +f88ac03faa185da6547beab8a91983db2767e2e154323518f592f7e24772ca9e golangci-lint-1.57.2-windows-arm64.zip +1c2c738d241be1091cebf119d38758d51d56b5a02bbe410979545e51dc39cf70 golangci-lint-1.57.2-windows-armv6.zip +88acd5987fb883ac56c46a78d804595ab5fb26be9b0b253bfb397d7838df3f78 golangci-lint-1.57.2-windows-armv7.zip + +# This is the builder on PPA that will build Go itself (inception-y), don't modify! +# +# This version is fine to be old and full of security holes, we just use it +# to build the latest Go. Don't change it. If it ever becomes insufficient, +# we need to switch over to a recursive builder to jump across supported +# versions. +# +# version:ppa-builder 1.19.6 +# https://go.dev/dl/ +d7f0013f82e6d7f862cc6cb5c8cdb48eef5f2e239b35baa97e2f1a7466043767 go1.19.6.src.tar.gz +>>>>>>> 2c662dca3 (Update linter version) From c979de5759b1aeb25df2baae4cc47208669ffa5a Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Fri, 26 Apr 2024 20:55:11 -0400 Subject: [PATCH 05/11] Update golang version in Dockerfile.dev (cherry picked from commit 0e3d87ed0095c031adac2bbc03d6521baed4260f) --- Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.dev b/Dockerfile.dev index 7b4041a4f5b8..ff8b3395c810 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM golang:1.20-alpine +FROM golang:1.21-alpine RUN apk add bash make curl From 16a6e6242f3814e37225aedc662b498aa999a8ec Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Fri, 26 Apr 2024 21:37:55 -0400 Subject: [PATCH 06/11] Add more complex test case (cherry picked from commit 18d2cbf03df85aef9884de271df6420333fe51a4) --- core/vm/precompile_test.go | 50 +++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/core/vm/precompile_test.go b/core/vm/precompile_test.go index df37e756296d..4492a815a181 100644 --- a/core/vm/precompile_test.go +++ b/core/vm/precompile_test.go @@ -85,5 +85,53 @@ func TestEvmIsPrecompileMethod(t *testing.T) { require.NotNil(t, precompile) }) - // TODO(yevhenii): add more complex scenarios? + addrs := func(hexAddrs []string) []common.Address { + addrs := make([]common.Address, len(hexAddrs)) + for i, hexAddr := range hexAddrs { + addrs[i] = common.HexToAddress(hexAddr) + } + return addrs + } + + for _, tc := range []struct { + desc string + registeredAddrs []common.Address + enabledAddrs []common.Address + foundAddrs []common.Address + notFoundAddrs []common.Address + }{ + { + desc: "test case #1", + registeredAddrs: addrs([]string{"0x101", "0x102", "0x103", "0x104", "0x105"}), + enabledAddrs: addrs([]string{"0x101", "0x103", "0x105"}), + foundAddrs: addrs([]string{"0x101", "0x103", "0x105"}), + notFoundAddrs: addrs([]string{"0x102", "0x104", "0x106"}), + }, + } { + t.Run(tc.desc, func(t *testing.T) { + modules.ClearRegisteredModules() + evm := NewEVMWithEnabledPrecompiles(BlockContext{}, TxContext{}, nil, params.TestChainConfig, Config{}, tc.enabledAddrs) + + for _, registeredAddr := range tc.registeredAddrs { + module := modules.Module{ + Address: registeredAddr, + Contract: new(mockStatefulPrecompiledContract), + } + err := modules.RegisterModule(module) + require.NoError(t, err) + } + + for _, addr := range tc.foundAddrs { + precompile, ok := evm.precompile(addr) + require.True(t, ok) + require.NotNil(t, precompile) + } + + for _, addr := range tc.notFoundAddrs { + precompile, ok := evm.precompile(addr) + require.False(t, ok) + require.Nil(t, precompile) + } + }) + } } From 0ac852d2823fedb0a2ee71ebf5145df82ab26bf5 Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Mon, 29 Apr 2024 08:03:20 -0400 Subject: [PATCH 07/11] Remove hardhat e2e test (cherry picked from commit 23ac221208c157f9034b67226b7b757bb886d65a) --- contracts/test/sum3.ts | 81 ------------------------------------------ 1 file changed, 81 deletions(-) delete mode 100644 contracts/test/sum3.ts diff --git a/contracts/test/sum3.ts b/contracts/test/sum3.ts deleted file mode 100644 index f3eef2972049..000000000000 --- a/contracts/test/sum3.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import {BaseContract, Contract} from "ethers"; -import {HardhatEthersSigner} from "@nomicfoundation/hardhat-ethers/src/signers"; - -const PRECOMPILED_SUM3_CONTRACT_ADDRESS: string = "0x0300000000000000000000000000000000000000"; - -const sum3ContractABI: string[] = [ - "function calcSum3(uint256 a, uint256 b, uint256 c) external", - "function getSum3() external view returns (uint256)", -]; - -describe("Testing precompiled sum3 contract", function() { - it("Should properly calculate sum of 3 numbers (direct call to precompiled contract)", async function () { - const sum3Contract: Contract = new ethers.Contract(PRECOMPILED_SUM3_CONTRACT_ADDRESS, sum3ContractABI, ethers.provider); - const signers: HardhatEthersSigner[] = await ethers.getSigners(); - const sum3ContractWithSigner: BaseContract = sum3Contract.connect(signers[0]); - - await sum3ContractWithSigner.calcSum3(2, 3, 4); - let actual: string = await sum3Contract.getSum3(); - let expected: string = "0x0000000000000000000000000000000000000000000000000000000000000009"; - expect(actual).to.equal(expected); - - await sum3ContractWithSigner.calcSum3(3, 5, 7); - actual = await sum3Contract.getSum3(); - expected = "0x000000000000000000000000000000000000000000000000000000000000000f" - expect(actual).to.equal(expected); - }) - - it("Should properly calculate sum of 3 numbers (call to example contract)", async function () { - const ExampleSum3 = await ethers.getContractFactory("ExampleSum3"); - const exampleSum3 = await ExampleSum3.deploy(); - - await exampleSum3.calcSum3(2, 3, 4); - let actual: string = await exampleSum3.getSum3(); - let expected: string = "0x0000000000000000000000000000000000000000000000000000000000000009"; - expect(actual).to.equal(expected); - - await exampleSum3.calcSum3(3, 5, 7); - actual = await exampleSum3.getSum3(); - expected = "0x000000000000000000000000000000000000000000000000000000000000000f"; - expect(actual).to.equal(expected); - }) - - it("Should properly calculate sum of 3 numbers (Call & StaticCall OpCodes)", async function () { - const ExampleSum3 = await ethers.getContractFactory("ExampleSum3"); - const exampleSum3 = await ExampleSum3.deploy(); - - await exampleSum3.calcSum3Call(2, 3, 4); - let actual: string = await exampleSum3.getSum3StaticCall(); - let expected: string = "0x0000000000000000000000000000000000000000000000000000000000000009"; - expect(actual).to.equal(expected); - - await exampleSum3.calcSum3Call(3, 5, 7); - actual = await exampleSum3.getSum3StaticCall(); - expected = "0x000000000000000000000000000000000000000000000000000000000000000f"; - expect(actual).to.equal(expected); - }) - - it("Should properly calculate sum of 3 numbers (DelegateCall & StaticCall OpCodes)", async function () { - const ExampleSum3 = await ethers.getContractFactory("ExampleSum3"); - const exampleSum3 = await ExampleSum3.deploy(); - - await exampleSum3.calcSum3DelegateCall(2, 3, 4); - let actual: string = await exampleSum3.getSum3StaticCall(); - let expected: string = "0x0000000000000000000000000000000000000000000000000000000000000009"; - expect(actual).to.equal(expected); - - await exampleSum3.calcSum3DelegateCall(3, 5, 7); - actual = await exampleSum3.getSum3StaticCall(); - expected = "0x000000000000000000000000000000000000000000000000000000000000000f"; - expect(actual).to.equal(expected); - }) - - it("Should fail because you can't call state-changing method with staticcall opcode", async function () { - const ErrorExampleSum3 = await ethers.getContractFactory("ErrorExampleSum3"); - const errorExampleSum3 = await ErrorExampleSum3.deploy(); - - await expect(errorExampleSum3.calcSum3StaticCall(2, 3, 4)).to.be.revertedWith("call to precompiled contract failed"); - }) -}) From e5eaa87ef6889a463fbfbaba34d35c1ab0b3fdaf Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Mon, 13 May 2024 16:48:56 -0400 Subject: [PATCH 08/11] Resolve conflicts --- build/checksums.txt | 86 +-------------------------------------------- core/vm/evm.go | 23 +----------- 2 files changed, 2 insertions(+), 107 deletions(-) diff --git a/build/checksums.txt b/build/checksums.txt index 9c516c997a84..1caec32845d8 100644 --- a/build/checksums.txt +++ b/build/checksums.txt @@ -15,7 +15,6 @@ e3d536e7873639f85353e892444f83b14cb6670603961f215986ae8e28e8e07a go1.18.5.linux 73753620602d4b4469770040c53db55e5dd6af2ad07ecc18f71f164c3224eaad go1.18.5.windows-amd64.zip 4d154626affff12ef73ea1017af0e5b52dbc839ef92f6f9e76cf4f71278a5744 go1.18.5.windows-arm64.zip -<<<<<<< HEAD 05dce78aeca810543f98aa6658b1017dc15c7a1fffc317daaaadc0b6e5095bdf golangci-lint-1.51.0-windows-386.zip 0df660139382a970da8cc06a7b86e659f8769dfda024ca2a1fd56d5b5191b21d golangci-lint-1.51.0-linux-mips64.rpm 0e61e018d5cada36f69d6c7d8f246a7dd8e35b6860037df5af9c95414cbe4827 golangci-lint-1.51.0-freebsd-armv6.tar.gz @@ -63,87 +62,4 @@ e6e90deccd80dbe03db06eff6cc70c140be3423e87f3e014f471fa3b5a8a2684 golangci-lint- e885f3ad3f16084a01e29f35d4d97eee3d25217655dc31f545f035e1bd678000 golangci-lint-1.51.0-linux-armv7.deb eda2c9b4f81cc37a4ebd24f6374e82b9eb9fea3859e19489e2229ff1ad212ee9 golangci-lint-1.51.0-linux-mips64.deb fa375c169a00989f37432b24aa52628eb563707a246b697edac0c5734d81fbd4 golangci-lint-1.51.0-linux-ppc64le.rpm -fd7b5ce75c02826ffee7671df119c23d65799aa74533d25c6832d6fbba567801 golangci-lint-1.51.0-linux-s390x.rpm -======= -# version:golang 1.21.5 -# https://go.dev/dl/ -285cbbdf4b6e6e62ed58f370f3f6d8c30825d6e56c5853c66d3c23bcdb09db19 go1.21.5.src.tar.gz -a2e1d5743e896e5fe1e7d96479c0a769254aed18cf216cf8f4c3a2300a9b3923 go1.21.5.darwin-amd64.tar.gz -d0f8ac0c4fb3efc223a833010901d02954e3923cfe2c9a2ff0e4254a777cc9cc go1.21.5.darwin-arm64.tar.gz -2c05bbe0dc62456b90b7ddd354a54f373b7c377a98f8b22f52ab694b4f6cca58 go1.21.5.freebsd-386.tar.gz -30b6c64e9a77129605bc12f836422bf09eec577a8c899ee46130aeff81567003 go1.21.5.freebsd-amd64.tar.gz -8f4dba9cf5c61757bbd7e9ebdb93b6a30a1b03f4a636a1ba0cc2f27b907ab8e1 go1.21.5.linux-386.tar.gz -e2bc0b3e4b64111ec117295c088bde5f00eeed1567999ff77bc859d7df70078e go1.21.5.linux-amd64.tar.gz -841cced7ecda9b2014f139f5bab5ae31785f35399f236b8b3e75dff2a2978d96 go1.21.5.linux-arm64.tar.gz -837f4bf4e22fcdf920ffeaa4abf3d02d1314e03725431065f4d44c46a01b42fe go1.21.5.linux-armv6l.tar.gz -907b8c6ec4be9b184952e5d3493be66b1746442394a8bc78556c56834cd7c38b go1.21.5.linux-ppc64le.tar.gz -9c4a81b72ebe44368813cd03684e1080a818bf915d84163abae2ed325a1b2dc0 go1.21.5.linux-s390x.tar.gz -6da2418889dfb37763d0eb149c4a8d728c029e12f0cd54fbca0a31ae547e2d34 go1.21.5.windows-386.zip -bbe603cde7c9dee658f45164b4d06de1eff6e6e6b800100824e7c00d56a9a92f go1.21.5.windows-amd64.zip -9b7acca50e674294e43202df4fbc26d5af4d8bc3170a3342a1514f09a2dab5e9 go1.21.5.windows-arm64.zip - -# version:golangci 1.57.2 -# https://github.com/golangci/golangci-lint/releases/ -# https://github.com/golangci/golangci-lint/releases/download/v1.57.2/ -83157f5378d259d51c88e310e88513bd80bd42e497974a1bbe51b82931f229c7 golangci-lint-1.57.2-darwin-amd64.tar.gz -0d6f10544fc0b5bd94b9eeb20d89646b9c19b52a98dca1ca62f94c08ac641b98 golangci-lint-1.57.2-darwin-arm64.tar.gz -4b8e83d91e05b968c33d861cd4c917533d648560e84fe30464a1e7a8aac93e49 golangci-lint-1.57.2-freebsd-386.tar.gz -eff30d840518a24f429565d7a52ebf1ac2c0c4c1680968d581b2c7116c1dc835 golangci-lint-1.57.2-freebsd-amd64.tar.gz -6ee437fc8913aafef9b8f09dd5766037ecdd13cd75cf581a0e38b61dabe82bc7 golangci-lint-1.57.2-freebsd-armv6.tar.gz -045359345ec63b81ab269391731d22739dbc6fba0fcf4adce7a214538f33118f golangci-lint-1.57.2-freebsd-armv7.tar.gz -4885b856a380717ae79edf00aa81fbbc337948fddc33bc80dada49ed5e4d85db golangci-lint-1.57.2-illumos-amd64.tar.gz -4b874eca42cd186735aae9a3f4af1b476997819ab2abec16aec0d8a52aa258da golangci-lint-1.57.2-linux-386.deb -43ca7476fa18dbadc8cb7d4827a81a96cf5799e8ad0b60d734d23367e3f84a9d golangci-lint-1.57.2-linux-386.rpm -51694b9b9da783f70fb4060403cd476f7e77509bbbfeda222994a0ec3c43a8f8 golangci-lint-1.57.2-linux-386.tar.gz -a7b811e93c4fe6be45f862806ec121b38dbe36b81f877a6bd3f728baabce1c06 golangci-lint-1.57.2-linux-amd64.deb -4639fc82a8baad59efffbc1e7f4048b7e5e2d580d70017a0c39aaddd0c669a13 golangci-lint-1.57.2-linux-amd64.rpm -391483daa5d58d037832ba2fac709fdb5df0c67471c0d7698d1f67cbfa5f10f0 golangci-lint-1.57.2-linux-amd64.tar.gz -80deed46f7354eec109808a48fbde7232578baf52530fcf2e2f708a0daca1bd0 golangci-lint-1.57.2-linux-arm64.deb -36d61363268a3ceeae7467e34887b36813467d426123962b4e6655f502c02fe6 golangci-lint-1.57.2-linux-arm64.rpm -9e079e19b3d81e357d2acc90518c6a86a533e26a74af1e5eadf8dfcd640b66ee golangci-lint-1.57.2-linux-arm64.tar.gz -c71a28a34084826d556ada999b759f1c7016da1d293f9db3e6e6d0ed00004aea golangci-lint-1.57.2-linux-armv6.deb -ee6a61d8fd49fcf0f75263640dbfeee4b3ff0bb39e1247ba2ae3601ae8006f6c golangci-lint-1.57.2-linux-armv6.rpm -0a22ab5885803dda31f285581cdf281efe773da0be9b7ea316be416e30c012dc golangci-lint-1.57.2-linux-armv6.tar.gz -62942bf5d9acb4ad9e461be606e8ce433d0b58b2bbc61d55d6c434d927513557 golangci-lint-1.57.2-linux-armv7.deb -f2498cf873f8e92e4469516696549490b99c92649eba634d3e693ed75252e85f golangci-lint-1.57.2-linux-armv7.rpm -c1d99d122e4ec1c087f6eab1f8776b6406e284882977c57b806470207c1b85f6 golangci-lint-1.57.2-linux-armv7.tar.gz -ac21b7903ac421f7ebb62a71a110d77874ab813878bcda5ce34f2d8642aed90a golangci-lint-1.57.2-linux-loong64.deb -5dba8379a25c183c5e3524af9d5cd4a684ee305bb7173fe337f048604ed88888 golangci-lint-1.57.2-linux-loong64.rpm -bc2b63bf57ab5398e84352df24e3088791f974d53fcd9fb683955146430de3cc golangci-lint-1.57.2-linux-loong64.tar.gz -66973457d9b0b3251d76b455b3f2d64895f655d4d602ed66c285227509768b37 golangci-lint-1.57.2-linux-mips64.deb -6b3a0b987c1d207de2689bdb86cb21e74e7ddffff954a9882141018609c2431c golangci-lint-1.57.2-linux-mips64.rpm -12a386657b3eace4d6a2bae1bd0ca1c58e0098bdd0e621296b37fcfb9b4c91bb golangci-lint-1.57.2-linux-mips64.tar.gz -2dbcd6918abf2da190ec5f3fcbfde81a42f4685f0e1f7a6758abfad3010d7646 golangci-lint-1.57.2-linux-mips64le.deb -9489933a329ce30a54b230cc6d90d7b9b409c6f2905af99747bed7c9115edb8c golangci-lint-1.57.2-linux-mips64le.rpm -d813cc9d5688f8170f8695d6468cf5b4995b401ee8270834d5fc333f5e2cce05 golangci-lint-1.57.2-linux-mips64le.tar.gz -da8f59eb18eb478f9b782d2a844674d827fc31b92df0cae581d99b69d5a26226 golangci-lint-1.57.2-linux-ppc64le.deb -b371a14c364978bfb71b86c1a3e5e951dbb5b4ab9ee14a184fadb024a59cd490 golangci-lint-1.57.2-linux-ppc64le.rpm -36084ebd725fb046e1c956f823b2c57b49781f41df0592501cfb5eb5d315b6c5 golangci-lint-1.57.2-linux-ppc64le.tar.gz -73936770432d10f7a5aefa86049382bc554f07cae035e79d515d754c77bdd3d5 golangci-lint-1.57.2-linux-riscv64.deb -4f4407bb197e1fd6db04187aaf2671faf94dc1764822248fefbedf025691705c golangci-lint-1.57.2-linux-riscv64.rpm -240b6b406d21d24a3041927aa39094c8d2fc2c7c6723e295b7f2d9d59c6e245b golangci-lint-1.57.2-linux-riscv64.tar.gz -486887715432f177fb1b795f9656e3338a18400a3b63f9e0c0ca9aae7ce91182 golangci-lint-1.57.2-linux-s390x.deb -8af126c8319d59dc3892a67df5ae10a51afef8fe5724906e8e340122384355a6 golangci-lint-1.57.2-linux-s390x.rpm -aede4a55e49f46d50c1ea6d21a093834faea33e80ab9c641833b29f53a030695 golangci-lint-1.57.2-linux-s390x.tar.gz -b47561dd99d8fc5aadffc629196f753a37f7eb33fa88d1f869e576cfe0c78b6f golangci-lint-1.57.2-netbsd-386.tar.gz -f19bb6886f7e47539f4d06844e4ba9be8af4ae3aff7b7118e7f0ac0b7c0fb34b golangci-lint-1.57.2-netbsd-amd64.tar.gz -65d3c14d46d205f3d1b2159b153ae93ee4a455a490605eda0935fb2ec8929f1a golangci-lint-1.57.2-netbsd-armv6.tar.gz -f975b1910afae5166598254319c2eb6231143a7cb63816df1bc193bdac3451a2 golangci-lint-1.57.2-netbsd-armv7.tar.gz -621326544b0fec6d4a7569bc504850dc7bf33b011ecef34ae6c292a5b24acd02 golangci-lint-1.57.2-source.tar.gz -95321b1ec07db22e29538d0b18d36a376ca7d834c4826351db2b73436d27f7c1 golangci-lint-1.57.2-windows-386.zip -10c1ab7eb4a99f8b292a8f910bc78a50e9547a4ffe7444fcddc68f722adf6612 golangci-lint-1.57.2-windows-amd64.zip -f88ac03faa185da6547beab8a91983db2767e2e154323518f592f7e24772ca9e golangci-lint-1.57.2-windows-arm64.zip -1c2c738d241be1091cebf119d38758d51d56b5a02bbe410979545e51dc39cf70 golangci-lint-1.57.2-windows-armv6.zip -88acd5987fb883ac56c46a78d804595ab5fb26be9b0b253bfb397d7838df3f78 golangci-lint-1.57.2-windows-armv7.zip - -# This is the builder on PPA that will build Go itself (inception-y), don't modify! -# -# This version is fine to be old and full of security holes, we just use it -# to build the latest Go. Don't change it. If it ever becomes insufficient, -# we need to switch over to a recursive builder to jump across supported -# versions. -# -# version:ppa-builder 1.19.6 -# https://go.dev/dl/ -d7f0013f82e6d7f862cc6cb5c8cdb48eef5f2e239b35baa97e2f1a7466043767 go1.19.6.src.tar.gz ->>>>>>> 2c662dca3 (Update linter version) +fd7b5ce75c02826ffee7671df119c23d65799aa74533d25c6832d6fbba567801 golangci-lint-1.51.0-linux-s390x.rpm \ No newline at end of file diff --git a/core/vm/evm.go b/core/vm/evm.go index 0f77238b81db..72cabc678f00 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -151,39 +151,18 @@ type EVM struct { // NewEVM returns a new EVM. The returned EVM is not thread safe and should // only ever be used *once*. func NewEVM(blockCtx BlockContext, txCtx TxContext, statedb StateDB, chainConfig *params.ChainConfig, config Config) *EVM { -<<<<<<< HEAD - evm := &EVM{ - Context: blockCtx, - TxContext: txCtx, - StateDB: statedb, - Config: config, - chainConfig: chainConfig, - chainRules: chainConfig.Rules(blockCtx.BlockNumber, blockCtx.Random != nil), -======= return NewEVMWithEnabledPrecompiles(blockCtx, txCtx, statedb, chainConfig, config, nil) } func NewEVMWithEnabledPrecompiles(blockCtx BlockContext, txCtx TxContext, statedb StateDB, chainConfig *params.ChainConfig, config Config, enabledPrecompiles []common.Address) *EVM { - // If basefee tracking is disabled (eth_call, eth_estimateGas, etc), and no - // gas prices were specified, lower the basefee to 0 to avoid breaking EVM - // invariants (basefee < feecap) - if config.NoBaseFee { - if txCtx.GasPrice.BitLen() == 0 { - blockCtx.BaseFee = new(big.Int) - } - if txCtx.BlobFeeCap != nil && txCtx.BlobFeeCap.BitLen() == 0 { - blockCtx.BlobBaseFee = new(big.Int) - } - } evm := &EVM{ Context: blockCtx, TxContext: txCtx, StateDB: statedb, Config: config, chainConfig: chainConfig, - chainRules: chainConfig.Rules(blockCtx.BlockNumber, blockCtx.Random != nil, blockCtx.Time), + chainRules: chainConfig.Rules(blockCtx.BlockNumber, blockCtx.Random != nil), enabledPrecompiles: enabledPrecompiles, ->>>>>>> 4dbf48322 (Injecting enabled precompiles list to EVM) } evm.interpreter = NewEVMInterpreter(evm, config) return evm From 5a2c1a7594c26fd0a8cf26af787518482b99501c Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Mon, 13 May 2024 16:55:45 -0400 Subject: [PATCH 09/11] Update golang to 1.18 --- go.mod | 2 +- go.sum | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/go.mod b/go.mod index db292bb00999..026185737a54 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/ethereum/go-ethereum -go 1.17 +go 1.18 require ( github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 diff --git a/go.sum b/go.sum index 8686cbcd2e6a..25e9adb7f11e 100644 --- a/go.sum +++ b/go.sum @@ -25,7 +25,6 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSu github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -65,12 +64,10 @@ github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx2 github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -276,7 +273,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= @@ -322,7 +318,6 @@ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= @@ -414,7 +409,6 @@ github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6Ut github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -443,7 +437,6 @@ golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm0 golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -463,7 +456,6 @@ golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57 h1:LQmS1nU0twXLA96Kt7U9qtHJEbBk3z6Q0V4UXjZkpr4= golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -491,7 +483,6 @@ golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220607020251-c690dde0001d h1:4SFsTMi4UahlKoloni7L4eYzhFRifURQLw+yv0QDCx8= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -544,8 +535,6 @@ golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -589,7 +578,6 @@ golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191126055441-b0650ceb63d9/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= From b671135092f0aaf6ca064220a6738bc33a8f3a20 Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Mon, 13 May 2024 17:08:12 -0400 Subject: [PATCH 10/11] Update linter version --- build/checksums.txt | 98 +++++++++++++++++++++++---------------------- build/ci.go | 2 +- 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/build/checksums.txt b/build/checksums.txt index 1caec32845d8..d6e4d783717f 100644 --- a/build/checksums.txt +++ b/build/checksums.txt @@ -15,51 +15,53 @@ e3d536e7873639f85353e892444f83b14cb6670603961f215986ae8e28e8e07a go1.18.5.linux 73753620602d4b4469770040c53db55e5dd6af2ad07ecc18f71f164c3224eaad go1.18.5.windows-amd64.zip 4d154626affff12ef73ea1017af0e5b52dbc839ef92f6f9e76cf4f71278a5744 go1.18.5.windows-arm64.zip -05dce78aeca810543f98aa6658b1017dc15c7a1fffc317daaaadc0b6e5095bdf golangci-lint-1.51.0-windows-386.zip -0df660139382a970da8cc06a7b86e659f8769dfda024ca2a1fd56d5b5191b21d golangci-lint-1.51.0-linux-mips64.rpm -0e61e018d5cada36f69d6c7d8f246a7dd8e35b6860037df5af9c95414cbe4827 golangci-lint-1.51.0-freebsd-armv6.tar.gz -0f526d03195fe58d1f51f505e60603af5bc53187dacac7a1cdb57b55c1a63665 golangci-lint-1.51.0-linux-loong64.rpm -0fc8ff42742dc4ffedf21e4600153fef568a0463634c14692f5e20186273c958 golangci-lint-1.51.0-linux-ppc64le.deb -22687e90476d200fb3d8b654b5830110f9e5457bf32feb1627225ae217d88b97 golangci-lint-1.51.0-linux-armv6.rpm -2493c1b84e9c49ff346c3a45d3dc0c96cfe8a4ae4ef2e679a240febe169a7a6b golangci-lint-1.51.0-linux-arm64.deb -2ca3dbaeaa03d9de0fafcbfe0aef7802a74c0d41128cbcdb6b5bcb1a32aed591 golangci-lint-1.51.0-linux-mips64le.rpm -2f54d1c5d6ba92f6f8ae18d640123732e7071396f00a6f611136394faa5862c4 golangci-lint-1.51.0-linux-armv7.tar.gz -306f3ac103f5e78434cd3b61f54b37699cccddbd60a65557d770446ea591384b golangci-lint-1.51.0-linux-mips64.tar.gz -3490390a60dfce004e49c8544d88888c0456dbbe1ad99a8ae7ef44174d0e35e7 golangci-lint-1.51.0-linux-386.rpm -38c25ae0ba5bfebd3ec42e9230547bd6461b179e47d7ba4d86950623bf28862a golangci-lint-1.51.0-linux-amd64.tar.gz -3987091b239b9870e9be0436206d8f03cec8a7a90c5b2144ddc8f9e7eaba733f golangci-lint-1.51.0-linux-386.tar.gz -426aa1ce111ab4efb5d83e67ea3a41622d4433baaf9d8e77ec6221dc1cb315d3 golangci-lint-1.51.0-linux-armv6.tar.gz -4e26d00a808b171272c411636630251656ae45540304c827aea98abaa3f24338 golangci-lint-1.51.0-linux-s390x.deb -593a27ee6f9e5d086abe0e6e37295bdbbb97c7b70e8e5ab1ff2b111385d75ecd golangci-lint-1.51.0-linux-amd64.deb -5d0159885e8ef3f314417e06db6ead336cb46907d4897d20a08635b3c36161ea golangci-lint-1.51.0-linux-riscv64.rpm -5e8173ab78c41e35903634c4e98971e2346488ea6b3dd1d58f2d3991f34d61f7 golangci-lint-1.51.0-windows-amd64.zip -5f20d3da89189818d80367f020d9b7361b607496269119ed5eb5b443465e974f golangci-lint-1.51.0-linux-s390x.tar.gz -62384a3a8e1d4c73a7ec43b2646da5656e4e8fc36652bf7100239a71fc11b44d golangci-lint-1.51.0-linux-loong64.tar.gz -62fed3649ba37fae77a685d624fe84adace34a86b727dd2ee237bdc29f5f2c17 golangci-lint-1.51.0-linux-amd64.rpm -65f4e9cc197af021abe841e4231dc1ca27dc05bdd9931532d2180e527a499619 golangci-lint-1.51.0-windows-armv6.zip -6bd74840486969d20ec7c1f7f62c7cbc13b16d2abe15956559c787af796b5876 golangci-lint-1.51.0-darwin-amd64.tar.gz -6ca62b5001751b9c80282dcd91aee9ea1a78f5fc5c86569efe99ffeb4de78051 golangci-lint-1.51.0-windows-armv7.zip -71afbc9c2e01d7fe609ce0ae7dbd9e18fc3a4fe8e24f80ab73f8a2da345133d2 golangci-lint-1.51.0-darwin-arm64.tar.gz -73f2c68f02cadeefdb4d235d1b219783ac149c38d70cbe691052d3b2665d7ff7 golangci-lint-1.51.0-netbsd-armv7.tar.gz -784ed8c10dc573f12e18dd91b6b279b06547ea672e2c26a2d9ce8abd5337347e golangci-lint-1.51.0-linux-loong64.deb -7b410ab76e6e4f2f2e6e93fdf16024cf42fcf7ff483e7674022783f6417ee596 golangci-lint-1.51.0-linux-386.deb -7b9bbd9dd271ef5f4d28b6c105e961ecfa1e3092a0d88a30bd0545f2e9c9a345 golangci-lint-1.51.0-linux-armv6.deb -8487d4441434626694608a10c1a5ad1d906cec8df761a875015d5ea15e6b15e9 golangci-lint-1.51.0-linux-arm64.tar.gz -884380ab0802d98ff34d488f30d6e1d6eedb0561ec8afc411de5e74cf1768db7 golangci-lint-1.51.0-freebsd-armv7.tar.gz -89e729542e94be38083b001be9310761cf24963a02a6027d267c645310b99730 golangci-lint-1.51.0-freebsd-386.tar.gz -934e739d348cad3064babee77c23d7f9fa699998346ac42f517a0708bbc76360 golangci-lint-1.51.0-linux-armv7.rpm -9573385a3965f6683c38cea4371d61e4fd49f76db900e4046153a4d1c29b87d1 golangci-lint-1.51.0-linux-ppc64le.tar.gz -9958f135deb31c53a336460eb2cf2dd2d9167794c22feb7f64f57c1b67fb36cc golangci-lint-1.51.0-linux-mips64le.deb -a6357781e29e106b2ebb3c41906f21f25a93cfe7e0b97a7b6fab4521060b133c golangci-lint-1.51.0-linux-mips64le.tar.gz -ad68e9723cf83e368124e5142ce1340106879493da7a595b0f11d0cceedade20 golangci-lint-1.51.0-linux-arm64.rpm -aff668f88bffb1cf56fe8d1f46f824c4f3daa79c51724fa3ef04b18c0520a6fc golangci-lint-1.51.0-linux-riscv64.deb -b2d30526e549159ad0e5db6f129ca85e89b60265cd4e76a8218e521776a109d8 golangci-lint-1.51.0-netbsd-armv6.tar.gz -b531640ad3aa7084823c630ca098626c937cbfa2190a7294e0f1207c0b053232 golangci-lint-1.51.0-windows-arm64.zip -cbecc370c1e65812cfee3eec9b17674933edc300e686c2eb4d1b613f371a279b golangci-lint-1.51.0-netbsd-amd64.tar.gz -d0a9ed6cdb29b549d68b8ecca8b71628f476f6f65ae938a873256d0d2958e4b0 golangci-lint-1.51.0-linux-riscv64.tar.gz -d0dbf2b269a2657a8112619ed0722c95212c4f05388dae420b5223462fb14e28 golangci-lint-1.51.0-freebsd-amd64.tar.gz -e6e90deccd80dbe03db06eff6cc70c140be3423e87f3e014f471fa3b5a8a2684 golangci-lint-1.51.0-netbsd-386.tar.gz -e885f3ad3f16084a01e29f35d4d97eee3d25217655dc31f545f035e1bd678000 golangci-lint-1.51.0-linux-armv7.deb -eda2c9b4f81cc37a4ebd24f6374e82b9eb9fea3859e19489e2229ff1ad212ee9 golangci-lint-1.51.0-linux-mips64.deb -fa375c169a00989f37432b24aa52628eb563707a246b697edac0c5734d81fbd4 golangci-lint-1.51.0-linux-ppc64le.rpm -fd7b5ce75c02826ffee7671df119c23d65799aa74533d25c6832d6fbba567801 golangci-lint-1.51.0-linux-s390x.rpm \ No newline at end of file +83157f5378d259d51c88e310e88513bd80bd42e497974a1bbe51b82931f229c7 golangci-lint-1.57.2-darwin-amd64.tar.gz +0d6f10544fc0b5bd94b9eeb20d89646b9c19b52a98dca1ca62f94c08ac641b98 golangci-lint-1.57.2-darwin-arm64.tar.gz +4b8e83d91e05b968c33d861cd4c917533d648560e84fe30464a1e7a8aac93e49 golangci-lint-1.57.2-freebsd-386.tar.gz +eff30d840518a24f429565d7a52ebf1ac2c0c4c1680968d581b2c7116c1dc835 golangci-lint-1.57.2-freebsd-amd64.tar.gz +6ee437fc8913aafef9b8f09dd5766037ecdd13cd75cf581a0e38b61dabe82bc7 golangci-lint-1.57.2-freebsd-armv6.tar.gz +045359345ec63b81ab269391731d22739dbc6fba0fcf4adce7a214538f33118f golangci-lint-1.57.2-freebsd-armv7.tar.gz +4885b856a380717ae79edf00aa81fbbc337948fddc33bc80dada49ed5e4d85db golangci-lint-1.57.2-illumos-amd64.tar.gz +4b874eca42cd186735aae9a3f4af1b476997819ab2abec16aec0d8a52aa258da golangci-lint-1.57.2-linux-386.deb +43ca7476fa18dbadc8cb7d4827a81a96cf5799e8ad0b60d734d23367e3f84a9d golangci-lint-1.57.2-linux-386.rpm +51694b9b9da783f70fb4060403cd476f7e77509bbbfeda222994a0ec3c43a8f8 golangci-lint-1.57.2-linux-386.tar.gz +a7b811e93c4fe6be45f862806ec121b38dbe36b81f877a6bd3f728baabce1c06 golangci-lint-1.57.2-linux-amd64.deb +4639fc82a8baad59efffbc1e7f4048b7e5e2d580d70017a0c39aaddd0c669a13 golangci-lint-1.57.2-linux-amd64.rpm +391483daa5d58d037832ba2fac709fdb5df0c67471c0d7698d1f67cbfa5f10f0 golangci-lint-1.57.2-linux-amd64.tar.gz +80deed46f7354eec109808a48fbde7232578baf52530fcf2e2f708a0daca1bd0 golangci-lint-1.57.2-linux-arm64.deb +36d61363268a3ceeae7467e34887b36813467d426123962b4e6655f502c02fe6 golangci-lint-1.57.2-linux-arm64.rpm +9e079e19b3d81e357d2acc90518c6a86a533e26a74af1e5eadf8dfcd640b66ee golangci-lint-1.57.2-linux-arm64.tar.gz +c71a28a34084826d556ada999b759f1c7016da1d293f9db3e6e6d0ed00004aea golangci-lint-1.57.2-linux-armv6.deb +ee6a61d8fd49fcf0f75263640dbfeee4b3ff0bb39e1247ba2ae3601ae8006f6c golangci-lint-1.57.2-linux-armv6.rpm +0a22ab5885803dda31f285581cdf281efe773da0be9b7ea316be416e30c012dc golangci-lint-1.57.2-linux-armv6.tar.gz +62942bf5d9acb4ad9e461be606e8ce433d0b58b2bbc61d55d6c434d927513557 golangci-lint-1.57.2-linux-armv7.deb +f2498cf873f8e92e4469516696549490b99c92649eba634d3e693ed75252e85f golangci-lint-1.57.2-linux-armv7.rpm +c1d99d122e4ec1c087f6eab1f8776b6406e284882977c57b806470207c1b85f6 golangci-lint-1.57.2-linux-armv7.tar.gz +ac21b7903ac421f7ebb62a71a110d77874ab813878bcda5ce34f2d8642aed90a golangci-lint-1.57.2-linux-loong64.deb +5dba8379a25c183c5e3524af9d5cd4a684ee305bb7173fe337f048604ed88888 golangci-lint-1.57.2-linux-loong64.rpm +bc2b63bf57ab5398e84352df24e3088791f974d53fcd9fb683955146430de3cc golangci-lint-1.57.2-linux-loong64.tar.gz +66973457d9b0b3251d76b455b3f2d64895f655d4d602ed66c285227509768b37 golangci-lint-1.57.2-linux-mips64.deb +6b3a0b987c1d207de2689bdb86cb21e74e7ddffff954a9882141018609c2431c golangci-lint-1.57.2-linux-mips64.rpm +12a386657b3eace4d6a2bae1bd0ca1c58e0098bdd0e621296b37fcfb9b4c91bb golangci-lint-1.57.2-linux-mips64.tar.gz +2dbcd6918abf2da190ec5f3fcbfde81a42f4685f0e1f7a6758abfad3010d7646 golangci-lint-1.57.2-linux-mips64le.deb +9489933a329ce30a54b230cc6d90d7b9b409c6f2905af99747bed7c9115edb8c golangci-lint-1.57.2-linux-mips64le.rpm +d813cc9d5688f8170f8695d6468cf5b4995b401ee8270834d5fc333f5e2cce05 golangci-lint-1.57.2-linux-mips64le.tar.gz +da8f59eb18eb478f9b782d2a844674d827fc31b92df0cae581d99b69d5a26226 golangci-lint-1.57.2-linux-ppc64le.deb +b371a14c364978bfb71b86c1a3e5e951dbb5b4ab9ee14a184fadb024a59cd490 golangci-lint-1.57.2-linux-ppc64le.rpm +36084ebd725fb046e1c956f823b2c57b49781f41df0592501cfb5eb5d315b6c5 golangci-lint-1.57.2-linux-ppc64le.tar.gz +73936770432d10f7a5aefa86049382bc554f07cae035e79d515d754c77bdd3d5 golangci-lint-1.57.2-linux-riscv64.deb +4f4407bb197e1fd6db04187aaf2671faf94dc1764822248fefbedf025691705c golangci-lint-1.57.2-linux-riscv64.rpm +240b6b406d21d24a3041927aa39094c8d2fc2c7c6723e295b7f2d9d59c6e245b golangci-lint-1.57.2-linux-riscv64.tar.gz +486887715432f177fb1b795f9656e3338a18400a3b63f9e0c0ca9aae7ce91182 golangci-lint-1.57.2-linux-s390x.deb +8af126c8319d59dc3892a67df5ae10a51afef8fe5724906e8e340122384355a6 golangci-lint-1.57.2-linux-s390x.rpm +aede4a55e49f46d50c1ea6d21a093834faea33e80ab9c641833b29f53a030695 golangci-lint-1.57.2-linux-s390x.tar.gz +b47561dd99d8fc5aadffc629196f753a37f7eb33fa88d1f869e576cfe0c78b6f golangci-lint-1.57.2-netbsd-386.tar.gz +f19bb6886f7e47539f4d06844e4ba9be8af4ae3aff7b7118e7f0ac0b7c0fb34b golangci-lint-1.57.2-netbsd-amd64.tar.gz +65d3c14d46d205f3d1b2159b153ae93ee4a455a490605eda0935fb2ec8929f1a golangci-lint-1.57.2-netbsd-armv6.tar.gz +f975b1910afae5166598254319c2eb6231143a7cb63816df1bc193bdac3451a2 golangci-lint-1.57.2-netbsd-armv7.tar.gz +621326544b0fec6d4a7569bc504850dc7bf33b011ecef34ae6c292a5b24acd02 golangci-lint-1.57.2-source.tar.gz +95321b1ec07db22e29538d0b18d36a376ca7d834c4826351db2b73436d27f7c1 golangci-lint-1.57.2-windows-386.zip +10c1ab7eb4a99f8b292a8f910bc78a50e9547a4ffe7444fcddc68f722adf6612 golangci-lint-1.57.2-windows-amd64.zip +f88ac03faa185da6547beab8a91983db2767e2e154323518f592f7e24772ca9e golangci-lint-1.57.2-windows-arm64.zip +1c2c738d241be1091cebf119d38758d51d56b5a02bbe410979545e51dc39cf70 golangci-lint-1.57.2-windows-armv6.zip +88acd5987fb883ac56c46a78d804595ab5fb26be9b0b253bfb397d7838df3f78 golangci-lint-1.57.2-windows-armv7.zip \ No newline at end of file diff --git a/build/ci.go b/build/ci.go index 880a13045975..db6706a124b7 100644 --- a/build/ci.go +++ b/build/ci.go @@ -352,7 +352,7 @@ func doLint(cmdline []string) { // downloadLinter downloads and unpacks golangci-lint. func downloadLinter(cachedir string) string { - const version = "1.51.0" + const version = "1.57.2" csdb := build.MustLoadChecksums("build/checksums.txt") arch := runtime.GOARCH From 3b0e180ab7f79d1b69d125d1f5d8a7b6e02fd0c5 Mon Sep 17 00:00:00 2001 From: evgeniy-scherbina Date: Mon, 13 May 2024 17:31:09 -0400 Subject: [PATCH 11/11] Fix linter errors --- .golangci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.golangci.yml b/.golangci.yml index 09f631fed04e..e697f94e4414 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -86,3 +86,4 @@ issues: - 'func `updateSomeNodes` is unused' - 'func `mapResolver.clear` is unused' - 'File is not `goimports`-ed' + - 'G601: Implicit memory aliasing in for loop.'