From b64e4c0187b66d95a9df82f3012564a212450068 Mon Sep 17 00:00:00 2001 From: Stephen Buttolph Date: Thu, 4 Apr 2024 16:07:19 -0400 Subject: [PATCH] Use string literals rather than escaping strings --- plugin/evm/static_service_test.go | 2 +- plugin/evm/vm_test.go | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/plugin/evm/static_service_test.go b/plugin/evm/static_service_test.go index e29085c018..8d6407ec49 100644 --- a/plugin/evm/static_service_test.go +++ b/plugin/evm/static_service_test.go @@ -14,7 +14,7 @@ import ( "github.com/stretchr/testify/assert" ) -var testGenesisJSON = "{\"config\":{\"chainId\":43111,\"homesteadBlock\":0,\"eip150Block\":0,\"eip155Block\":0,\"eip158Block\":0,\"byzantiumBlock\":0,\"constantinopleBlock\":0,\"petersburgBlock\":0,\"istanbulBlock\":0,\"muirGlacierBlock\":0,\"subnetEVMTimestamp\":0},\"nonce\":\"0x0\",\"timestamp\":\"0x0\",\"extraData\":\"0x00\",\"gasLimit\":\"0x5f5e100\",\"difficulty\":\"0x0\",\"mixHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"coinbase\":\"0x0000000000000000000000000000000000000000\",\"alloc\":{\"0100000000000000000000000000000000000000\":{\"code\":\"0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80631e010439146042578063b6510bb314606e575b600080fd5b605c60048036036020811015605657600080fd5b503560b1565b60408051918252519081900360200190f35b818015607957600080fd5b5060af60048036036080811015608e57600080fd5b506001600160a01b03813516906020810135906040810135906060013560b6565b005b30cd90565b836001600160a01b031681836108fc8690811502906040516000604051808303818888878c8acf9550505050505015801560f4573d6000803e3d6000fd5b505050505056fea26469706673582212201eebce970fe3f5cb96bf8ac6ba5f5c133fc2908ae3dcd51082cfee8f583429d064736f6c634300060a0033\",\"balance\":\"0x0\"}},\"number\":\"0x0\",\"gasUsed\":\"0x0\",\"parentHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}" +var testGenesisJSON = `{config:{chainId:43111,homesteadBlock:0,eip150Block:0,eip155Block:0,eip158Block:0,byzantiumBlock:0,constantinopleBlock:0,petersburgBlock:0,istanbulBlock:0,muirGlacierBlock:0,subnetEVMTimestamp:0},nonce:0x0,timestamp:0x0,extraData:0x00,gasLimit:0x5f5e100,difficulty:0x0,mixHash:0x0000000000000000000000000000000000000000000000000000000000000000,coinbase:0x0000000000000000000000000000000000000000,alloc:{0100000000000000000000000000000000000000:{code:0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80631e010439146042578063b6510bb314606e575b600080fd5b605c60048036036020811015605657600080fd5b503560b1565b60408051918252519081900360200190f35b818015607957600080fd5b5060af60048036036080811015608e57600080fd5b506001600160a01b03813516906020810135906040810135906060013560b6565b005b30cd90565b836001600160a01b031681836108fc8690811502906040516000604051808303818888878c8acf9550505050505015801560f4573d6000803e3d6000fd5b505050505056fea26469706673582212201eebce970fe3f5cb96bf8ac6ba5f5c133fc2908ae3dcd51082cfee8f583429d064736f6c634300060a0033,balance:0x0}},number:0x0,gasUsed:0x0,parentHash:0x0000000000000000000000000000000000000000000000000000000000000000}` func TestBuildGenesis(t *testing.T) { ss := CreateStaticService() diff --git a/plugin/evm/vm_test.go b/plugin/evm/vm_test.go index 84f9b3f57f..c6a27ab688 100644 --- a/plugin/evm/vm_test.go +++ b/plugin/evm/vm_test.go @@ -80,9 +80,9 @@ var ( password = "CjasdjhiPeirbSenfeI13" // #nosec G101 // Use chainId: 43111, so that it does not overlap with any Avalanche ChainIDs, which may have their // config overridden in vm.Initialize. - genesisJSONSubnetEVM = "{\"config\":{\"chainId\":43111,\"homesteadBlock\":0,\"eip150Block\":0,\"eip155Block\":0,\"eip158Block\":0,\"byzantiumBlock\":0,\"constantinopleBlock\":0,\"petersburgBlock\":0,\"istanbulBlock\":0,\"muirGlacierBlock\":0,\"subnetEVMTimestamp\":0},\"nonce\":\"0x0\",\"timestamp\":\"0x0\",\"extraData\":\"0x00\",\"gasLimit\":\"0x7A1200\",\"difficulty\":\"0x0\",\"mixHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"coinbase\":\"0x0000000000000000000000000000000000000000\",\"alloc\":{\"0x71562b71999873DB5b286dF957af199Ec94617F7\": {\"balance\":\"0x4192927743b88000\"}, \"0x703c4b2bD70c169f5717101CaeE543299Fc946C7\": {\"balance\":\"0x4192927743b88000\"}},\"number\":\"0x0\",\"gasUsed\":\"0x0\",\"parentHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}" - genesisJSONDurango = "{\"config\":{\"chainId\":43111,\"homesteadBlock\":0,\"eip150Block\":0,\"eip155Block\":0,\"eip158Block\":0,\"byzantiumBlock\":0,\"constantinopleBlock\":0,\"petersburgBlock\":0,\"istanbulBlock\":0,\"muirGlacierBlock\":0,\"subnetEVMTimestamp\":0,\"durangoTimestamp\":0},\"nonce\":\"0x0\",\"timestamp\":\"0x0\",\"extraData\":\"0x00\",\"gasLimit\":\"0x7A1200\",\"difficulty\":\"0x0\",\"mixHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"coinbase\":\"0x0000000000000000000000000000000000000000\",\"alloc\":{\"0x71562b71999873DB5b286dF957af199Ec94617F7\": {\"balance\":\"0x4192927743b88000\"}, \"0x703c4b2bD70c169f5717101CaeE543299Fc946C7\": {\"balance\":\"0x4192927743b88000\"}},\"number\":\"0x0\",\"gasUsed\":\"0x0\",\"parentHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}" - genesisJSONPreSubnetEVM = "{\"config\":{\"chainId\":43111,\"homesteadBlock\":0,\"eip150Block\":0,\"eip155Block\":0,\"eip158Block\":0,\"byzantiumBlock\":0,\"constantinopleBlock\":0,\"petersburgBlock\":0,\"istanbulBlock\":0,\"muirGlacierBlock\":0},\"nonce\":\"0x0\",\"timestamp\":\"0x0\",\"extraData\":\"0x00\",\"gasLimit\":\"0x7A1200\",\"difficulty\":\"0x0\",\"mixHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"coinbase\":\"0x0000000000000000000000000000000000000000\",\"alloc\":{\"0x71562b71999873DB5b286dF957af199Ec94617F7\": {\"balance\":\"0x4192927743b88000\"}, \"0x703c4b2bD70c169f5717101CaeE543299Fc946C7\": {\"balance\":\"0x4192927743b88000\"}},\"number\":\"0x0\",\"gasUsed\":\"0x0\",\"parentHash\":\"0x0000000000000000000000000000000000000000000000000000000000000000\"}" + genesisJSONSubnetEVM = `{config:{chainId:43111,homesteadBlock:0,eip150Block:0,eip155Block:0,eip158Block:0,byzantiumBlock:0,constantinopleBlock:0,petersburgBlock:0,istanbulBlock:0,muirGlacierBlock:0,subnetEVMTimestamp:0},nonce:0x0,timestamp:0x0,extraData:0x00,gasLimit:0x7A1200,difficulty:0x0,mixHash:0x0000000000000000000000000000000000000000000000000000000000000000,coinbase:0x0000000000000000000000000000000000000000,alloc:{0x71562b71999873DB5b286dF957af199Ec94617F7: {balance:0x4192927743b88000}, 0x703c4b2bD70c169f5717101CaeE543299Fc946C7: {balance:0x4192927743b88000}},number:0x0,gasUsed:0x0,parentHash:0x0000000000000000000000000000000000000000000000000000000000000000}` + genesisJSONDurango = `{config:{chainId:43111,homesteadBlock:0,eip150Block:0,eip155Block:0,eip158Block:0,byzantiumBlock:0,constantinopleBlock:0,petersburgBlock:0,istanbulBlock:0,muirGlacierBlock:0,subnetEVMTimestamp:0,durangoTimestamp:0},nonce:0x0,timestamp:0x0,extraData:0x00,gasLimit:0x7A1200,difficulty:0x0,mixHash:0x0000000000000000000000000000000000000000000000000000000000000000,coinbase:0x0000000000000000000000000000000000000000,alloc:{0x71562b71999873DB5b286dF957af199Ec94617F7: {balance:0x4192927743b88000}, 0x703c4b2bD70c169f5717101CaeE543299Fc946C7: {balance:0x4192927743b88000}},number:0x0,gasUsed:0x0,parentHash:0x0000000000000000000000000000000000000000000000000000000000000000}` + genesisJSONPreSubnetEVM = `{config:{chainId:43111,homesteadBlock:0,eip150Block:0,eip155Block:0,eip158Block:0,byzantiumBlock:0,constantinopleBlock:0,petersburgBlock:0,istanbulBlock:0,muirGlacierBlock:0},nonce:0x0,timestamp:0x0,extraData:0x00,gasLimit:0x7A1200,difficulty:0x0,mixHash:0x0000000000000000000000000000000000000000000000000000000000000000,coinbase:0x0000000000000000000000000000000000000000,alloc:{0x71562b71999873DB5b286dF957af199Ec94617F7: {balance:0x4192927743b88000}, 0x703c4b2bD70c169f5717101CaeE543299Fc946C7: {balance:0x4192927743b88000}},number:0x0,gasUsed:0x0,parentHash:0x0000000000000000000000000000000000000000000000000000000000000000}` genesisJSONLatest = genesisJSONDurango firstTxAmount = new(big.Int).Mul(big.NewInt(testMinGasPrice), big.NewInt(21000*100)) @@ -233,7 +233,7 @@ func GenesisVM(t *testing.T, func TestVMConfig(t *testing.T) { txFeeCap := float64(11) enabledEthAPIs := []string{"debug"} - configJSON := fmt.Sprintf("{\"rpc-tx-fee-cap\": %g,\"eth-apis\": %s}", txFeeCap, fmt.Sprintf("[%q]", enabledEthAPIs[0])) + configJSON := fmt.Sprintf(`{rpc-tx-fee-cap: %g,eth-apis: %s}`, txFeeCap, fmt.Sprintf("[%q]", enabledEthAPIs[0])) _, vm, _, _ := GenesisVM(t, false, "", configJSON, "") require.Equal(t, vm.config.RPCTxFeeCap, txFeeCap, "Tx Fee Cap should be set") require.Equal(t, vm.config.EthAPIs(), enabledEthAPIs, "EnabledEthAPIs should be set") @@ -243,7 +243,7 @@ func TestVMConfig(t *testing.T) { func TestVMConfigDefaults(t *testing.T) { txFeeCap := float64(11) enabledEthAPIs := []string{"debug"} - configJSON := fmt.Sprintf("{\"rpc-tx-fee-cap\": %g,\"eth-apis\": %s}", txFeeCap, fmt.Sprintf("[%q]", enabledEthAPIs[0])) + configJSON := fmt.Sprintf(`{rpc-tx-fee-cap: %g,eth-apis: %s}`, txFeeCap, fmt.Sprintf("[%q]", enabledEthAPIs[0])) _, vm, _, _ := GenesisVM(t, false, "", configJSON, "") var vmConfig Config @@ -267,7 +267,7 @@ func TestVMNilConfig(t *testing.T) { func TestVMContinuousProfiler(t *testing.T) { profilerDir := t.TempDir() profilerFrequency := 500 * time.Millisecond - configJSON := fmt.Sprintf("{\"continuous-profiler-dir\": %q,\"continuous-profiler-frequency\": \"500ms\"}", profilerDir) + configJSON := fmt.Sprintf(`{continuous-profiler-dir: %q,continuous-profiler-frequency: 500ms}`, profilerDir) _, vm, _, _ := GenesisVM(t, false, "", configJSON, "") require.Equal(t, vm.config.ContinuousProfilerDir, profilerDir, "profiler dir should be set") require.Equal(t, vm.config.ContinuousProfilerFrequency.Duration, profilerFrequency, "profiler frequency should be set") @@ -387,7 +387,7 @@ func issueAndAccept(t *testing.T, issuer <-chan commonEng.Message, vm *VM) snowm func TestBuildEthTxBlock(t *testing.T) { // reduce block gas cost - issuer, vm, dbManager, _ := GenesisVM(t, true, genesisJSONSubnetEVM, "{\"pruning-enabled\":true}", "") + issuer, vm, dbManager, _ := GenesisVM(t, true, genesisJSONSubnetEVM, `{pruning-enabled:true}`, "") defer func() { if err := vm.Shutdown(context.Background()); err != nil { @@ -493,7 +493,7 @@ func TestBuildEthTxBlock(t *testing.T) { dbManager, genesisBytes, []byte(""), - []byte("{\"pruning-enabled\":true}"), + []byte(`{pruning-enabled:true}`), issuer, []*commonEng.Fx{}, nil, @@ -526,8 +526,8 @@ func TestBuildEthTxBlock(t *testing.T) { func TestSetPreferenceRace(t *testing.T) { // Create two VMs which will agree on block A and then // build the two distinct preferred chains above - issuer1, vm1, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, "{\"pruning-enabled\":true}", "") - issuer2, vm2, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, "{\"pruning-enabled\":true}", "") + issuer1, vm1, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, `{pruning-enabled:true}`, "") + issuer2, vm2, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, `{pruning-enabled:true}`, "") defer func() { if err := vm1.Shutdown(context.Background()); err != nil { @@ -777,8 +777,8 @@ func TestSetPreferenceRace(t *testing.T) { // accept block C, which should be an orphaned block at this point and // get rejected. func TestReorgProtection(t *testing.T) { - issuer1, vm1, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, "{\"pruning-enabled\":false}", "") - issuer2, vm2, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, "{\"pruning-enabled\":false}", "") + issuer1, vm1, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, `{pruning-enabled:false}`, "") + issuer2, vm2, _, _ := GenesisVM(t, true, genesisJSONSubnetEVM, `{pruning-enabled:false}`, "") defer func() { if err := vm1.Shutdown(context.Background()); err != nil { @@ -1982,7 +1982,7 @@ func TestConfigureLogLevel(t *testing.T) { }{ { name: "Log level info", - logConfig: "{\"log-level\": \"info\"}", + logConfig: `{log-level: info}`, genesisJSON: genesisJSONSubnetEVM, upgradeJSON: "", expectedErr: "", @@ -3051,7 +3051,7 @@ func TestSkipChainConfigCheckCompatible(t *testing.T) { metrics.Enabled = false defer func() { metrics.Enabled = true }() - issuer, vm, dbManager, appSender := GenesisVM(t, true, genesisJSONPreSubnetEVM, "{\"pruning-enabled\":true}", "") + issuer, vm, dbManager, appSender := GenesisVM(t, true, genesisJSONPreSubnetEVM, `{pruning-enabled:true}`, "") defer func() { if err := vm.Shutdown(context.Background()); err != nil { @@ -3099,7 +3099,7 @@ func TestSkipChainConfigCheckCompatible(t *testing.T) { require.ErrorContains(t, err, "mismatching SubnetEVM fork block timestamp in database") // try again with skip-upgrade-check - config := []byte("{\"skip-upgrade-check\": true}") + config := []byte(`{skip-upgrade-check: true}`) err = reinitVM.Initialize(context.Background(), vm.ctx, dbManager, genesisWithUpgradeBytes, []byte{}, config, issuer, []*commonEng.Fx{}, appSender) require.NoError(t, err) require.NoError(t, reinitVM.Shutdown(context.Background()))