From 04401e307f1c8c63446ddc8087454363618eb73a Mon Sep 17 00:00:00 2001 From: nghuyenthevinh2000 Date: Mon, 20 Mar 2023 21:28:49 +0700 Subject: [PATCH] update golangci-lint fix (#191) --- .github/workflows/lint.yml | 4 +- .golangci.yml | 79 +++++++++++++++----- app/app.go | 6 +- app/legacy/migrate.go | 4 +- app/legacy/pubkey_replacement.go | 4 +- cmd/terrad/genaccounts.go | 3 +- cmd/terrad/root.go | 2 +- cmd/terrad/testnet.go | 23 +++--- custom/auth/ante/ante_test.go | 11 ++- custom/auth/ante/burntax_test.go | 3 +- custom/auth/ante/integration_test.go | 5 +- custom/auth/ante/min_initial_deposit.go | 5 +- custom/auth/ante/min_initial_deposit_test.go | 11 +-- custom/auth/ante/sigverify.go | 1 - custom/auth/ante/sigverify_test.go | 2 +- custom/auth/ante/tax.go | 4 +- custom/auth/ante/tax_test.go | 4 + custom/auth/client/rest/broadcast.go | 6 +- custom/auth/client/rest/encode.go | 6 +- custom/auth/client/utils/feeutils.go | 2 +- custom/auth/legacy/v039/types.go | 1 - custom/auth/legacy/v040/store.go | 2 +- custom/auth/module.go | 4 +- custom/auth/tx/service.go | 8 +- custom/authz/legacy/v043/migrate.go | 7 +- custom/bank/module.go | 2 +- custom/bank/wasm/interface.go | 28 +++---- custom/crisis/module.go | 2 +- custom/distribution/module.go | 2 +- custom/distribution/wasm/interface.go | 12 +-- custom/evidence/module.go | 2 +- custom/gov/module.go | 2 +- custom/gov/wasm/interface.go | 14 ++-- custom/slashing/module.go | 2 +- custom/staking/module.go | 2 +- custom/staking/wasm/interface.go | 34 ++++----- types/alias.go | 2 +- types/assets/assets.go | 1 - types/util/blocks.go | 1 - types/util/hdpath.go | 6 +- x/market/common_test.go | 7 +- x/market/exported/alias.go | 2 - x/market/keeper/legacy_querier_test.go | 4 +- x/market/keeper/querier_test.go | 4 +- x/market/keeper/swap.go | 2 +- x/market/keeper/test_utils.go | 3 - x/market/legacy/v04/types.go | 1 - x/market/module.go | 4 +- x/market/wasm/interface.go | 24 +++--- x/market/wasm/interface_test.go | 4 +- x/oracle/abci.go | 2 - x/oracle/client/rest/rest.go | 1 - x/oracle/client/rest/tx.go | 9 ++- x/oracle/common_test.go | 5 +- x/oracle/exported/alias.go | 2 - x/oracle/handler_test.go | 14 ++-- x/oracle/keeper/ballot.go | 2 +- x/oracle/keeper/keeper_test.go | 16 ++-- x/oracle/keeper/params.go | 1 - x/oracle/keeper/test_utils.go | 1 - x/oracle/legacy/v04/types.go | 1 - x/oracle/module.go | 4 +- x/oracle/simulation/operations.go | 4 +- x/oracle/tally.go | 2 +- x/oracle/types/ballot_test.go | 2 +- x/oracle/types/genesis.go | 4 +- x/oracle/types/hash_test.go | 2 +- x/oracle/types/params_test.go | 16 ++-- x/oracle/types/test_utils.go | 1 - x/oracle/wasm/interface.go | 16 ++-- x/oracle/wasm/interface_test.go | 2 +- x/treasury/client/cli/query.go | 5 -- x/treasury/exported/alias.go | 2 - x/treasury/keeper/burn_account.go | 2 - x/treasury/keeper/indicator_test.go | 4 - x/treasury/keeper/keeper.go | 14 ++-- x/treasury/keeper/legacy_querier.go | 3 + x/treasury/keeper/migrations.go | 2 +- x/treasury/keeper/querier_test.go | 1 + x/treasury/keeper/test_utils.go | 1 - x/treasury/legacy/v04/types.go | 1 - x/treasury/module.go | 2 +- x/treasury/types/params.go | 5 +- x/treasury/wasm/interface.go | 23 +++--- x/vesting/module.go | 2 +- x/wasm/client/cli/query.go | 6 +- x/wasm/client/cli/tx.go | 13 ++-- x/wasm/client/utils/utils_test.go | 4 +- x/wasm/common_test.go | 6 +- x/wasm/exported/alias.go | 1 - x/wasm/handler_test.go | 5 +- x/wasm/keeper/bench_test.go | 4 +- x/wasm/keeper/connector.go | 2 +- x/wasm/keeper/contract.go | 2 +- x/wasm/keeper/contract_test.go | 36 ++++----- x/wasm/keeper/custom_test.go | 28 ++++--- x/wasm/keeper/ioutil.go | 3 +- x/wasm/keeper/ioutil_test.go | 6 +- x/wasm/keeper/legacy_querier.go | 2 +- x/wasm/keeper/legacy_querier_test.go | 24 +++--- x/wasm/keeper/msg_server_test.go | 10 ++- x/wasm/keeper/querier.go | 2 +- x/wasm/keeper/querier_test.go | 8 +- x/wasm/keeper/recursive_test.go | 8 +- x/wasm/keeper/reflect_test.go | 50 +++---------- x/wasm/keeper/staking_test.go | 11 ++- x/wasm/keeper/submsg_test.go | 14 ++-- x/wasm/keeper/test_utils.go | 3 - x/wasm/legacy/v04/types.go | 1 - x/wasm/module.go | 4 +- x/wasm/simulation/operations.go | 27 ------- x/wasm/types/gas_meter_test.go | 6 +- x/wasm/types/gas_store.go | 69 +++++++++-------- x/wasm/types/params.go | 1 - 114 files changed, 427 insertions(+), 477 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2fef3968b..bdadbe7c0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,7 +14,7 @@ jobs: name: golangci-lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: technote-space/get-diff-action@v4 with: PATTERNS: | @@ -24,7 +24,7 @@ jobs: - uses: golangci/golangci-lint-action@v3 with: # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. - version: v1.45.2 + version: v1.51.2 args: --timeout 10m github-token: ${{ secrets.github_token }} if: "env.GIT_DIFF != ''" diff --git a/.golangci.yml b/.golangci.yml index b261ffbff..f1299c727 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,26 +1,65 @@ +run: + tests: true + timeout: 10m + sort-results: true + allow-parallel-runners: true + concurrency: 4 + linters: disable-all: true enable: - - errcheck - - golint - - ineffassign - - unconvert - - misspell - - govet - # - unused - # - deadcode + - depguard + - dogsled + - exportloopref - goconst + - gocritic + - gofumpt - gosec - # - staticcheck -linters-settings: - gocyclo: - min-complexity: 11 - errcheck: - ignore: fmt:.*,io/ioutil:^Read.*,github.com/spf13/cobra:MarkFlagRequired,github.com/spf13/viper:BindPFlag - golint: - min-confidence: 1.1 + - gosimple + - govet + - ineffassign + - misspell + - nakedret + - nolintlint + - staticcheck + - revive + - stylecheck + - typecheck + - unconvert + - unused + issues: - exclude: - - composite -run: - tests: false + exclude-rules: + - text: "Use of weak random number generator" + linters: + - gosec + - text: "ST1003:" + linters: + - stylecheck + # FIXME: Disabled until golangci-lint updates stylecheck with this fix: + # https://github.com/dominikh/go-tools/issues/389 + - text: "ST1016:" + linters: + - stylecheck + - path: "migrations" + text: "SA1019:" + linters: + - staticcheck + - text: "leading space" + linters: + - nolintlint + + max-issues-per-linter: 10000 + max-same-issues: 10000 + +linters-settings: + dogsled: + max-blank-identifiers: 3 + maligned: + # print struct with more effective memory layout or not, false by default + suggest-new: true + nolintlint: + allow-unused: false + allow-leading-space: true + require-explanation: false + require-specific: false \ No newline at end of file diff --git a/app/app.go b/app/app.go index 9a750274c..555dae25c 100644 --- a/app/app.go +++ b/app/app.go @@ -46,8 +46,8 @@ import ( // upgrades "github.com/classic-terra/core/app/upgrades" - "github.com/classic-terra/core/app/upgrades/v2" - "github.com/classic-terra/core/app/upgrades/v3" + v2 "github.com/classic-terra/core/app/upgrades/v2" + v3 "github.com/classic-terra/core/app/upgrades/v3" customante "github.com/classic-terra/core/custom/auth/ante" customauthrest "github.com/classic-terra/core/custom/auth/client/rest" @@ -79,7 +79,7 @@ var ( // TerraApp extends an ABCI application, but with most of its parameters exported. // They are exported for convenience in creating helper functions, as object // capabilities aren't needed for testing. -type TerraApp struct { // nolint: golint +type TerraApp struct { *baseapp.BaseApp keepers.AppKeepers diff --git a/app/legacy/migrate.go b/app/legacy/migrate.go index 489be69ff..361fbaf0e 100644 --- a/app/legacy/migrate.go +++ b/app/legacy/migrate.go @@ -3,7 +3,7 @@ package legacy import ( "encoding/json" "fmt" - "io/ioutil" + "os" "strings" "time" @@ -54,7 +54,7 @@ $ terrad migrate /path/to/genesis.json --chain-id=cosmoshub-4 --genesis-time=201 importGenesis := args[0] - jsonBlob, err := ioutil.ReadFile(importGenesis) + jsonBlob, err := os.ReadFile(importGenesis) if err != nil { return errors.Wrap(err, "failed to read provided genesis file") } diff --git a/app/legacy/pubkey_replacement.go b/app/legacy/pubkey_replacement.go index ec65f3fab..8e168c316 100644 --- a/app/legacy/pubkey_replacement.go +++ b/app/legacy/pubkey_replacement.go @@ -4,8 +4,8 @@ import ( "bytes" "encoding/json" "fmt" - "io/ioutil" "log" + "os" "github.com/pkg/errors" cryptocodec "github.com/tendermint/tendermint/crypto/encoding" @@ -38,7 +38,7 @@ type replacementConfig struct { } func loadKeydataFromFile(clientCtx client.Context, replacementrJSON string, genDoc *tmtypes.GenesisDoc) *tmtypes.GenesisDoc { - jsonReplacementBlob, err := ioutil.ReadFile(replacementrJSON) + jsonReplacementBlob, err := os.ReadFile(replacementrJSON) if err != nil { log.Fatal(errors.Wrapf(err, "failed to read replacement keys from file %s", replacementrJSON)) } diff --git a/cmd/terrad/genaccounts.go b/cmd/terrad/genaccounts.go index a2052d370..c7a2dc25c 100644 --- a/cmd/terrad/genaccounts.go +++ b/cmd/terrad/genaccounts.go @@ -12,7 +12,6 @@ import ( "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/server" sdk "github.com/cosmos/cosmos-sdk/types" @@ -58,7 +57,7 @@ $ terrad add-genesis-account acc1 '10000000000uluna,1000000ukrw' RunE: func(cmd *cobra.Command, args []string) error { clientCtx := client.GetClientContextFromCmd(cmd) depCdc := clientCtx.Codec - cdc := depCdc.(codec.Codec) + cdc := depCdc serverCtx := server.GetServerContextFromCmd(cmd) config := serverCtx.Config diff --git a/cmd/terrad/root.go b/cmd/terrad/root.go index 1b4aab4fe..a1647a819 100644 --- a/cmd/terrad/root.go +++ b/cmd/terrad/root.go @@ -45,7 +45,7 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { sdkConfig := sdk.GetConfig() sdkConfig.SetCoinType(core.CoinType) - sdkConfig.SetFullFundraiserPath(core.FullFundraiserPath) + sdkConfig.SetPurpose(core.Purpose) sdkConfig.SetBech32PrefixForAccount(core.Bech32PrefixAccAddr, core.Bech32PrefixAccPub) sdkConfig.SetBech32PrefixForValidator(core.Bech32PrefixValAddr, core.Bech32PrefixValPub) sdkConfig.SetBech32PrefixForConsensusNode(core.Bech32PrefixConsAddr, core.Bech32PrefixConsPub) diff --git a/cmd/terrad/testnet.go b/cmd/terrad/testnet.go index 3a29c502c..f16af3c4b 100644 --- a/cmd/terrad/testnet.go +++ b/cmd/terrad/testnet.go @@ -25,6 +25,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/server" srvconfig "github.com/cosmos/cosmos-sdk/server/config" + "github.com/cosmos/cosmos-sdk/testutil" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -138,7 +139,7 @@ func InitTestnet( inBuf := bufio.NewReader(cmd.InOrStdin()) // generate private keys, node IDs, and initial transactions - + // can have 6 validators at most // but need to go through all nodes to initialize config and such for i := 0; i < 6; i++ { @@ -148,7 +149,7 @@ func InitTestnet( nodeConfig.SetRoot(nodeDir) nodeConfig.RPC.ListenAddress = "tcp://0.0.0.0:26657" - + // 1.) create testnet config dirs if err := os.MkdirAll(filepath.Join(nodeDir, "config"), nodeDirPerm); err != nil { _ = os.RemoveAll(outputDir) @@ -172,7 +173,6 @@ func InitTestnet( return err } - memo := fmt.Sprintf("%s@%s:26656", nodeIDs[i], ip) genFiles = append(genFiles, nodeConfig.GenesisFile()) @@ -187,7 +187,7 @@ func InitTestnet( return err } - addr, secret, err := server.GenerateSaveCoinKey(kb, nodeDirName, true, algo) + addr, secret, err := testutil.GenerateSaveCoinKey(kb, nodeDirName, "", true, algo) if err != nil { _ = os.RemoveAll(outputDir) return err @@ -204,14 +204,13 @@ func InitTestnet( if err := writeFile(fmt.Sprintf("%v.json", "key_seed"), nodeDir, cliPrint); err != nil { return err } - + // create account Tokens for node accTokens := sdk.TokensFromConsensusPower(1000, sdk.DefaultPowerReduction) - + // create staking tokens for node accStakingTokens := sdk.TokensFromConsensusPower(500, sdk.DefaultPowerReduction) - - + coins := sdk.Coins{ sdk.NewCoin(fmt.Sprintf("%stoken", nodeDirName), accTokens), sdk.NewCoin(core.MicroLunaDenom, accStakingTokens), @@ -220,7 +219,7 @@ func InitTestnet( genBalances = append(genBalances, banktypes.Balance{Address: addr.String(), Coins: coins.Sort()}) genAccounts = append(genAccounts, authtypes.NewBaseAccount(addr, nil, 0, 0)) valTokens := sdk.TokensFromConsensusPower(100, sdk.DefaultPowerReduction) - + // create gentxs only for numValidators if i < numValidators { // create the validator for node i @@ -235,7 +234,7 @@ func InitTestnet( if err != nil { return err } - + // create gentx (create validator) and write to file txBuilder := clientCtx.TxConfig.NewTxBuilder() if err := txBuilder.SetMsgs(createValMsg); err != nil { @@ -259,7 +258,7 @@ func InitTestnet( return err } } - + // write config file app.toml srvconfig.WriteConfigFile(filepath.Join(nodeDir, "config/app.toml"), terraappConfig) } @@ -396,7 +395,7 @@ func calculateIP(ip string, i int) (string, error) { } func writeFile(name string, dir string, contents []byte) error { - writePath := filepath.Join(dir) + writePath := dir file := filepath.Join(writePath, name) err := tmos.EnsureDir(writePath, 0o755) diff --git a/custom/auth/ante/ante_test.go b/custom/auth/ante/ante_test.go index 9ccb891a9..52146a14c 100644 --- a/custom/auth/ante/ante_test.go +++ b/custom/auth/ante/ante_test.go @@ -21,7 +21,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/tx/signing" xauthsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" - "github.com/cosmos/cosmos-sdk/x/auth/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -139,11 +138,11 @@ func generatePubKeysAndSignatures(n int, msg []byte, _ bool) (pubkeys []cryptoty // TODO: also generate ed25519 keys as below when ed25519 keys are // actually supported, https://github.com/cosmos/cosmos-sdk/issues/4789 // for now this fails: - //if rand.Int63()%2 == 0 { + // if rand.Int63()%2 == 0 { // privkey = ed25519.GenPrivKey() - //} else { + // } else { // privkey = secp256k1.GenPrivKey() - //} + // } pubkeys[i] = privkey.PubKey() signatures[i], _ = privkey.Sign(msg) @@ -157,9 +156,9 @@ func expectedGasCostByKeys(pubkeys []cryptotypes.PubKey) uint64 { pubkeyType := strings.ToLower(fmt.Sprintf("%T", pubkey)) switch { case strings.Contains(pubkeyType, "ed25519"): - cost += types.DefaultParams().SigVerifyCostED25519 + cost += authtypes.DefaultParams().SigVerifyCostED25519 case strings.Contains(pubkeyType, "secp256k1"): - cost += types.DefaultParams().SigVerifyCostSecp256k1 + cost += authtypes.DefaultParams().SigVerifyCostSecp256k1 default: panic("unexpected key type") } diff --git a/custom/auth/ante/burntax_test.go b/custom/auth/ante/burntax_test.go index 58c8a8efb..8865e1482 100644 --- a/custom/auth/ante/burntax_test.go +++ b/custom/auth/ante/burntax_test.go @@ -68,6 +68,7 @@ func (suite *AnteTestSuite) runSplitTaxTest(burnSplitRate sdk.Dec) { require.Equal(amountFeeBefore, taxes) totalSupplyBefore, _, err := bk.GetPaginatedTotalSupply(suite.ctx, &query.PageRequest{}) + require.NoError(err) fmt.Printf( "Before: TotalSupply %v, Community %v, FeeCollector %v\n", totalSupplyBefore, @@ -96,7 +97,7 @@ func (suite *AnteTestSuite) runSplitTaxTest(burnSplitRate sdk.Dec) { tk.BurnCoinsFromBurnAccount(suite.ctx) totalSupplyAfter, _, err := bk.GetPaginatedTotalSupply(suite.ctx, &query.PageRequest{}) - + require.NoError(err) if !burnTax.Empty() { // expected: total supply = tax - split tax require.Equal( diff --git a/custom/auth/ante/integration_test.go b/custom/auth/ante/integration_test.go index ca225ef68..c73e43896 100644 --- a/custom/auth/ante/integration_test.go +++ b/custom/auth/ante/integration_test.go @@ -3,7 +3,6 @@ package ante_test import ( "fmt" - "github.com/classic-terra/core/custom/auth/ante" customante "github.com/classic-terra/core/custom/auth/ante" core "github.com/classic-terra/core/types" treasurytypes "github.com/classic-terra/core/x/treasury/types" @@ -136,7 +135,7 @@ func (suite *AnteTestSuite) TestIntegrationTaxExemption() { FeegrantKeeper: suite.app.FeeGrantKeeper, OracleKeeper: suite.app.OracleKeeper, TreasuryKeeper: suite.app.TreasuryKeeper, - SigGasConsumer: ante.DefaultSigVerificationGasConsumer, + SigGasConsumer: customante.DefaultSigVerificationGasConsumer, SignModeHandler: encodingConfig.TxConfig.SignModeHandler(), IBCChannelKeeper: suite.app.IBCKeeper.ChannelKeeper, DistributionKeeper: dk, @@ -145,7 +144,7 @@ func (suite *AnteTestSuite) TestIntegrationTaxExemption() { suite.Require().NoError(err) fmt.Printf("CASE = %s \n", c.name) - suite.ctx = suite.ctx.WithBlockHeight(ante.TaxPowerUpgradeHeight) + suite.ctx = suite.ctx.WithBlockHeight(customante.TaxPowerUpgradeHeight) suite.txBuilder = suite.clientCtx.TxConfig.NewTxBuilder() tk.AddBurnTaxExemptionAddress(suite.ctx, addrs[0].String()) diff --git a/custom/auth/ante/min_initial_deposit.go b/custom/auth/ante/min_initial_deposit.go index c5c5b80c4..c47f9c3d9 100644 --- a/custom/auth/ante/min_initial_deposit.go +++ b/custom/auth/ante/min_initial_deposit.go @@ -2,6 +2,7 @@ package ante import ( "fmt" + core "github.com/classic-terra/core/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" @@ -33,7 +34,7 @@ func IsMsgSubmitProposal(msg sdk.Msg) bool { func HandleCheckMinInitialDeposit(ctx sdk.Context, msg sdk.Msg, govKeeper govkeeper.Keeper, treasuryKeeper TreasuryKeeper) (err error) { submitPropMsg, ok := msg.(*govtypes.MsgSubmitProposal) if !ok { - return fmt.Errorf("Could not dereference msg as MsgSubmitProposal") + return fmt.Errorf("could not dereference msg as MsgSubmitProposal") } minDeposit := govKeeper.GetDepositParams(ctx).MinDeposit @@ -45,7 +46,7 @@ func HandleCheckMinInitialDeposit(ctx sdk.Context, msg sdk.Msg, govKeeper govkee initialDepositCoins := submitPropMsg.GetInitialDeposit() if !initialDepositCoins.IsAllGTE(requiredDepositCoins) { - return fmt.Errorf("Not enough initial deposit provided. Expected %q; got %q", requiredDepositCoins, initialDepositCoins) + return fmt.Errorf("not enough initial deposit provided. Expected %q; got %q", requiredDepositCoins, initialDepositCoins) } return nil diff --git a/custom/auth/ante/min_initial_deposit_test.go b/custom/auth/ante/min_initial_deposit_test.go index 4d33e114a..6b674c7c3 100644 --- a/custom/auth/ante/min_initial_deposit_test.go +++ b/custom/auth/ante/min_initial_deposit_test.go @@ -1,21 +1,22 @@ package ante_test import ( - //"fmt" + // "fmt" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" + // banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/classic-terra/core/custom/auth/ante" // core "github.com/terra-money/core/types" // treasury "github.com/terra-money/core/x/treasury/types" - //"github.com/cosmos/cosmos-sdk/types/query" - //cosmosante "github.com/cosmos/cosmos-sdk/x/auth/ante" - //"github.com/cosmos/cosmos-sdk/x/auth/types" - //minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + // "github.com/cosmos/cosmos-sdk/types/query" + // cosmosante "github.com/cosmos/cosmos-sdk/x/auth/ante" + // "github.com/cosmos/cosmos-sdk/x/auth/types" + // minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) diff --git a/custom/auth/ante/sigverify.go b/custom/auth/ante/sigverify.go index 2ab7553ec..544967264 100644 --- a/custom/auth/ante/sigverify.go +++ b/custom/auth/ante/sigverify.go @@ -25,7 +25,6 @@ var ( // simulation signature values used to estimate gas consumption key = make([]byte, secp256k1.PubKeySize) simSecp256k1Pubkey = &secp256k1.PubKey{Key: key} - simSecp256k1Sig [64]byte _ authsigning.SigVerifiableTx = (*legacytx.StdTx)(nil) // assert StdTx implements SigVerifiableTx ) diff --git a/custom/auth/ante/sigverify_test.go b/custom/auth/ante/sigverify_test.go index 792761d57..1c9e575e8 100644 --- a/custom/auth/ante/sigverify_test.go +++ b/custom/auth/ante/sigverify_test.go @@ -76,7 +76,7 @@ func (suite *AnteTestSuite) TestConsumeSignatureVerificationGas() { multisignature1 := multisig.NewMultisig(len(pkSet1)) expectedCost1 := expectedGasCostByKeys(pkSet1) for i := 0; i < len(pkSet1); i++ { - stdSig := legacytx.StdSignature{PubKey: pkSet1[i], Signature: sigSet1[i]} + stdSig := legacytx.StdSignature{PubKey: pkSet1[i], Signature: sigSet1[i]} //nolint:staticcheck // this will be removed when proto is ready sigV2, err := legacytx.StdSignatureToSignatureV2(cdc, stdSig) suite.Require().NoError(err) err = multisig.AddSignatureV2(multisignature1, sigV2, pkSet1) diff --git a/custom/auth/ante/tax.go b/custom/auth/ante/tax.go index b14d8e2da..942366162 100644 --- a/custom/auth/ante/tax.go +++ b/custom/auth/ante/tax.go @@ -123,13 +123,13 @@ func FilterMsgAndComputeTax(ctx sdk.Context, tk TreasuryKeeper, msgs ...sdk.Msg) for _, input := range msg.Inputs { if tk.HasBurnTaxExemptionAddress(ctx, input.Address) { - tainted += 1 + tainted++ } } for _, output := range msg.Outputs { if tk.HasBurnTaxExemptionAddress(ctx, output.Address) { - tainted += 1 + tainted++ } } diff --git a/custom/auth/ante/tax_test.go b/custom/auth/ante/tax_test.go index 4b76e0156..c81025f11 100644 --- a/custom/auth/ante/tax_test.go +++ b/custom/auth/ante/tax_test.go @@ -225,12 +225,14 @@ func (suite *AnteTestSuite) TestEnsureMempoolFeesMultiSend() { // set tax amount suite.txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin(core.MicroSDRDenom, expectedTax))) tx, err = suite.CreateTestTx(privs, accNums, accSeqs, suite.ctx.ChainID()) + suite.Require().NoError(err) _, err = antehandler(suite.ctx, tx, false) suite.Require().Error(err, "Decorator should errored on low fee for local gasPrice + tax") // must pass with tax suite.txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin(core.MicroSDRDenom, expectedTax.Add(expectedTax)))) tx, err = suite.CreateTestTx(privs, accNums, accSeqs, suite.ctx.ChainID()) + suite.Require().NoError(err) _, err = antehandler(suite.ctx, tx, false) suite.Require().NoError(err, "Decorator should not have errored on fee higher than local gasPrice") } @@ -561,12 +563,14 @@ func (suite *AnteTestSuite) TestEnsureMempoolFeesMultiSendLunaTax() { // set tax amount suite.txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin(core.MicroLunaDenom, expectedTax))) tx, err = suite.CreateTestTx(privs, accNums, accSeqs, suite.ctx.ChainID()) + suite.Require().NoError(err) _, err = antehandler(suite.ctx, tx, false) suite.Require().Error(err, "Decorator should errored on low fee for local gasPrice + tax") // must pass with tax suite.txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin(core.MicroLunaDenom, expectedTax.Add(expectedTax)))) tx, err = suite.CreateTestTx(privs, accNums, accSeqs, suite.ctx.ChainID()) + suite.Require().NoError(err) _, err = antehandler(suite.ctx, tx, false) suite.Require().NoError(err, "Decorator should not have errored on fee higher than local gasPrice") } diff --git a/custom/auth/client/rest/broadcast.go b/custom/auth/client/rest/broadcast.go index dbe75c2d0..b1169239a 100644 --- a/custom/auth/client/rest/broadcast.go +++ b/custom/auth/client/rest/broadcast.go @@ -3,7 +3,7 @@ package rest import ( "errors" "fmt" - "io/ioutil" + "io" "net/http" "github.com/cosmos/cosmos-sdk/client" @@ -36,7 +36,7 @@ func BroadcastTxRequest(clientCtx client.Context) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req BroadcastReq - body, err := ioutil.ReadAll(r.Body) + body, err := io.ReadAll(r.Body) if rest.CheckBadRequestError(w, err) { return } @@ -89,7 +89,7 @@ func BroadcastTxRequest(clientCtx client.Context) http.HandlerFunc { // check the sequence nubmer is equal with the signature nubmer if len(signatures) != len(req.Sequences) { - rest.CheckBadRequestError(w, errors.New("Must provide each signers's sequence number")) + rest.CheckBadRequestError(w, errors.New("must provide each signers's sequence number")) return } diff --git a/custom/auth/client/rest/encode.go b/custom/auth/client/rest/encode.go index 8c427bb5b..783d9aa2c 100644 --- a/custom/auth/client/rest/encode.go +++ b/custom/auth/client/rest/encode.go @@ -2,7 +2,7 @@ package rest import ( "errors" - "io/ioutil" + "io" "net/http" "github.com/cosmos/cosmos-sdk/client" @@ -37,7 +37,7 @@ func EncodeTxRequest(clientCtx client.Context) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req EncodeReq - body, err := ioutil.ReadAll(r.Body) + body, err := io.ReadAll(r.Body) if rest.CheckBadRequestError(w, err) { return } @@ -86,7 +86,7 @@ func EncodeTxRequest(clientCtx client.Context) http.HandlerFunc { // check the sequence nubmer is equal with the signature nubmer if len(signatures) != len(req.Sequences) { - rest.CheckBadRequestError(w, errors.New("Must provide each signers's sequence number")) + rest.CheckBadRequestError(w, errors.New("must provide each signers's sequence number")) return } diff --git a/custom/auth/client/utils/feeutils.go b/custom/auth/client/utils/feeutils.go index dc30e54aa..750001883 100644 --- a/custom/auth/client/utils/feeutils.go +++ b/custom/auth/client/utils/feeutils.go @@ -256,7 +256,7 @@ func FilterMsgAndComputeTax(clientCtx client.Context, msgs ...sdk.Msg) (taxes sd } } - return + return taxes, nil } // computes the stability tax according to tax-rate and tax-cap diff --git a/custom/auth/legacy/v039/types.go b/custom/auth/legacy/v039/types.go index d6d5c6234..40257834b 100644 --- a/custom/auth/legacy/v039/types.go +++ b/custom/auth/legacy/v039/types.go @@ -1,7 +1,6 @@ package v039 // DONTCOVER -// nolint import ( "errors" diff --git a/custom/auth/legacy/v040/store.go b/custom/auth/legacy/v040/store.go index 8dc0918b6..d45ad03be 100644 --- a/custom/auth/legacy/v040/store.go +++ b/custom/auth/legacy/v040/store.go @@ -16,7 +16,7 @@ func migrateMultiSigAccount(account types.AccountI) (types.AccountI, error) { } _ = account.SetPubKey(nil) - return account.(types.AccountI), nil + return account, nil } // MigrateAccount migrates multisig account's PubKey as nil to restore mistakenly set PubKey diff --git a/custom/auth/module.go b/custom/auth/module.go index 50a4c6b6b..e77a4cfc5 100644 --- a/custom/auth/module.go +++ b/custom/auth/module.go @@ -25,10 +25,10 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the auth module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } -//____________________________________________________________________________ +// ____________________________________________________________________________ // AppModule implements an application module for the auth module. type AppModule struct { diff --git a/custom/auth/tx/service.go b/custom/auth/tx/service.go index 826250a17..04ac8428d 100644 --- a/custom/auth/tx/service.go +++ b/custom/auth/tx/service.go @@ -39,16 +39,16 @@ func (ts txServer) ComputeTax(c context.Context, req *ComputeTaxRequest) (*Compu } var msgs []sdk.Msg - if len(req.TxBytes) != 0 { + switch { + case len(req.TxBytes) != 0: tx, err := ts.clientCtx.TxConfig.TxDecoder()(req.TxBytes) if err != nil { return nil, err } - msgs = tx.GetMsgs() - } else if req.Tx != nil { + case req.Tx != nil: msgs = req.Tx.GetMsgs() - } else { + default: return nil, status.Errorf(codes.InvalidArgument, "empty txBytes is not allowed") } diff --git a/custom/authz/legacy/v043/migrate.go b/custom/authz/legacy/v043/migrate.go index ef0379451..58ac82c85 100644 --- a/custom/authz/legacy/v043/migrate.go +++ b/custom/authz/legacy/v043/migrate.go @@ -23,11 +23,12 @@ func migrateAuthorization(oldAuthorization v04msgauth.Authorization) *codectypes case v04msgauth.GenericAuthorization: { var msgTypeURL string - if oldAuthorization.GrantMsgType == "swap" { + switch oldAuthorization.GrantMsgType { + case "swap": msgTypeURL = sdk.MsgTypeURL(&v05market.MsgSwap{}) - } else if oldAuthorization.GrantMsgType == "vote" { + case "vote": msgTypeURL = sdk.MsgTypeURL(&v043gov.MsgVote{}) - } else { + default: panic(fmt.Errorf("%T is not a valid generic authorization msg type", oldAuthorization.GrantMsgType)) } diff --git a/custom/bank/module.go b/custom/bank/module.go index a8f3d786e..dcd92ccff 100644 --- a/custom/bank/module.go +++ b/custom/bank/module.go @@ -32,7 +32,7 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the bank module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } // RegisterRESTRoutes registers the REST routes for the market module. diff --git a/custom/bank/wasm/interface.go b/custom/bank/wasm/interface.go index 9ff89f73a..f19e83ba5 100644 --- a/custom/bank/wasm/interface.go +++ b/custom/bank/wasm/interface.go @@ -14,20 +14,20 @@ import ( ) var ( - _ wasm.WasmQuerierInterface = WasmQuerier{} - _ wasm.WasmMsgParserInterface = WasmMsgParser{} + _ wasm.WasmQuerierInterface = Querier{} + _ wasm.WasmMsgParserInterface = MsgParser{} ) -// WasmMsgParser - wasm msg parser for staking msgs -type WasmMsgParser struct{} +// MsgParser - wasm msg parser for staking msgs +type MsgParser struct{} // NewWasmMsgParser returns bank wasm msg parser -func NewWasmMsgParser() WasmMsgParser { - return WasmMsgParser{} +func NewWasmMsgParser() MsgParser { + return MsgParser{} } // Parse implements wasm staking msg parser -func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { +func (MsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { msg := wasmMsg.Bank if msg.Send == nil { @@ -49,22 +49,22 @@ func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.Cosm } // ParseCustom implements custom parser -func (WasmMsgParser) ParseCustom(_ sdk.AccAddress, _ json.RawMessage) (sdk.Msg, error) { +func (MsgParser) ParseCustom(_ sdk.AccAddress, _ json.RawMessage) (sdk.Msg, error) { return nil, nil } -// WasmQuerier - staking query interface for wasm contract -type WasmQuerier struct { +// Querier - staking query interface for wasm contract +type Querier struct { keeper keeper.Keeper } // NewWasmQuerier return bank wasm query interface -func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { - return WasmQuerier{keeper} +func NewWasmQuerier(keeper keeper.Keeper) Querier { + return Querier{keeper} } // Query - implement query function -func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { +func (querier Querier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { if request.Bank.AllBalances != nil { addr, err := sdk.AccAddressFromBech32(request.Bank.AllBalances.Address) if err != nil { @@ -92,6 +92,6 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryReque } // QueryCustom implements custom query interface -func (WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { +func (Querier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { return nil, nil } diff --git a/custom/crisis/module.go b/custom/crisis/module.go index 7a067adba..a713d1926 100644 --- a/custom/crisis/module.go +++ b/custom/crisis/module.go @@ -22,7 +22,7 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the crisis module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } // DefaultGenesis returns default genesis state as raw bytes for the gov diff --git a/custom/distribution/module.go b/custom/distribution/module.go index bb01551c9..b157445b1 100644 --- a/custom/distribution/module.go +++ b/custom/distribution/module.go @@ -19,5 +19,5 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the distribution module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } diff --git a/custom/distribution/wasm/interface.go b/custom/distribution/wasm/interface.go index f00895474..74fa2ceb8 100644 --- a/custom/distribution/wasm/interface.go +++ b/custom/distribution/wasm/interface.go @@ -12,18 +12,18 @@ import ( wasm "github.com/classic-terra/core/x/wasm/exported" ) -var _ wasm.WasmMsgParserInterface = WasmMsgParser{} +var _ wasm.WasmMsgParserInterface = MsgParser{} // WasmMsgParser - wasm msg parser for staking msgs -type WasmMsgParser struct{} +type MsgParser struct{} // NewWasmMsgParser returns staking wasm msg parser -func NewWasmMsgParser() WasmMsgParser { - return WasmMsgParser{} +func NewWasmMsgParser() MsgParser { + return MsgParser{} } // Parse implements wasm staking msg parser -func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (msgs sdk.Msg, err error) { +func (parser MsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (msgs sdk.Msg, err error) { msg := wasmMsg.Distribution if msg.SetWithdrawAddress != nil { @@ -58,6 +58,6 @@ func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtyp } // ParseCustom implements custom parser -func (parser WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { +func (parser MsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { return nil, nil } diff --git a/custom/evidence/module.go b/custom/evidence/module.go index 67492c279..381b87d8a 100644 --- a/custom/evidence/module.go +++ b/custom/evidence/module.go @@ -19,5 +19,5 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the evidence module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } diff --git a/custom/gov/module.go b/custom/gov/module.go index 5911d81e5..754d6e984 100644 --- a/custom/gov/module.go +++ b/custom/gov/module.go @@ -28,7 +28,7 @@ func NewAppModuleBasic(proposalHandlers ...govclient.ProposalHandler) AppModuleB // RegisterLegacyAminoCodec registers the gov module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } // DefaultGenesis returns default genesis state as raw bytes for the gov diff --git a/custom/gov/wasm/interface.go b/custom/gov/wasm/interface.go index 614c06f44..e5d5b85ab 100644 --- a/custom/gov/wasm/interface.go +++ b/custom/gov/wasm/interface.go @@ -11,18 +11,18 @@ import ( wasm "github.com/classic-terra/core/x/wasm/exported" ) -var _ wasm.WasmMsgParserInterface = WasmMsgParser{} +var _ wasm.WasmMsgParserInterface = MsgParser{} -// WasmMsgParser - wasm msg parser for staking msgs -type WasmMsgParser struct{} +// MsgParser - wasm msg parser for staking msgs +type MsgParser struct{} // NewWasmMsgParser returns bank wasm msg parser -func NewWasmMsgParser() WasmMsgParser { - return WasmMsgParser{} +func NewWasmMsgParser() MsgParser { + return MsgParser{} } // Parse implements wasm staking msg parser -func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { +func (MsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (sdk.Msg, error) { msg := wasmMsg.Gov var option types.VoteOption @@ -47,6 +47,6 @@ func (WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.Cosm } // ParseCustom implements custom parser -func (WasmMsgParser) ParseCustom(_ sdk.AccAddress, _ json.RawMessage) (sdk.Msg, error) { +func (MsgParser) ParseCustom(_ sdk.AccAddress, _ json.RawMessage) (sdk.Msg, error) { return nil, nil } diff --git a/custom/slashing/module.go b/custom/slashing/module.go index dfffa8b7f..0f19f9a40 100644 --- a/custom/slashing/module.go +++ b/custom/slashing/module.go @@ -19,5 +19,5 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the slashing module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } diff --git a/custom/staking/module.go b/custom/staking/module.go index ff8d7e833..9f5a62daa 100644 --- a/custom/staking/module.go +++ b/custom/staking/module.go @@ -22,7 +22,7 @@ type AppModuleBasic struct { // RegisterLegacyAminoCodec registers the staking module's types for the given codec. func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { customtypes.RegisterLegacyAminoCodec(cdc) - *types.ModuleCdc = *customtypes.ModuleCdc // nolint + *types.ModuleCdc = *customtypes.ModuleCdc } // DefaultGenesis returns default genesis state as raw bytes for the gov diff --git a/custom/staking/wasm/interface.go b/custom/staking/wasm/interface.go index bad2bc507..205ae6881 100644 --- a/custom/staking/wasm/interface.go +++ b/custom/staking/wasm/interface.go @@ -16,20 +16,20 @@ import ( ) var ( - _ wasm.WasmQuerierInterface = WasmQuerier{} - _ wasm.WasmMsgParserInterface = WasmMsgParser{} + _ wasm.WasmQuerierInterface = Querier{} + _ wasm.WasmMsgParserInterface = MsgParser{} ) -// WasmMsgParser - wasm msg parser for staking msgs -type WasmMsgParser struct{} +// MsgParser - wasm msg parser for staking msgs +type MsgParser struct{} // NewWasmMsgParser returns staking wasm msg parser -func NewWasmMsgParser() WasmMsgParser { - return WasmMsgParser{} +func NewWasmMsgParser() MsgParser { + return MsgParser{} } // Parse implements wasm staking msg parser -func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (msgs sdk.Msg, err error) { +func (parser MsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtypes.CosmosMsg) (msgs sdk.Msg, err error) { msg := wasmMsg.Staking if msg.Delegate != nil { @@ -104,23 +104,23 @@ func (parser WasmMsgParser) Parse(contractAddr sdk.AccAddress, wasmMsg wasmvmtyp } // ParseCustom implements custom parser -func (parser WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { +func (parser MsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { return nil, nil } -// WasmQuerier - staking query interface for wasm contract -type WasmQuerier struct { +// Querier - staking query interface for wasm contract +type Querier struct { stakingKeeper stakingkeeper.Keeper distrKeeper distrkeeper.Keeper } // NewWasmQuerier returns staking wasm querier -func NewWasmQuerier(stakingKeeper stakingkeeper.Keeper, distrKeeper distrkeeper.Keeper) WasmQuerier { - return WasmQuerier{stakingKeeper, distrKeeper} +func NewWasmQuerier(stakingKeeper stakingkeeper.Keeper, distrKeeper distrkeeper.Keeper) Querier { + return Querier{stakingKeeper, distrKeeper} } // Query - implement query function -func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { +func (querier Querier) Query(ctx sdk.Context, request wasmvmtypes.QueryRequest) ([]byte, error) { if request.Staking.BondedDenom != nil { res := wasmvmtypes.BondedDenomResponse{ Denom: querier.stakingKeeper.BondDenom(ctx), @@ -220,12 +220,12 @@ func (querier WasmQuerier) Query(ctx sdk.Context, request wasmvmtypes.QueryReque } // QueryCustom implements custom query interface -func (WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { +func (Querier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { return nil, nil } // encdoe cosmos delegations to wasm delegations -func (querier WasmQuerier) encodeDelegations(ctx sdk.Context, delegations stakingtypes.Delegations) (wasmvmtypes.Delegations, error) { +func (querier Querier) encodeDelegations(ctx sdk.Context, delegations stakingtypes.Delegations) (wasmvmtypes.Delegations, error) { bondDenom := querier.stakingKeeper.BondDenom(ctx) var responseDelegations wasmvmtypes.Delegations @@ -252,7 +252,7 @@ func (querier WasmQuerier) encodeDelegations(ctx sdk.Context, delegations stakin } // encode cosmos staking to wasm delegation -func (querier WasmQuerier) encodeDelegation(ctx sdk.Context, del stakingtypes.Delegation) (*wasmvmtypes.FullDelegation, error) { +func (querier Querier) encodeDelegation(ctx sdk.Context, del stakingtypes.Delegation) (*wasmvmtypes.FullDelegation, error) { delAddr, err := sdk.AccAddressFromBech32(del.DelegatorAddress) if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, err.Error()) @@ -293,7 +293,7 @@ func (querier WasmQuerier) encodeDelegation(ctx sdk.Context, del stakingtypes.De }, nil } -func (querier WasmQuerier) getAccumulatedRewards(ctx sdk.Context, delegation stakingtypes.Delegation) (wasmvmtypes.Coins, error) { +func (querier Querier) getAccumulatedRewards(ctx sdk.Context, delegation stakingtypes.Delegation) (wasmvmtypes.Coins, error) { // Try to get *delegator* reward info! params := distrtypes.QueryDelegationRewardsRequest{ DelegatorAddress: delegation.DelegatorAddress, diff --git a/types/alias.go b/types/alias.go index 3834925f9..563cabd35 100644 --- a/types/alias.go +++ b/types/alias.go @@ -29,7 +29,7 @@ const ( BlocksPerMonth = util.BlocksPerMonth BlocksPerYear = util.BlocksPerYear CoinType = util.CoinType - FullFundraiserPath = util.FullFundraiserPath + Purpose = util.Purpose Bech32PrefixAccAddr = util.Bech32PrefixAccAddr Bech32PrefixAccPub = util.Bech32PrefixAccPub Bech32PrefixValAddr = util.Bech32PrefixValAddr diff --git a/types/assets/assets.go b/types/assets/assets.go index ec3b021d6..7a2f925bd 100644 --- a/types/assets/assets.go +++ b/types/assets/assets.go @@ -1,6 +1,5 @@ package assets -// nolint const ( MicroLunaDenom = "uluna" MicroUSDDenom = "uusd" diff --git a/types/util/blocks.go b/types/util/blocks.go index 09195d9f6..ae957d5e7 100644 --- a/types/util/blocks.go +++ b/types/util/blocks.go @@ -4,7 +4,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -// nolint const ( BlocksPerMinute = uint64(10) BlocksPerHour = BlocksPerMinute * 60 diff --git a/types/util/hdpath.go b/types/util/hdpath.go index 781624a1a..600285a6e 100644 --- a/types/util/hdpath.go +++ b/types/util/hdpath.go @@ -1,8 +1,10 @@ package util const ( + // https://github.com/cosmos/cosmos-sdk/pull/8629 + // https://github.com/cosmos/cosmos-sdk/blob/main/types/config.go#L218 // CoinType defines LUNA bip44 coin type CoinType = uint32(330) - // FullFundraiserPath defines full fundraiser path for LUNA coin type - FullFundraiserPath = "44'/330'/0'/0/0" + // Purpose defines LUNA bip44 purpose + Purpose = uint32(44) ) diff --git a/x/market/common_test.go b/x/market/common_test.go index f28bc9f8d..8c5e5f265 100644 --- a/x/market/common_test.go +++ b/x/market/common_test.go @@ -9,12 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -var ( - uSDRAmt = sdk.NewInt(1005 * core.MicroUnit) - stakingAmt = sdk.TokensFromConsensusPower(10, sdk.DefaultPowerReduction) - - randomPrice = sdk.NewDec(1700) -) +var randomPrice = sdk.NewDec(1700) func setup(t *testing.T) (keeper.TestInput, sdk.Handler) { input := keeper.CreateTestInput(t) diff --git a/x/market/exported/alias.go b/x/market/exported/alias.go index 6b5bf6ccb..3e2911661 100644 --- a/x/market/exported/alias.go +++ b/x/market/exported/alias.go @@ -1,6 +1,4 @@ // DONTCOVER -// -//nolint:deadcode,unused package exported import "github.com/classic-terra/core/x/market/types" diff --git a/x/market/keeper/legacy_querier_test.go b/x/market/keeper/legacy_querier_test.go index 3fe59c1f6..0af5abfc6 100644 --- a/x/market/keeper/legacy_querier_test.go +++ b/x/market/keeper/legacy_querier_test.go @@ -76,7 +76,7 @@ func TestLegacyQuerySwap(t *testing.T) { Data: bz, } - res, err := querier(input.Ctx, []string{types.QuerySwap}, query) + _, err = querier(input.Ctx, []string{types.QuerySwap}, query) require.Error(t, err) // overflow query @@ -104,7 +104,7 @@ func TestLegacyQuerySwap(t *testing.T) { Data: bz, } - res, err = querier(input.Ctx, []string{types.QuerySwap}, query) + res, err := querier(input.Ctx, []string{types.QuerySwap}, query) require.NoError(t, err) var swapCoin sdk.Coin diff --git a/x/market/keeper/querier_test.go b/x/market/keeper/querier_test.go index 2e3f65ffc..8eb726b6f 100644 --- a/x/market/keeper/querier_test.go +++ b/x/market/keeper/querier_test.go @@ -45,7 +45,7 @@ func TestQuerySwap(t *testing.T) { // recursive query offerCoin := sdk.NewCoin(core.MicroLunaDenom, sdk.NewInt(10)).String() - res, err := querier.Swap(ctx, &types.QuerySwapRequest{OfferCoin: offerCoin, AskDenom: core.MicroLunaDenom}) + _, err = querier.Swap(ctx, &types.QuerySwapRequest{OfferCoin: offerCoin, AskDenom: core.MicroLunaDenom}) require.Error(t, err) // overflow query @@ -55,7 +55,7 @@ func TestQuerySwap(t *testing.T) { require.Error(t, err) // valid query - res, err = querier.Swap(ctx, &types.QuerySwapRequest{OfferCoin: offerCoin, AskDenom: core.MicroSDRDenom}) + res, err := querier.Swap(ctx, &types.QuerySwapRequest{OfferCoin: offerCoin, AskDenom: core.MicroSDRDenom}) require.NoError(t, err) require.Equal(t, core.MicroSDRDenom, res.ReturnCoin.Denom) diff --git a/x/market/keeper/swap.go b/x/market/keeper/swap.go index 9b8b33088..2e3d8de07 100644 --- a/x/market/keeper/swap.go +++ b/x/market/keeper/swap.go @@ -127,7 +127,7 @@ func (k Keeper) ComputeSwap(ctx sdk.Context, offerCoin sdk.Coin, askDenom string spread = minSpread } - return + return retDecCoin, spread, nil } // ComputeInternalSwap returns the amount of asked DecCoin should be returned for a given offerCoin at the effective diff --git a/x/market/keeper/test_utils.go b/x/market/keeper/test_utils.go index f2431652d..77e93e6f3 100644 --- a/x/market/keeper/test_utils.go +++ b/x/market/keeper/test_utils.go @@ -28,7 +28,6 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/simapp" simparams "github.com/cosmos/cosmos-sdk/simapp/params" "github.com/cosmos/cosmos-sdk/std" "github.com/cosmos/cosmos-sdk/store" @@ -89,8 +88,6 @@ func MakeEncodingConfig(_ *testing.T) simparams.EncodingConfig { // Test Account var ( - valPubKeys = simapp.CreateTestPubKeys(5) - PubKeys = []crypto.PubKey{ secp256k1.GenPrivKey().PubKey(), secp256k1.GenPrivKey().PubKey(), diff --git a/x/market/legacy/v04/types.go b/x/market/legacy/v04/types.go index c3f86080f..571a40dff 100644 --- a/x/market/legacy/v04/types.go +++ b/x/market/legacy/v04/types.go @@ -1,5 +1,4 @@ // DONTCOVER -// nolint package v04 import ( diff --git a/x/market/module.go b/x/market/module.go index 7adec42c4..931b00115 100644 --- a/x/market/module.go +++ b/x/market/module.go @@ -89,7 +89,7 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { return cli.GetQueryCmd() } -//___________________________ +// ___________________________ // AppModule implements an application module for the market module. type AppModule struct { @@ -173,7 +173,7 @@ func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.Val return []abci.ValidatorUpdate{} } -//____________________________________________________________________________ +// ____________________________________________________________________________ // AppModuleSimulation functions diff --git a/x/market/wasm/interface.go b/x/market/wasm/interface.go index 3e93c979e..f2170f062 100644 --- a/x/market/wasm/interface.go +++ b/x/market/wasm/interface.go @@ -14,20 +14,20 @@ import ( ) var ( - _ wasm.WasmQuerierInterface = WasmQuerier{} - _ wasm.WasmMsgParserInterface = WasmMsgParser{} + _ wasm.WasmQuerierInterface = Querier{} + _ wasm.WasmMsgParserInterface = MsgParser{} ) // WasmMsgParser - wasm msg parser for staking msgs -type WasmMsgParser struct{} +type MsgParser struct{} // NewWasmMsgParser returns bank wasm msg parser -func NewWasmMsgParser() WasmMsgParser { - return WasmMsgParser{} +func NewWasmMsgParser() MsgParser { + return MsgParser{} } // Parse implements wasm staking msg parser -func (WasmMsgParser) Parse(_ sdk.AccAddress, _ wasmvmtypes.CosmosMsg) (sdk.Msg, error) { +func (MsgParser) Parse(_ sdk.AccAddress, _ wasmvmtypes.CosmosMsg) (sdk.Msg, error) { return nil, nil } @@ -38,7 +38,7 @@ type CosmosMsg struct { } // ParseCustom implements custom parser -func (WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { +func (MsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessage) (sdk.Msg, error) { var sdkMsg CosmosMsg err := json.Unmarshal(data, &sdkMsg) if err != nil { @@ -57,17 +57,17 @@ func (WasmMsgParser) ParseCustom(contractAddr sdk.AccAddress, data json.RawMessa } // WasmQuerier - staking query interface for wasm contract -type WasmQuerier struct { +type Querier struct { keeper keeper.Keeper } // NewWasmQuerier return bank wasm query interface -func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { - return WasmQuerier{keeper} +func NewWasmQuerier(keeper keeper.Keeper) Querier { + return Querier{keeper} } // Query - implement query function -func (WasmQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { +func (Querier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { return nil, nil } @@ -82,7 +82,7 @@ type SwapQueryResponse struct { } // QueryCustom implements custom query interface -func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { +func (querier Querier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { var params CosmosQuery err := json.Unmarshal(data, ¶ms) if err != nil { diff --git a/x/market/wasm/interface_test.go b/x/market/wasm/interface_test.go index 25a190086..7c9b2dc22 100644 --- a/x/market/wasm/interface_test.go +++ b/x/market/wasm/interface_test.go @@ -138,7 +138,7 @@ func TestQuerySwap(t *testing.T) { require.NoError(t, err) - res, err := querier.QueryCustom(input.Ctx, bz) + _, err = querier.QueryCustom(input.Ctx, bz) require.Error(t, err) // overflow query @@ -160,7 +160,7 @@ func TestQuerySwap(t *testing.T) { }) require.NoError(t, err) - res, err = querier.QueryCustom(input.Ctx, bz) + res, err := querier.QueryCustom(input.Ctx, bz) require.NoError(t, err) var swapResponse SwapQueryResponse diff --git a/x/oracle/abci.go b/x/oracle/abci.go index 6561df1c4..ce3bd3b89 100644 --- a/x/oracle/abci.go +++ b/x/oracle/abci.go @@ -133,6 +133,4 @@ func EndBlocker(ctx sdk.Context, k keeper.Keeper) { if core.IsPeriodLastBlock(ctx, params.SlashWindow) { k.SlashAndResetMissCounters(ctx) } - - return } diff --git a/x/oracle/client/rest/rest.go b/x/oracle/client/rest/rest.go index 99e0a04dc..66a75e3ea 100644 --- a/x/oracle/client/rest/rest.go +++ b/x/oracle/client/rest/rest.go @@ -7,7 +7,6 @@ import ( "github.com/gorilla/mux" ) -// nolint const ( RestDenom = "denom" RestVoter = "voter" diff --git a/x/oracle/client/rest/tx.go b/x/oracle/client/rest/tx.go index 5f606a886..eb3055068 100644 --- a/x/oracle/client/rest/tx.go +++ b/x/oracle/client/rest/tx.go @@ -94,21 +94,22 @@ func newAggregatePrevoteHandlerFunction(clientCtx client.Context) http.HandlerFu var hash types.AggregateVoteHash // If hash is not given, then retrieve hash from exchange_rate and salt - if len(req.Hash) == 0 && (len(req.ExchangeRates) > 0 && len(req.Salt) > 0) { + switch { + case len(req.Hash) == 0 && len(req.ExchangeRates) > 0 && len(req.Salt) > 0: _, err := types.ParseExchangeRateTuples(req.ExchangeRates) if err != nil { rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) return } - hash = types.GetAggregateVoteHash(req.Salt, req.ExchangeRates, voterAddr) - } else if len(req.Hash) > 0 { + case len(req.Hash) > 0: + var err error hash, err = types.AggregateVoteHashFromHexString(req.Hash) if err != nil { rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error()) return } - } else { + default: rest.WriteErrorResponse(w, http.StatusBadRequest, "must provide Hash or (ExchangeRates & Salt)") return } diff --git a/x/oracle/common_test.go b/x/oracle/common_test.go index 682f98454..b9114017d 100644 --- a/x/oracle/common_test.go +++ b/x/oracle/common_test.go @@ -5,7 +5,6 @@ import ( "github.com/stretchr/testify/require" - core "github.com/classic-terra/core/types" "github.com/classic-terra/core/x/oracle" "github.com/classic-terra/core/x/oracle/keeper" @@ -14,11 +13,9 @@ import ( ) var ( - uSDRAmt = sdk.NewInt(1005 * core.MicroUnit) stakingAmt = sdk.TokensFromConsensusPower(10, sdk.DefaultPowerReduction) - randomExchangeRate = sdk.NewDec(1700) - anotherRandomExchangeRate = sdk.NewDecWithPrec(4882, 2) // swap rate + randomExchangeRate = sdk.NewDec(1700) ) func setupWithSmallVotingPower(t *testing.T) (keeper.TestInput, sdk.Handler) { diff --git a/x/oracle/exported/alias.go b/x/oracle/exported/alias.go index 113110e2b..2265fe056 100644 --- a/x/oracle/exported/alias.go +++ b/x/oracle/exported/alias.go @@ -1,6 +1,4 @@ // DONTCOVER -// -//nolint:deadcode,unused package exported import "github.com/classic-terra/core/x/oracle/types" diff --git a/x/oracle/handler_test.go b/x/oracle/handler_test.go index f2e1fa64b..750a07fb1 100644 --- a/x/oracle/handler_test.go +++ b/x/oracle/handler_test.go @@ -126,41 +126,41 @@ func TestAggregatePrevoteVote(t *testing.T) { require.Error(t, err) // Invalid reveal period - aggregateExchangeRateVoteMsg := types.NewMsgAggregateExchangeRateVote(salt, exchangeRatesStr, sdk.AccAddress(keeper.Addrs[0]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg := types.NewMsgAggregateExchangeRateVote(salt, exchangeRatesStr, keeper.Addrs[0], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.Error(t, err) // Invalid reveal period input.Ctx = input.Ctx.WithBlockHeight(2) - aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, exchangeRatesStr, sdk.AccAddress(keeper.Addrs[0]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, exchangeRatesStr, keeper.Addrs[0], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.Error(t, err) // Other exchange rate with valid real period input.Ctx = input.Ctx.WithBlockHeight(1) - aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, otherExchangeRateStr, sdk.AccAddress(keeper.Addrs[0]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, otherExchangeRateStr, keeper.Addrs[0], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.Error(t, err) // Invalid exchange rate with valid real period input.Ctx = input.Ctx.WithBlockHeight(1) - aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, invalidExchangeRateStr, sdk.AccAddress(keeper.Addrs[0]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, invalidExchangeRateStr, keeper.Addrs[0], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.Error(t, err) // Unauthorized feeder - aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, invalidExchangeRateStr, sdk.AccAddress(keeper.Addrs[1]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, invalidExchangeRateStr, keeper.Addrs[1], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.Error(t, err) // Unintended denom vote - aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, unintendedExchageRateStr, sdk.AccAddress(keeper.Addrs[0]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, unintendedExchageRateStr, keeper.Addrs[0], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.Error(t, err) // Valid exchange rate reveal submission input.Ctx = input.Ctx.WithBlockHeight(1) - aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, exchangeRatesStr, sdk.AccAddress(keeper.Addrs[0]), keeper.ValAddrs[0]) + aggregateExchangeRateVoteMsg = types.NewMsgAggregateExchangeRateVote(salt, exchangeRatesStr, keeper.Addrs[0], keeper.ValAddrs[0]) _, err = h(input.Ctx, aggregateExchangeRateVoteMsg) require.NoError(t, err) } diff --git a/x/oracle/keeper/ballot.go b/x/oracle/keeper/ballot.go index c5cebada6..31b7dc618 100644 --- a/x/oracle/keeper/ballot.go +++ b/x/oracle/keeper/ballot.go @@ -52,7 +52,7 @@ func (k Keeper) OrganizeBallotByDenom(ctx sdk.Context, validatorClaimMap map[str votes[denom] = ballot } - return + return votes } // ClearBallots clears all tallied prevotes and votes from the store diff --git a/x/oracle/keeper/keeper_test.go b/x/oracle/keeper/keeper_test.go index 21f7ca9b8..59b53b5ca 100644 --- a/x/oracle/keeper/keeper_test.go +++ b/x/oracle/keeper/keeper_test.go @@ -49,7 +49,7 @@ func TestExchangeRate(t *testing.T) { numExchangeRates := 0 handler := func(denom string, exchangeRate sdk.Dec) (stop bool) { - numExchangeRates = numExchangeRates + 1 + numExchangeRates++ return false } input.OracleKeeper.IterateLunaExchangeRates(input.Ctx, handler) @@ -366,18 +366,18 @@ func TestValidateFeeder(t *testing.T) { ) require.Equal(t, amt, input.StakingKeeper.Validator(ctx, addr1).GetBondedTokens()) - require.NoError(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr), sdk.ValAddress(addr))) - require.NoError(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr1), sdk.ValAddress(addr1))) + require.NoError(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr), addr)) + require.NoError(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr1), addr1)) // delegate works - input.OracleKeeper.SetFeederDelegation(input.Ctx, sdk.ValAddress(addr), sdk.AccAddress(addr1)) - require.NoError(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr1), sdk.ValAddress(addr))) - require.Error(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(Addrs[2]), sdk.ValAddress(addr))) + input.OracleKeeper.SetFeederDelegation(input.Ctx, addr, sdk.AccAddress(addr1)) + require.NoError(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr1), addr)) + require.Error(t, input.OracleKeeper.ValidateFeeder(input.Ctx, Addrs[2], addr)) // only active validators can do oracle votes - validator, found := input.StakingKeeper.GetValidator(input.Ctx, sdk.ValAddress(addr)) + validator, found := input.StakingKeeper.GetValidator(input.Ctx, addr) require.True(t, found) validator.Status = stakingtypes.Unbonded input.StakingKeeper.SetValidator(input.Ctx, validator) - require.Error(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr1), sdk.ValAddress(addr))) + require.Error(t, input.OracleKeeper.ValidateFeeder(input.Ctx, sdk.AccAddress(addr1), addr)) } diff --git a/x/oracle/keeper/params.go b/x/oracle/keeper/params.go index 6581fe57f..caae2db81 100644 --- a/x/oracle/keeper/params.go +++ b/x/oracle/keeper/params.go @@ -40,7 +40,6 @@ func (k Keeper) Whitelist(ctx sdk.Context) (res types.DenomList) { // this function is only for test purpose func (k Keeper) SetWhitelist(ctx sdk.Context, whitelist types.DenomList) { k.paramSpace.Set(ctx, types.KeyWhitelist, whitelist) - return } // SlashFraction returns oracle voting penalty rate diff --git a/x/oracle/keeper/test_utils.go b/x/oracle/keeper/test_utils.go index 1ca14969b..b0947effe 100644 --- a/x/oracle/keeper/test_utils.go +++ b/x/oracle/keeper/test_utils.go @@ -1,4 +1,3 @@ -// nolint package keeper import ( diff --git a/x/oracle/legacy/v04/types.go b/x/oracle/legacy/v04/types.go index ef59fa649..29327b84e 100644 --- a/x/oracle/legacy/v04/types.go +++ b/x/oracle/legacy/v04/types.go @@ -1,5 +1,4 @@ // DONTCOVER -// nolint package v04 import ( diff --git a/x/oracle/module.go b/x/oracle/module.go index 5e2b7ab01..7ed10e3c6 100644 --- a/x/oracle/module.go +++ b/x/oracle/module.go @@ -88,7 +88,7 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { return cli.GetQueryCmd() } -//___________________________ +// ___________________________ // AppModule implements an application module for the oracle module. type AppModule struct { @@ -168,7 +168,7 @@ func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.Val return []abci.ValidatorUpdate{} } -//____________________________________________________________________________ +// ____________________________________________________________________________ // AppModuleSimulation functions diff --git a/x/oracle/simulation/operations.go b/x/oracle/simulation/operations.go index 3fc245bcf..dd7a6db93 100644 --- a/x/oracle/simulation/operations.go +++ b/x/oracle/simulation/operations.go @@ -29,8 +29,8 @@ const ( ) var ( - whitelist = []string{core.MicroKRWDenom, core.MicroUSDDenom, core.MicroSDRDenom} - voteHashMap map[string]string = make(map[string]string) + whitelist = []string{core.MicroKRWDenom, core.MicroUSDDenom, core.MicroSDRDenom} + voteHashMap = make(map[string]string) ) // WeightedOperations returns all the operations from the module with their respective weights diff --git a/x/oracle/tally.go b/x/oracle/tally.go index f4a711706..a713dcd64 100644 --- a/x/oracle/tally.go +++ b/x/oracle/tally.go @@ -41,7 +41,7 @@ func Tally(ctx sdk.Context, pb types.ExchangeRateBallot, rewardBand sdk.Dec, val } } - return + return weightedMedian } // ballot for the asset is passing the threshold amount of voting power diff --git a/x/oracle/types/ballot_test.go b/x/oracle/types/ballot_test.go index e9a60624c..fdc208eb3 100644 --- a/x/oracle/types/ballot_test.go +++ b/x/oracle/types/ballot_test.go @@ -219,7 +219,7 @@ func TestPBWeightedMedian(t *testing.T) { } vote := types.NewVoteForTally( - sdk.NewDec(int64(input)), + sdk.NewDec(input), core.MicroSDRDenom, valAddr, power, diff --git a/x/oracle/types/genesis.go b/x/oracle/types/genesis.go index c6b959033..221efb2a8 100644 --- a/x/oracle/types/genesis.go +++ b/x/oracle/types/genesis.go @@ -12,7 +12,7 @@ func NewGenesisState( feederDelegations []FeederDelegation, missCounters []MissCounter, aggregateExchangeRatePrevotes []AggregateExchangeRatePrevote, aggregateExchangeRateVotes []AggregateExchangeRateVote, - TobinTaxes []TobinTax, + tobinTaxes []TobinTax, ) *GenesisState { return &GenesisState{ Params: params, @@ -21,7 +21,7 @@ func NewGenesisState( MissCounters: missCounters, AggregateExchangeRatePrevotes: aggregateExchangeRatePrevotes, AggregateExchangeRateVotes: aggregateExchangeRateVotes, - TobinTaxes: TobinTaxes, + TobinTaxes: tobinTaxes, } } diff --git a/x/oracle/types/hash_test.go b/x/oracle/types/hash_test.go index 82d7f8ec7..0b87a821c 100644 --- a/x/oracle/types/hash_test.go +++ b/x/oracle/types/hash_test.go @@ -22,7 +22,7 @@ func TestAggregateVoteHash(t *testing.T) { aggregateVoteHashRes, err := types.AggregateVoteHashFromHexString(hexStr) require.NoError(t, err) require.Equal(t, aggregateVoteHash, aggregateVoteHashRes) - require.True(t, aggregateVoteHash.Equal(aggregateVoteHash)) + require.Equal(t, aggregateVoteHash, aggregateVoteHash) require.True(t, types.AggregateVoteHash([]byte{}).Empty()) got, _ := yaml.Marshal(&aggregateVoteHash) diff --git a/x/oracle/types/params_test.go b/x/oracle/types/params_test.go index cf353dcc9..6aa0f19d1 100644 --- a/x/oracle/types/params_test.go +++ b/x/oracle/types/params_test.go @@ -85,25 +85,25 @@ func TestValidate(t *testing.T) { pairs := p1.ParamSetPairs() for _, pair := range pairs { switch { - case bytes.Compare(types.KeyVotePeriod, pair.Key) == 0 || - bytes.Compare(types.KeyRewardDistributionWindow, pair.Key) == 0 || - bytes.Compare(types.KeySlashWindow, pair.Key) == 0: + case bytes.Equal(types.KeyVotePeriod, pair.Key) || + bytes.Equal(types.KeyRewardDistributionWindow, pair.Key) || + bytes.Equal(types.KeySlashWindow, pair.Key): require.NoError(t, pair.ValidatorFn(uint64(1))) require.Error(t, pair.ValidatorFn("invalid")) require.Error(t, pair.ValidatorFn(uint64(0))) - case bytes.Compare(types.KeyVoteThreshold, pair.Key) == 0: + case bytes.Equal(types.KeyVoteThreshold, pair.Key): require.NoError(t, pair.ValidatorFn(sdk.NewDecWithPrec(33, 2))) require.Error(t, pair.ValidatorFn("invalid")) require.Error(t, pair.ValidatorFn(sdk.NewDecWithPrec(32, 2))) require.Error(t, pair.ValidatorFn(sdk.NewDecWithPrec(101, 2))) - case bytes.Compare(types.KeyRewardBand, pair.Key) == 0 || - bytes.Compare(types.KeySlashFraction, pair.Key) == 0 || - bytes.Compare(types.KeyMinValidPerWindow, pair.Key) == 0: + case bytes.Equal(types.KeyRewardBand, pair.Key) || + bytes.Equal(types.KeySlashFraction, pair.Key) || + bytes.Equal(types.KeyMinValidPerWindow, pair.Key): require.NoError(t, pair.ValidatorFn(sdk.NewDecWithPrec(7, 2))) require.Error(t, pair.ValidatorFn("invalid")) require.Error(t, pair.ValidatorFn(sdk.NewDecWithPrec(-1, 2))) require.Error(t, pair.ValidatorFn(sdk.NewDecWithPrec(101, 2))) - case bytes.Compare(types.KeyWhitelist, pair.Key) == 0: + case bytes.Equal(types.KeyWhitelist, pair.Key): require.NoError(t, pair.ValidatorFn(types.DenomList{ { Name: "denom", diff --git a/x/oracle/types/test_utils.go b/x/oracle/types/test_utils.go index 370387f65..cddf7a322 100644 --- a/x/oracle/types/test_utils.go +++ b/x/oracle/types/test_utils.go @@ -1,4 +1,3 @@ -// nolint package types import ( diff --git a/x/oracle/wasm/interface.go b/x/oracle/wasm/interface.go index 0e72709b3..4f6736083 100644 --- a/x/oracle/wasm/interface.go +++ b/x/oracle/wasm/interface.go @@ -12,20 +12,20 @@ import ( wasm "github.com/classic-terra/core/x/wasm/exported" ) -var _ wasm.WasmQuerierInterface = WasmQuerier{} +var _ wasm.WasmQuerierInterface = Querier{} -// WasmQuerier - staking query interface for wasm contract -type WasmQuerier struct { +// Querier - staking query interface for wasm contract +type Querier struct { keeper keeper.Keeper } -// NewWasmQuerier return bank wasm query interface -func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { - return WasmQuerier{keeper} +// NewQuerier return bank wasm query interface +func NewWasmQuerier(keeper keeper.Keeper) Querier { + return Querier{keeper} } // Query - implement query function -func (WasmQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { +func (Querier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { return nil, nil } @@ -53,7 +53,7 @@ type ExchangeRatesQueryResponse struct { } // QueryCustom implements custom query interface -func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { +func (querier Querier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { var params CosmosQuery err := json.Unmarshal(data, ¶ms) if err != nil { diff --git a/x/oracle/wasm/interface_test.go b/x/oracle/wasm/interface_test.go index ddeadae40..b464f5ada 100644 --- a/x/oracle/wasm/interface_test.go +++ b/x/oracle/wasm/interface_test.go @@ -61,7 +61,7 @@ func TestQueryExchangeRates(t *testing.T) { }) require.NoError(t, err) - res, err = querier.QueryCustom(input.Ctx, bz) + _, err = querier.QueryCustom(input.Ctx, bz) require.Error(t, err) // valid query luna exchange rates diff --git a/x/treasury/client/cli/query.go b/x/treasury/client/cli/query.go index 387046b24..5831a53db 100644 --- a/x/treasury/client/cli/query.go +++ b/x/treasury/client/cli/query.go @@ -12,11 +12,6 @@ import ( "github.com/cosmos/cosmos-sdk/client/flags" ) -const ( - flagDenom = "denom" - flagEpoch = "epoch" -) - // GetQueryCmd returns the cli query commands for this module func GetQueryCmd() *cobra.Command { oracleQueryCmd := &cobra.Command{ diff --git a/x/treasury/exported/alias.go b/x/treasury/exported/alias.go index bdda8f97c..43747c651 100644 --- a/x/treasury/exported/alias.go +++ b/x/treasury/exported/alias.go @@ -1,6 +1,4 @@ // DONTCOVER -// -//nolint:deadcode,unused package exported import ( diff --git a/x/treasury/keeper/burn_account.go b/x/treasury/keeper/burn_account.go index 3c44001f1..e13e98cbb 100644 --- a/x/treasury/keeper/burn_account.go +++ b/x/treasury/keeper/burn_account.go @@ -15,6 +15,4 @@ func (k Keeper) BurnCoinsFromBurnAccount(ctx sdk.Context) { panic(err) } } - - return } diff --git a/x/treasury/keeper/indicator_test.go b/x/treasury/keeper/indicator_test.go index f225fe947..05291ea8b 100644 --- a/x/treasury/keeper/indicator_test.go +++ b/x/treasury/keeper/indicator_test.go @@ -148,10 +148,6 @@ func TestLoadIndicatorByEpoch(t *testing.T) { require.Equal(t, sdk.ZeroDec(), MR(input.Ctx, 5, input.TreasuryKeeper)) } -func linearFn(_ sdk.Context, _ Keeper, epoch int64) sdk.Dec { - return sdk.NewDec(epoch) -} - func TestSumIndicator(t *testing.T) { input := CreateTestInput(t) diff --git a/x/treasury/keeper/keeper.go b/x/treasury/keeper/keeper.go index eea45f0c0..9aded0aec 100644 --- a/x/treasury/keeper/keeper.go +++ b/x/treasury/keeper/keeper.go @@ -163,8 +163,6 @@ func (k Keeper) IterateTaxCap(ctx sdk.Context, handler func(denom string, taxCap break } } - - return } // RecordEpochTaxProceeds adds tax proceeds that have been added this epoch @@ -267,10 +265,10 @@ func (k Keeper) GetTR(ctx sdk.Context, epoch int64) sdk.Dec { } // SetTR stores the tax rewards for the epoch -func (k Keeper) SetTR(ctx sdk.Context, epoch int64, TR sdk.Dec) { +func (k Keeper) SetTR(ctx sdk.Context, epoch int64, tr sdk.Dec) { store := ctx.KVStore(k.storeKey) - bz := k.cdc.MustMarshal(&sdk.DecProto{Dec: TR}) + bz := k.cdc.MustMarshal(&sdk.DecProto{Dec: tr}) store.Set(types.GetTRKey(epoch), bz) } @@ -301,10 +299,10 @@ func (k Keeper) GetSR(ctx sdk.Context, epoch int64) sdk.Dec { } // SetSR stores the seigniorage rewards for the epoch -func (k Keeper) SetSR(ctx sdk.Context, epoch int64, SR sdk.Dec) { +func (k Keeper) SetSR(ctx sdk.Context, epoch int64, sr sdk.Dec) { store := ctx.KVStore(k.storeKey) - bz := k.cdc.MustMarshal(&sdk.DecProto{Dec: SR}) + bz := k.cdc.MustMarshal(&sdk.DecProto{Dec: sr}) store.Set(types.GetSRKey(epoch), bz) } @@ -335,10 +333,10 @@ func (k Keeper) GetTSL(ctx sdk.Context, epoch int64) sdk.Int { } // SetTSL stores the total staked luna for the epoch -func (k Keeper) SetTSL(ctx sdk.Context, epoch int64, TSL sdk.Int) { +func (k Keeper) SetTSL(ctx sdk.Context, epoch int64, tsl sdk.Int) { store := ctx.KVStore(k.storeKey) - bz := k.cdc.MustMarshal(&sdk.IntProto{Int: TSL}) + bz := k.cdc.MustMarshal(&sdk.IntProto{Int: tsl}) store.Set(types.GetTSLKey(epoch), bz) } diff --git a/x/treasury/keeper/legacy_querier.go b/x/treasury/keeper/legacy_querier.go index a0d862614..7d1a1f03d 100644 --- a/x/treasury/keeper/legacy_querier.go +++ b/x/treasury/keeper/legacy_querier.go @@ -60,6 +60,9 @@ func queryBurnTaxExemptionList(ctx sdk.Context, req abci.RequestQuery, k Keeper, return true, nil }) + if err != nil { + return nil, err + } burnTaxExemptionListRes := &types.QueryBurnTaxExemptionListResponse{ Addresses: addresses, diff --git a/x/treasury/keeper/migrations.go b/x/treasury/keeper/migrations.go index 52a99a95b..8dbe3f016 100644 --- a/x/treasury/keeper/migrations.go +++ b/x/treasury/keeper/migrations.go @@ -80,4 +80,4 @@ func (m Migrator) Migrate2to3(ctx sdk.Context) error { m.keeper.SetMinInitialDepositRatio(ctx, types.DefaultMinInitialDepositRatio) return nil -} \ No newline at end of file +} diff --git a/x/treasury/keeper/querier_test.go b/x/treasury/keeper/querier_test.go index 693969093..ef71a964b 100644 --- a/x/treasury/keeper/querier_test.go +++ b/x/treasury/keeper/querier_test.go @@ -161,5 +161,6 @@ func TestQueryIndicators(t *testing.T) { // Change context to next epoch input.Ctx = input.Ctx.WithBlockHeight(int64(core.BlocksPerWeek)) res, err = querier.Indicators(ctx, &types.QueryIndicatorsRequest{}) + require.NoError(t, err) require.Equal(t, targetIndicators, res) } diff --git a/x/treasury/keeper/test_utils.go b/x/treasury/keeper/test_utils.go index ffee206b9..9c4abd7cd 100644 --- a/x/treasury/keeper/test_utils.go +++ b/x/treasury/keeper/test_utils.go @@ -1,4 +1,3 @@ -// nolint package keeper import ( diff --git a/x/treasury/legacy/v04/types.go b/x/treasury/legacy/v04/types.go index ed4f8152b..c4cbe28cc 100644 --- a/x/treasury/legacy/v04/types.go +++ b/x/treasury/legacy/v04/types.go @@ -1,5 +1,4 @@ // DONTCOVER -// nolint package v04 import ( diff --git a/x/treasury/module.go b/x/treasury/module.go index 886492777..16df23855 100644 --- a/x/treasury/module.go +++ b/x/treasury/module.go @@ -174,7 +174,7 @@ func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.Val return []abci.ValidatorUpdate{} } -//____________________________________________________________________________ +// ____________________________________________________________________________ // AppModuleSimulation functions diff --git a/x/treasury/types/params.go b/x/treasury/types/params.go index 98b3a3089..9174321ab 100644 --- a/x/treasury/types/params.go +++ b/x/treasury/types/params.go @@ -46,7 +46,7 @@ var ( DefaultTaxRate = sdk.NewDecWithPrec(1, 3) // 0.1% DefaultRewardWeight = sdk.NewDecWithPrec(5, 2) // 5% DefaultBurnTaxSplit = sdk.NewDecWithPrec(1, 1) // 10% goes to community pool, 90% burn - DefaultMinInitialDepositRatio = sdk.ZeroDec() // 0% min initial deposit + DefaultMinInitialDepositRatio = sdk.ZeroDec() // 0% min initial deposit ) var _ paramstypes.ParamSet = &Params{} @@ -79,7 +79,6 @@ func (p Params) String() string { // ParamSetPairs implements the ParamSet interface and returns all the key/value pairs // pairs of treasury module's parameters. -// nolint func (p *Params) ParamSetPairs() paramstypes.ParamSetPairs { return paramstypes.ParamSetPairs{ paramstypes.NewParamSetPair(KeyTaxPolicy, &p.TaxPolicy, validateTaxPolicy), @@ -254,7 +253,6 @@ func validateBurnTaxSplit(i interface{}) error { } func validateMinInitialDepositRatio(i interface{}) error { - v, ok := i.(sdk.Dec) if !ok { return fmt.Errorf("invalid paramater type: %T", i) @@ -269,5 +267,4 @@ func validateMinInitialDepositRatio(i interface{}) error { } return nil - } diff --git a/x/treasury/wasm/interface.go b/x/treasury/wasm/interface.go index 7753b0631..5bffa78b1 100644 --- a/x/treasury/wasm/interface.go +++ b/x/treasury/wasm/interface.go @@ -13,20 +13,20 @@ import ( wasm "github.com/classic-terra/core/x/wasm/exported" ) -var _ wasm.WasmQuerierInterface = WasmQuerier{} +var _ wasm.WasmQuerierInterface = Querier{} -// WasmQuerier - staking query interface for wasm contract -type WasmQuerier struct { +// Querier - staking query interface for wasm contract +type Querier struct { keeper keeper.Keeper } -// NewWasmQuerier return bank wasm query interface -func NewWasmQuerier(keeper keeper.Keeper) WasmQuerier { - return WasmQuerier{keeper} +// NewQuerier return bank wasm query interface +func NewWasmQuerier(keeper keeper.Keeper) Querier { + return Querier{keeper} } // Query - implement query function -func (WasmQuerier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { +func (Querier) Query(_ sdk.Context, _ wasmvmtypes.QueryRequest) ([]byte, error) { return nil, nil } @@ -49,7 +49,7 @@ type TaxCapQueryResponse struct { } // QueryCustom implements custom query interface -func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { +func (querier Querier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([]byte, error) { var query CosmosQuery err := json.Unmarshal(data, &query) if err != nil { @@ -58,13 +58,14 @@ func (querier WasmQuerier) QueryCustom(ctx sdk.Context, data json.RawMessage) ([ var bz []byte - if query.TaxRate != nil { + switch { + case query.TaxRate != nil: rate := querier.keeper.GetTaxRate(ctx) bz, err = json.Marshal(TaxRateQueryResponse{Rate: rate.String()}) - } else if query.TaxCap != nil { + case query.TaxCap != nil: cap := querier.keeper.GetTaxCap(ctx, query.TaxCap.Denom) bz, err = json.Marshal(TaxCapQueryResponse{Cap: cap.String()}) - } else { + default: return nil, sdkerrors.ErrInvalidRequest } diff --git a/x/vesting/module.go b/x/vesting/module.go index 6a3481038..f6da73130 100644 --- a/x/vesting/module.go +++ b/x/vesting/module.go @@ -19,7 +19,7 @@ var _ module.AppModuleBasic = AppModuleBasic{} // AppModuleBasic defines the basic application module used by the oracle module. type AppModuleBasic struct { - cdc codec.Codec + cdc codec.Codec //nolint:unused } // Name returns the module's name diff --git a/x/wasm/client/cli/query.go b/x/wasm/client/cli/query.go index cd6c92bbc..7272a5305 100644 --- a/x/wasm/client/cli/query.go +++ b/x/wasm/client/cli/query.go @@ -6,7 +6,7 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" + "os" "strconv" "github.com/spf13/cobra" @@ -18,8 +18,6 @@ import ( "github.com/classic-terra/core/x/wasm/types" ) -const flagRaw = "raw" - // GetQueryCmd returns the cli query commands for wasm module func GetQueryCmd() *cobra.Command { queryCmd := &cobra.Command{ @@ -97,7 +95,7 @@ func GetCmdQueryByteCode() *cobra.Command { } fmt.Printf("Downloading wasm code to %s\n", args[1]) - return ioutil.WriteFile(args[1], res.ByteCode, 0o600) + return os.WriteFile(args[1], res.ByteCode, 0o600) }, } diff --git a/x/wasm/client/cli/tx.go b/x/wasm/client/cli/tx.go index 767357981..bbaf41f58 100644 --- a/x/wasm/client/cli/tx.go +++ b/x/wasm/client/cli/tx.go @@ -4,7 +4,7 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" + "os" "strconv" "strings" @@ -72,7 +72,7 @@ $ terrad tx store ./path-to-binary --migrate-code-id 3 } // parse coins trying to be sent - wasmBytes, err := ioutil.ReadFile(args[0]) + wasmBytes, err := os.ReadFile(args[0]) if err != nil { return err } @@ -94,11 +94,14 @@ $ terrad tx store ./path-to-binary --migrate-code-id 3 } var msg sdk.Msg - if codeID, err := cmd.Flags().GetUint64(flagMigrateCodeID); err != nil { + codeID, err := cmd.Flags().GetUint64(flagMigrateCodeID) + + switch { + case err != nil: return err - } else if codeID != 0 { + case codeID != 0: msg = types.NewMsgMigrateCode(codeID, fromAddr, wasmBytes) - } else { + default: msg = types.NewMsgStoreCode(fromAddr, wasmBytes) } diff --git a/x/wasm/client/utils/utils_test.go b/x/wasm/client/utils/utils_test.go index 9726ce601..2ab1821c4 100644 --- a/x/wasm/client/utils/utils_test.go +++ b/x/wasm/client/utils/utils_test.go @@ -1,14 +1,14 @@ package utils import ( - "io/ioutil" + "os" "testing" "github.com/stretchr/testify/require" ) func GetTestData() ([]byte, []byte, []byte, error) { - wasmCode, err := ioutil.ReadFile("../../keeper/testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("../../keeper/testdata/hackatom.wasm") if err != nil { return nil, nil, nil, err } diff --git a/x/wasm/common_test.go b/x/wasm/common_test.go index 448f933e1..c20b685ff 100644 --- a/x/wasm/common_test.go +++ b/x/wasm/common_test.go @@ -2,7 +2,7 @@ package wasm_test import ( "encoding/json" - "io/ioutil" + "os" "testing" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,7 +19,7 @@ import ( ) var ( - key1, pub1, addr1 = keyPubAddr() + _, _, addr1 = keyPubAddr() testContract []byte reflectContract []byte oldEscrowContract []byte @@ -39,7 +39,7 @@ func keyPubAddr() (crypto.PrivKey, crypto.PubKey, sdk.AccAddress) { } func mustLoad(path string) []byte { - bz, err := ioutil.ReadFile(path) + bz, err := os.ReadFile(path) if err != nil { panic(err) } diff --git a/x/wasm/exported/alias.go b/x/wasm/exported/alias.go index f2a07a3d3..77c5c6cd4 100644 --- a/x/wasm/exported/alias.go +++ b/x/wasm/exported/alias.go @@ -1,4 +1,3 @@ -// nolint package exported import "github.com/classic-terra/core/x/wasm/types" diff --git a/x/wasm/handler_test.go b/x/wasm/handler_test.go index f9f2a97b2..49c34f1f5 100644 --- a/x/wasm/handler_test.go +++ b/x/wasm/handler_test.go @@ -129,6 +129,7 @@ func TestHandleInstantiate(t *testing.T) { require.False(t, contractAddr.Empty()) contractInfo, err := input.WasmKeeper.GetContractInfo(input.Ctx, contractAddr) + require.NoError(t, err) expectedContractInfo := types.NewContractInfo(1, contractAddr, creator, sdk.AccAddress{}, initMsgBz) require.Equal(t, expectedContractInfo, contractInfo) @@ -195,6 +196,7 @@ func TestHandleExecute(t *testing.T) { require.False(t, contractAddr.Empty()) contractInfo, err := input.WasmKeeper.GetContractInfo(input.Ctx, contractAddr) + require.NoError(t, err) expectedContractInfo := types.NewContractInfo(1, contractAddr, creator, sdk.AccAddress{}, initMsgBz) require.Equal(t, expectedContractInfo, contractInfo) @@ -291,6 +293,7 @@ func TestHandleExecuteEscrow(t *testing.T) { require.False(t, contractAddr.Empty()) contractInfo, err := input.WasmKeeper.GetContractInfo(input.Ctx, contractAddr) + require.NoError(t, err) expectedContractInfo := types.NewContractInfo(1, contractAddr, creator, sdk.AccAddress{}, initMsgBz) require.Equal(t, expectedContractInfo, contractInfo) @@ -303,7 +306,7 @@ func TestHandleExecuteEscrow(t *testing.T) { execCmd := types.NewMsgExecuteContract(fred, contractAddr, handleMsgBz, topUp) - res, err = h(input.Ctx, execCmd) + _, err = h(input.Ctx, execCmd) require.NoError(t, err) // ensure bob now exists and got both payments released diff --git a/x/wasm/keeper/bench_test.go b/x/wasm/keeper/bench_test.go index 5b1311bd2..a8b620eaf 100644 --- a/x/wasm/keeper/bench_test.go +++ b/x/wasm/keeper/bench_test.go @@ -1,7 +1,7 @@ package keeper import ( - "io/ioutil" + "os" "testing" "github.com/classic-terra/core/x/wasm/config" @@ -96,7 +96,7 @@ func BenchmarkCompilation(b *testing.B) { input := CreateTestInput(b, config.DefaultConfig()) // print out code size for comparisons - code, err := ioutil.ReadFile(spec.wasmFile) + code, err := os.ReadFile(spec.wasmFile) require.NoError(b, err) b.Logf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b(size: %d) ", len(code)) diff --git a/x/wasm/keeper/connector.go b/x/wasm/keeper/connector.go index 1ca163ef9..f29baaa5a 100644 --- a/x/wasm/keeper/connector.go +++ b/x/wasm/keeper/connector.go @@ -159,7 +159,7 @@ func (k Keeper) dispatchMessage(ctx sdk.Context, contractAddr sdk.AccAddress, ms // append message action attribute events = append(events, sdkEvents...) - return + return events, data, nil } func (k Keeper) handleSdkMessage(ctx sdk.Context, contractAddr sdk.AccAddress, msg sdk.Msg) (*sdk.Result, error) { diff --git a/x/wasm/keeper/contract.go b/x/wasm/keeper/contract.go index 4c8cb7ddd..b37d17e5c 100644 --- a/x/wasm/keeper/contract.go +++ b/x/wasm/keeper/contract.go @@ -471,7 +471,7 @@ func assertAndIncreaseQueryDepth(ctx sdk.Context) (sdk.Context, error) { } // set next query depth - ctx = ctx.WithContext(context.WithValue(ctx.Context(), types.WasmVMQueryDepthContextKey, queryDepth+1)) + ctx = ctx.WithContext(context.WithValue(ctx.Context(), types.WasmVMQueryDepthContextKey, queryDepth+1)) //nolint:staticcheck return ctx, nil } diff --git a/x/wasm/keeper/contract_test.go b/x/wasm/keeper/contract_test.go index 575a6c459..3dcd1d289 100644 --- a/x/wasm/keeper/contract_test.go +++ b/x/wasm/keeper/contract_test.go @@ -3,7 +3,7 @@ package keeper import ( "bytes" "encoding/json" - "io/ioutil" + "os" "testing" "time" @@ -25,7 +25,7 @@ func TestStoreCode(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) // Create contract @@ -54,7 +54,7 @@ func TestMigrateCode(t *testing.T) { Creator: creator.String(), }) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) err = keeper.MigrateCode(ctx, codeID, fakeAccount, wasmCode) @@ -93,7 +93,7 @@ func TestCreateWithGzippedPayload(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm.gzip") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm.gzip") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -102,7 +102,7 @@ func TestCreateWithGzippedPayload(t *testing.T) { // and verify content storedCode, err := keeper.GetByteCode(ctx, contractID) require.NoError(t, err) - rawCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + rawCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) require.Equal(t, rawCode, storedCode) } @@ -114,7 +114,7 @@ func TestInstantiate(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -160,7 +160,7 @@ func TestInstantiateWithBigInitMsg(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -182,7 +182,7 @@ func TestExecute(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -217,7 +217,7 @@ func TestExecute(t *testing.T) { // unauthorized - trialCtx so we don't change state trialCtx := ctx.WithMultiStore(ctx.MultiStore().CacheWrap().(sdk.MultiStore)) - res, err := keeper.ExecuteContract(trialCtx, addr, creator, []byte(`{"release":{}}`), nil) + _, err = keeper.ExecuteContract(trialCtx, addr, creator, []byte(`{"release":{}}`), nil) require.Error(t, err) require.Equal(t, "Unauthorized: execute wasm contract failed", err.Error()) @@ -225,8 +225,8 @@ func TestExecute(t *testing.T) { start := time.Now() gasBefore := ctx.GasMeter().GasConsumed() - res, err = keeper.ExecuteContract(ctx, addr, fred, []byte(`{"release":{}}`), topUp) - diff := time.Now().Sub(start) + res, err := keeper.ExecuteContract(ctx, addr, fred, []byte(`{"release":{}}`), topUp) + diff := time.Since(start) require.NoError(t, err) require.NotNil(t, res) @@ -269,7 +269,7 @@ func TestExecuteWithHugeMsg(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -302,7 +302,7 @@ func TestExecuteWithPanic(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -333,7 +333,7 @@ func TestExecuteWithCpuLoop(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -369,7 +369,7 @@ func TestExecuteWithStorageLoop(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -405,7 +405,7 @@ func TestMigrate(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(sdk.NewInt64Coin("denom", 5000))) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) originalCodeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -533,9 +533,9 @@ func TestMigrateWithDispatchedMessage(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, fred := createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 5000))) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) - burnerCode, err := ioutil.ReadFile("./testdata/burner.wasm") + burnerCode, err := os.ReadFile("./testdata/burner.wasm") require.NoError(t, err) originalContractID, err := keeper.StoreCode(ctx, creator, wasmCode) diff --git a/x/wasm/keeper/custom_test.go b/x/wasm/keeper/custom_test.go index 80ca14595..7c68a0714 100644 --- a/x/wasm/keeper/custom_test.go +++ b/x/wasm/keeper/custom_test.go @@ -2,8 +2,8 @@ package keeper import ( "encoding/json" - "io/ioutil" "math/rand" + "os" "testing" wasmvmtypes "github.com/CosmWasm/wasmvm/types" @@ -57,11 +57,6 @@ type simulateQuery struct { OfferCoin wasmvmtypes.Coin `json:"offer"` } -type simulateResponse struct { - SellCoin wasmvmtypes.Coin `json:"sell"` - BuyCoin wasmvmtypes.Coin `json:"buy"` -} - // MakerTreasuryQuerymsg nolint type MakerTreasuryQuerymsg struct { Reflect treasuryQueryMsg `json:"reflect,omitempty"` @@ -121,7 +116,7 @@ func TestInstantiateMaker(t *testing.T) { _, _, creatorAddr := keyPubAddr() // upload staking derivatives code - makingCode, err := ioutil.ReadFile("./testdata/maker.wasm") + makingCode, err := os.ReadFile("./testdata/maker.wasm") require.NoError(t, err) makerID, err := keeper.StoreCode(ctx, creatorAddr, makingCode) require.NoError(t, err) @@ -134,6 +129,7 @@ func TestInstantiateMaker(t *testing.T) { } initBz, err := json.Marshal(&initMsg) + require.NoError(t, err) makerAddr, _, err := keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, sdk.AccAddress{}, initBz, nil) require.NoError(t, err) require.NotEmpty(t, makerAddr) @@ -159,6 +155,7 @@ func TestMarketQuerier(t *testing.T) { } retCoin, spread, err := marketKeeper.ComputeSwap(input.Ctx, offerCoin, core.MicroLunaDenom) + require.NoError(t, err) retAmount := retCoin.Amount.Mul(sdk.OneDec().Sub(spread)).TruncateInt() bz, err := json.Marshal(swapQueryMsg) @@ -287,6 +284,7 @@ func TestBuyMsg(t *testing.T) { ctx, keeper, accKeeper, bankKeeper := input.Ctx, input.WasmKeeper, input.AccKeeper, input.BankKeeper retCoin, spread, err := input.MarketKeeper.ComputeSwap(input.Ctx, offerCoin, core.MicroLunaDenom) + require.NoError(t, err) expectedRetCoins := sdk.NewCoins(sdk.NewCoin(core.MicroLunaDenom, retCoin.Amount.Mul(sdk.OneDec().Sub(spread)).TruncateInt())) // buy without limit @@ -295,6 +293,7 @@ func TestBuyMsg(t *testing.T) { } bz, err := json.Marshal(&buyMsg) + require.NoError(t, err) // normal buy _, err = keeper.ExecuteContract(ctx, makerAddr, creatorAddr, bz, sdk.NewCoins(offerCoin)) @@ -316,6 +315,7 @@ func TestBuyAndSendMsg(t *testing.T) { treasuryKeeper.SetTaxRate(ctx, sdk.ZeroDec()) retCoin, spread, err := input.MarketKeeper.ComputeSwap(input.Ctx, offerCoin, core.MicroLunaDenom) + require.NoError(t, err) expectedRetCoins := sdk.NewCoins(sdk.NewCoin(core.MicroLunaDenom, retCoin.Amount.Mul(sdk.OneDec().Sub(spread)).TruncateInt())) // buy without limit @@ -326,6 +326,7 @@ func TestBuyAndSendMsg(t *testing.T) { } bz, err := json.Marshal(&buyMsg) + require.NoError(t, err) // normal buy _, err = keeper.ExecuteContract(ctx, makerAddr, creatorAddr, bz, sdk.NewCoins(offerCoin)) @@ -346,6 +347,7 @@ func TestSellMsg(t *testing.T) { require.NoError(t, err) retCoin, spread, err := input.MarketKeeper.ComputeSwap(input.Ctx, sellCoin, core.MicroSDRDenom) + require.NoError(t, err) expectedRetCoins := sdk.NewCoins(sdk.NewCoin(core.MicroSDRDenom, retCoin.Amount.Mul(sdk.OneDec().Sub(spread)).TruncateInt())) // sell without limit @@ -354,6 +356,7 @@ func TestSellMsg(t *testing.T) { } bz, err := json.Marshal(&sellMsg) + require.NoError(t, err) // normal sell _, err = keeper.ExecuteContract(ctx, makerAddr, creatorAddr, bz, sdk.NewCoins(sellCoin)) @@ -384,6 +387,7 @@ func TestSendMsg(t *testing.T) { } bz, err := json.Marshal(&sendMsg) + require.NoError(t, err) expectedTaxAmount := taxRate.MulInt(offerCoin.Amount).TruncateInt() if expectedTaxAmount.GT(taxCap) { @@ -410,7 +414,7 @@ func setupMakerContract(t *testing.T) (input TestInput, creatorAddr, makerAddr s _, creatorAddr = createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(initCoin)) // upload staking derivatives code - makingCode, err := ioutil.ReadFile("./testdata/maker.wasm") + makingCode, err := os.ReadFile("./testdata/maker.wasm") require.NoError(t, err) makerID, err := keeper.StoreCode(ctx, creatorAddr, makingCode) require.NoError(t, err) @@ -422,11 +426,12 @@ func setupMakerContract(t *testing.T) (input TestInput, creatorAddr, makerAddr s } initBz, err := json.Marshal(&initMsg) + require.NoError(t, err) makerAddr, _, err = keeper.InstantiateContract(input.Ctx, makerID, creatorAddr, sdk.AccAddress{}, initBz, nil) require.NoError(t, err) require.NotEmpty(t, makerAddr) - return + return input, creatorAddr, makerAddr, initCoin } func setupBindingsTesterContract(t *testing.T) (input TestInput, creatorAddr, bindingsTesterAddr sdk.AccAddress, initCoin sdk.Coin) { @@ -447,7 +452,7 @@ func setupBindingsTesterContract(t *testing.T) (input TestInput, creatorAddr, bi _, creatorAddr = createFakeFundedAccount(ctx, accKeeper, bankKeeper, sdk.NewCoins(initCoin)) // upload binding_tester contract codes - bindingsTCode, err := ioutil.ReadFile("./testdata/bindings_tester.wasm") + bindingsTCode, err := os.ReadFile("./testdata/bindings_tester.wasm") require.NoError(t, err) bindingsTesterID, err := keeper.StoreCode(ctx, creatorAddr, bindingsTCode) require.NoError(t, err) @@ -455,9 +460,10 @@ func setupBindingsTesterContract(t *testing.T) (input TestInput, creatorAddr, bi type EmptyStruct struct{} initBz, err := json.Marshal(&EmptyStruct{}) + require.NoError(t, err) bindingsTesterAddr, _, err = keeper.InstantiateContract(input.Ctx, bindingsTesterID, creatorAddr, sdk.AccAddress{}, initBz, nil) require.NoError(t, err) require.NotEmpty(t, bindingsTesterAddr) - return + return input, creatorAddr, bindingsTesterAddr, initCoin } diff --git a/x/wasm/keeper/ioutil.go b/x/wasm/keeper/ioutil.go index a8ef7f515..59912ef5a 100644 --- a/x/wasm/keeper/ioutil.go +++ b/x/wasm/keeper/ioutil.go @@ -4,7 +4,6 @@ import ( "bytes" "compress/gzip" "io" - "io/ioutil" "github.com/classic-terra/core/x/wasm/types" ) @@ -34,7 +33,7 @@ func (k Keeper) uncompress(src []byte, maxContractSize uint64) ([]byte, error) { zr.Multistream(false) defer zr.Close() - return ioutil.ReadAll(LimitReader(zr, int64(maxContractSize))) + return io.ReadAll(LimitReader(zr, int64(maxContractSize))) } // LimitReader returns LimitedReader diff --git a/x/wasm/keeper/ioutil_test.go b/x/wasm/keeper/ioutil_test.go index 479d1a226..ccab78c93 100644 --- a/x/wasm/keeper/ioutil_test.go +++ b/x/wasm/keeper/ioutil_test.go @@ -5,7 +5,7 @@ import ( "compress/gzip" "errors" "io" - "io/ioutil" + "os" "strings" "testing" @@ -19,10 +19,10 @@ func TestUncompress(t *testing.T) { input := CreateTestInput(t, config.DefaultConfig()) ctx, keeper := input.Ctx, input.WasmKeeper - wasmRaw, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmRaw, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) - wasmGzipped, err := ioutil.ReadFile("./testdata/hackatom.wasm.gzip") + wasmGzipped, err := os.ReadFile("./testdata/hackatom.wasm.gzip") require.NoError(t, err) specs := map[string]struct { diff --git a/x/wasm/keeper/legacy_querier.go b/x/wasm/keeper/legacy_querier.go index e8850955b..0188ad65f 100644 --- a/x/wasm/keeper/legacy_querier.go +++ b/x/wasm/keeper/legacy_querier.go @@ -139,7 +139,7 @@ func queryContractStore(ctx sdk.Context, req abci.RequestQuery, k Keeper, legacy bz, err = k.queryToContract(ctx, params.ContractAddress, params.Msg) - return + return bz, err } func queryParameters(ctx sdk.Context, k Keeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { diff --git a/x/wasm/keeper/legacy_querier_test.go b/x/wasm/keeper/legacy_querier_test.go index 7e140c769..6ecd18f4f 100644 --- a/x/wasm/keeper/legacy_querier_test.go +++ b/x/wasm/keeper/legacy_querier_test.go @@ -3,7 +3,7 @@ package keeper import ( "encoding/json" "fmt" - "io/ioutil" + "os" "sync" "testing" @@ -26,7 +26,7 @@ func TestLegacyContractState(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -56,7 +56,7 @@ func TestLegacyContractState(t *testing.T) { bz, err := input.Cdc.MarshalJSON(types.NewQueryRawStoreParams(addr, []byte("foo"))) require.NoError(t, err) - res, err := querier(ctx, []string{types.QueryRawStore}, abci.RequestQuery{Data: []byte(bz)}) + res, err := querier(ctx, []string{types.QueryRawStore}, abci.RequestQuery{Data: bz}) require.NoError(t, err) require.Equal(t, []byte(`"bar"`), res) @@ -64,7 +64,7 @@ func TestLegacyContractState(t *testing.T) { bz, err = input.Cdc.MarshalJSON(types.NewQueryRawStoreParams(addr, []byte{0x0, 0x1})) require.NoError(t, err) - res, err = querier(ctx, []string{types.QueryRawStore}, abci.RequestQuery{Data: []byte(bz)}) + res, err = querier(ctx, []string{types.QueryRawStore}, abci.RequestQuery{Data: bz}) require.NoError(t, err) require.Equal(t, []byte(`{"count":8}`), res) @@ -72,7 +72,7 @@ func TestLegacyContractState(t *testing.T) { bz, err = input.Cdc.MarshalJSON(types.NewQueryContractParams(addr, []byte(`{"verifier":{}}`))) require.NoError(t, err) - res, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: []byte(bz)}) + res, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: bz}) require.NoError(t, err) require.Equal(t, fmt.Sprintf(`{"verifier":"%s"}`, anyAddr.String()), string(res)) @@ -80,18 +80,20 @@ func TestLegacyContractState(t *testing.T) { bz, err = input.Cdc.MarshalJSON(types.NewQueryContractParams(addr, []byte(`{"raw":{"key":"config"}}`))) require.NoError(t, err) - _, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: []byte(bz)}) + _, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: bz}) require.Error(t, err) bz, err = input.Cdc.MarshalJSON(types.NewQueryCodeIDParams(contractID)) - _, err = querier(ctx, []string{types.QueryGetByteCode}, abci.RequestQuery{Data: []byte(bz)}) + require.NoError(t, err) + _, err = querier(ctx, []string{types.QueryGetByteCode}, abci.RequestQuery{Data: bz}) require.NoError(t, err) - _, err = querier(ctx, []string{types.QueryGetCodeInfo}, abci.RequestQuery{Data: []byte(bz)}) + _, err = querier(ctx, []string{types.QueryGetCodeInfo}, abci.RequestQuery{Data: bz}) require.NoError(t, err) bz, err = input.Cdc.MarshalJSON(types.NewQueryContractAddressParams(addr)) - _, err = querier(ctx, []string{types.QueryGetContractInfo}, abci.RequestQuery{Data: []byte(bz)}) + require.NoError(t, err) + _, err = querier(ctx, []string{types.QueryGetContractInfo}, abci.RequestQuery{Data: bz}) require.NoError(t, err) _, err = querier(ctx, []string{types.QueryParameters}, abci.RequestQuery{}) @@ -120,7 +122,7 @@ func TestLegacyMultipleGoroutines(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -155,7 +157,7 @@ func TestLegacyMultipleGoroutines(t *testing.T) { bz, err := input.Cdc.MarshalJSON(types.NewQueryContractParams(addr, []byte(`{"verifier":{}}`))) require.NoError(t, err) - res, err := querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: []byte(bz)}) + res, err := querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: bz}) require.NoError(t, err) require.Equal(t, fmt.Sprintf(`{"verifier":"%s"}`, anyAddr.String()), string(res)) diff --git a/x/wasm/keeper/msg_server_test.go b/x/wasm/keeper/msg_server_test.go index 15bb87c26..79719a9d8 100644 --- a/x/wasm/keeper/msg_server_test.go +++ b/x/wasm/keeper/msg_server_test.go @@ -2,7 +2,7 @@ package keeper import ( "encoding/json" - "io/ioutil" + "os" "testing" core "github.com/classic-terra/core/types" @@ -20,7 +20,7 @@ func TestInstantiateExceedMaxGas(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -53,7 +53,7 @@ func TestExecuteExceedMaxGas(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -71,6 +71,7 @@ func TestExecuteExceedMaxGas(t *testing.T) { require.NoError(t, err) addr, _, err := keeper.InstantiateContract(ctx, codeID, creator, sdk.AccAddress{}, initMsgBz, nil) + require.NoError(t, err) // must panic require.Panics(t, func() { @@ -88,7 +89,7 @@ func TestMigrateExceedMaxGas(t *testing.T) { deposit := sdk.NewCoins(sdk.NewInt64Coin(core.MicroLunaDenom, 100000)) _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -106,6 +107,7 @@ func TestMigrateExceedMaxGas(t *testing.T) { require.NoError(t, err) addr, _, err := keeper.InstantiateContract(ctx, codeID, creator, sdk.AccAddress{}, initMsgBz, nil) + require.NoError(t, err) // must panic require.Panics(t, func() { diff --git a/x/wasm/keeper/querier.go b/x/wasm/keeper/querier.go index 88f7fd4dd..20720de1e 100644 --- a/x/wasm/keeper/querier.go +++ b/x/wasm/keeper/querier.go @@ -122,7 +122,7 @@ func (q querier) ContractStore(c context.Context, req *types.QueryContractStoreR QueryResult: bz, } - return + return res, nil } // RawStore return single key from the raw store data of a contract diff --git a/x/wasm/keeper/querier_test.go b/x/wasm/keeper/querier_test.go index f6cd6a96d..420dedc1c 100644 --- a/x/wasm/keeper/querier_test.go +++ b/x/wasm/keeper/querier_test.go @@ -3,7 +3,7 @@ package keeper import ( "encoding/json" "fmt" - "io/ioutil" + "os" "sync" "testing" @@ -25,7 +25,7 @@ func TestQueryContractState(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -90,7 +90,7 @@ func TestQueryMultipleGoroutines(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) @@ -141,7 +141,7 @@ func TestQueryCodeAndContractInfo(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) _, anyAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, topUp) - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) contractID, err := keeper.StoreCode(ctx, creator, wasmCode) diff --git a/x/wasm/keeper/recursive_test.go b/x/wasm/keeper/recursive_test.go index b7a1f0316..f9da60dc1 100644 --- a/x/wasm/keeper/recursive_test.go +++ b/x/wasm/keeper/recursive_test.go @@ -2,7 +2,7 @@ package keeper import ( "encoding/json" - "io/ioutil" + "os" "testing" wasmvmtypes "github.com/CosmWasm/wasmvm/types" @@ -75,7 +75,7 @@ func initRecurseContract(t *testing.T) (contract sdk.AccAddress, creator sdk.Acc _, creator = createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit.Add(deposit...)) // store the code - wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + wasmCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, wasmCode) require.NoError(t, err) @@ -242,12 +242,12 @@ func TestGasOnExternalQuery(t *testing.T) { require.NoError(t, err) if tc.expectOutOfGas { - _, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: []byte(bz)}) + _, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: bz}) require.Error(t, err) require.Contains(t, err.Error(), sdkerror.ErrOutOfGas.Error()) } else { // otherwise, make sure we get a good success - _, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: []byte(bz)}) + _, err = querier(ctx, []string{types.QueryContractStore}, abci.RequestQuery{Data: bz}) require.NoError(t, err) } }) diff --git a/x/wasm/keeper/reflect_test.go b/x/wasm/keeper/reflect_test.go index c1d824148..08dcad2be 100644 --- a/x/wasm/keeper/reflect_test.go +++ b/x/wasm/keeper/reflect_test.go @@ -2,10 +2,11 @@ package keeper import ( "encoding/json" - "io/ioutil" + "os" "testing" - "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/proto" //nolint:staticcheck // cosmos proto currently uses this + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -14,10 +15,7 @@ import ( wasmvmtypes "github.com/CosmWasm/wasmvm/types" - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -94,14 +92,14 @@ func TestReflectReflectContractSend(t *testing.T) { _, _, bob := keyPubAddr() // upload reflect code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) reflectID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) require.Equal(t, uint64(1), reflectID) // upload hackatom escrow code - escrowCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + escrowCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) escrowID, err := keeper.StoreCode(ctx, creator, escrowCode) require.NoError(t, err) @@ -175,7 +173,7 @@ func TestReflectStargateQuery(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, funds) // upload code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) @@ -213,6 +211,7 @@ func TestReflectStargateQuery(t *testing.T) { Address: creator.String(), } protoQueryBin, err := proto.Marshal(&protoQuery) + require.NoError(t, err) protoRequest := wasmvmtypes.QueryRequest{ Stargate: &wasmvmtypes.StargateQuery{ Path: "/cosmos.bank.v1beta1.Query/AllBalances", @@ -249,7 +248,7 @@ func TestMaskReflectWasmQueries(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) // upload reflect code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) reflectID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) @@ -321,7 +320,7 @@ func TestWasmRawQueryWithNil(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) // upload reflect code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) reflectID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) @@ -375,35 +374,6 @@ func checkAccount(t *testing.T, ctx sdk.Context, accKeeper authkeeper.AccountKee } } -/**** Code to support custom messages *****/ -type reflectCustomMsg struct { - Debug string `json:"debug,omitempty"` - Raw []byte `json:"raw,omitempty"` -} - -// toMaskRawMsg encodes an sdk msg using amino json encoding. -// Then wraps it as an opaque message -func toMaskRawMsg(cdc codec.Codec, msg sdk.Msg) (wasmvmtypes.CosmosMsg, error) { - any, err := codectypes.NewAnyWithValue(msg) - if err != nil { - return wasmvmtypes.CosmosMsg{}, err - } - rawBz, err := cdc.MarshalJSON(any) - if err != nil { - return wasmvmtypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - - customMsg, err := json.Marshal(reflectCustomMsg{Raw: rawBz}) - if err != nil { - return wasmvmtypes.CosmosMsg{}, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) - } - - res := wasmvmtypes.CosmosMsg{ - Custom: customMsg, - } - return res, nil -} - func TestReflectInvalidStargateQuery(t *testing.T) { input := CreateTestInput(t, config.DefaultConfig()) ctx, accKeeper, keeper, bankKeeper := input.Ctx, input.AccKeeper, input.WasmKeeper, input.BankKeeper @@ -413,7 +383,7 @@ func TestReflectInvalidStargateQuery(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, funds) // upload code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) diff --git a/x/wasm/keeper/staking_test.go b/x/wasm/keeper/staking_test.go index a5cba8878..8888879f9 100644 --- a/x/wasm/keeper/staking_test.go +++ b/x/wasm/keeper/staking_test.go @@ -2,13 +2,12 @@ package keeper import ( "encoding/json" - "io/ioutil" + "os" "testing" "github.com/tendermint/tendermint/crypto/secp256k1" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/simapp" sdk "github.com/cosmos/cosmos-sdk/types" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" @@ -110,7 +109,7 @@ func TestInitializeStaking(t *testing.T) { _, creatorAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) // upload staking derivative code - stakingCode, err := ioutil.ReadFile("./testdata/staking.wasm") + stakingCode, err := os.ReadFile("./testdata/staking.wasm") require.NoError(t, err) stakingID, err := keeper.StoreCode(ctx, creatorAddr, stakingCode) require.NoError(t, err) @@ -178,7 +177,7 @@ func initializeStaking(t *testing.T, input TestInput) InitInfo { _, creatorAddr := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) // upload staking derivative code - stakingCode, err := ioutil.ReadFile("./testdata/staking.wasm") + stakingCode, err := os.ReadFile("./testdata/staking.wasm") require.NoError(t, err) stakingID, err := keeper.StoreCode(ctx, creatorAddr, stakingCode) require.NoError(t, err) @@ -432,7 +431,7 @@ func TestQueryStakingInfo(t *testing.T) { _, creator := createFakeFundedAccount(ctx, accKeeper, bankKeeper, deposit) // upload mask code - maskCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + maskCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) maskID, err := keeper.StoreCode(ctx, creator, maskCode) require.NoError(t, err) @@ -582,7 +581,7 @@ func addValidator( pubKey := privKey.PubKey() addr := sdk.ValAddress(pubKey.Address()) - pkAny, _ := codectypes.NewAnyWithValue(cryptotypes.PubKey(simapp.CreateTestPubKeys(1)[0])) + pkAny, _ := codectypes.NewAnyWithValue(simapp.CreateTestPubKeys(1)[0]) _, owner := createFakeFundedAccount(ctx, accountKeeper, bankKeeper, sdk.Coins{value}) msg := stakingtypes.MsgCreateValidator{ diff --git a/x/wasm/keeper/submsg_test.go b/x/wasm/keeper/submsg_test.go index e7acc0c88..2745c6750 100644 --- a/x/wasm/keeper/submsg_test.go +++ b/x/wasm/keeper/submsg_test.go @@ -2,11 +2,11 @@ package keeper import ( "encoding/json" - "io/ioutil" + "os" "strconv" "testing" - "github.com/golang/protobuf/proto" + "github.com/golang/protobuf/proto" //nolint:staticcheck // cosmos proto currently uses this "github.com/stretchr/testify/assert" wasmvmtypes "github.com/CosmWasm/wasmvm/types" @@ -34,7 +34,7 @@ func TestDispatchSubMsgSuccessCase(t *testing.T) { _, _, fred := keyPubAddr() // upload code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) @@ -146,13 +146,13 @@ func TestDispatchSubMsgErrorHandling(t *testing.T) { _, uploader := createFakeFundedAccount(ctx, accKeeper, bankKeeper, contractStart.Add(contractStart...)) // upload code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) reflectID, err := keeper.StoreCode(ctx, uploader, reflectCode) require.NoError(t, err) // create hackatom contract for testing (for infinite loop) - hackatomCode, err := ioutil.ReadFile("./testdata/hackatom.wasm") + hackatomCode, err := os.ReadFile("./testdata/hackatom.wasm") require.NoError(t, err) hackatomID, err := keeper.StoreCode(ctx, uploader, hackatomCode) require.NoError(t, err) @@ -402,7 +402,7 @@ func TestDispatchSubMsgConditionalReplyOn(t *testing.T) { _, _, fred := keyPubAddr() // upload code - reflectCode, err := ioutil.ReadFile("./testdata/reflect.wasm") + reflectCode, err := os.ReadFile("./testdata/reflect.wasm") require.NoError(t, err) codeID, err := keeper.StoreCode(ctx, creator, reflectCode) require.NoError(t, err) @@ -469,7 +469,7 @@ func TestDispatchSubMsgConditionalReplyOn(t *testing.T) { }, } - var id uint64 = 0 + var id uint64 for name, tc := range cases { id++ t.Run(name, func(t *testing.T) { diff --git a/x/wasm/keeper/test_utils.go b/x/wasm/keeper/test_utils.go index 36c651f65..157cd16ee 100644 --- a/x/wasm/keeper/test_utils.go +++ b/x/wasm/keeper/test_utils.go @@ -24,7 +24,6 @@ import ( "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/simapp" simparams "github.com/cosmos/cosmos-sdk/simapp/params" "github.com/cosmos/cosmos-sdk/std" "github.com/cosmos/cosmos-sdk/store" @@ -114,8 +113,6 @@ func MakeEncodingConfig(_ testing.TB) simparams.EncodingConfig { // Test Account var ( - valPubKeys = simapp.CreateTestPubKeys(5) - PubKeys = []crypto.PubKey{ secp256k1.GenPrivKey().PubKey(), secp256k1.GenPrivKey().PubKey(), diff --git a/x/wasm/legacy/v04/types.go b/x/wasm/legacy/v04/types.go index ef95eadc0..151fc8af0 100644 --- a/x/wasm/legacy/v04/types.go +++ b/x/wasm/legacy/v04/types.go @@ -1,5 +1,4 @@ // DONTCOVER -// nolint package v04 import ( diff --git a/x/wasm/module.go b/x/wasm/module.go index 38e985259..160b96a93 100644 --- a/x/wasm/module.go +++ b/x/wasm/module.go @@ -89,7 +89,7 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { return cli.GetQueryCmd() } -//___________________________ +// ___________________________ // AppModule implements an application module for the wasm module. type AppModule struct { @@ -171,7 +171,7 @@ func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.Val return []abci.ValidatorUpdate{} } -//____________________________________________________________________________ +// ____________________________________________________________________________ // AppModuleSimulation functions diff --git a/x/wasm/simulation/operations.go b/x/wasm/simulation/operations.go index dbdf324a2..5b05982d8 100644 --- a/x/wasm/simulation/operations.go +++ b/x/wasm/simulation/operations.go @@ -4,13 +4,9 @@ package simulation import ( "encoding/json" - "io/ioutil" "math/rand" "strings" - "github.com/tendermint/tendermint/crypto" - "github.com/tendermint/tendermint/crypto/ed25519" - "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/simapp/helpers" @@ -112,17 +108,8 @@ func WeightedOperations( } } -func mustLoad(path string) []byte { - bz, err := ioutil.ReadFile(path) - if err != nil { - panic(err) - } - return bz -} - var testContract []byte -// nolint: funlen func SimulateMsgStoreCode( ak types.AccountKeeper, bk types.BankKeeper, @@ -179,14 +166,6 @@ type initMsg struct { Beneficiary string `json:"beneficiary"` } -func keyPubAddr() (crypto.PrivKey, crypto.PubKey, sdk.AccAddress) { - key := ed25519.GenPrivKey() - pub := key.PubKey() - addr := sdk.AccAddress(pub.Address()) - return key, pub, addr -} - -// nolint: funlen func SimulateMsgInstantiateContract( ak types.AccountKeeper, bk types.BankKeeper, @@ -246,7 +225,6 @@ func SimulateMsgInstantiateContract( } } -// nolint: funlen func SimulateMsgExecuteContract( ak types.AccountKeeper, bk types.BankKeeper, @@ -312,7 +290,6 @@ func SimulateMsgExecuteContract( } } -// nolint: funlen func SimulateMsgMigrateContract( ak types.AccountKeeper, bk types.BankKeeper, @@ -348,8 +325,6 @@ func SimulateMsgMigrateContract( return simtypes.NoOpMsg(types.ModuleName, types.TypeMsgMigrateContract, "unable to generate fee"), nil, err } - spendableCoins = spendableCoins.Sub(fees) - migData := map[string]interface{}{ "verifier": info.Creator, } @@ -384,7 +359,6 @@ func SimulateMsgMigrateContract( } } -// nolint: funlen func SimulateMsgUpdateContractAdmin( ak types.AccountKeeper, bk types.BankKeeper, @@ -444,7 +418,6 @@ func SimulateMsgUpdateContractAdmin( } } -// nolint: funlen func SimulateMsgClearContractAdmin( ak types.AccountKeeper, bk types.BankKeeper, diff --git a/x/wasm/types/gas_meter_test.go b/x/wasm/types/gas_meter_test.go index 43cffbabe..5a7d7a1a0 100644 --- a/x/wasm/types/gas_meter_test.go +++ b/x/wasm/types/gas_meter_test.go @@ -6,8 +6,6 @@ import ( "github.com/stretchr/testify/require" - sdk "github.com/cosmos/cosmos-sdk/types" - wasmvmtypes "github.com/CosmWasm/wasmvm/types" ) @@ -25,14 +23,14 @@ func TestCompileCosts(t *testing.T) { bzLength := 10 cost := CompileCosts(bzLength) - require.Equal(t, sdk.Gas(10*compileCostPerByte), cost) + require.Equal(t, 10*compileCostPerByte, cost) } func TestInstantiateContractCosts(t *testing.T) { msgLength := 10 cost := InstantiateContractCosts(msgLength) - require.Equal(t, sdk.Gas(instantiateCost+uint64(msgLength)*contractMessageDataCostPerByte), cost) + require.Equal(t, instantiateCost+uint64(msgLength)*contractMessageDataCostPerByte, cost) } func TestReplyCosts(t *testing.T) { diff --git a/x/wasm/types/gas_store.go b/x/wasm/types/gas_store.go index fe640f397..970718182 100644 --- a/x/wasm/types/gas_store.go +++ b/x/wasm/types/gas_store.go @@ -5,35 +5,34 @@ import ( "time" "github.com/cosmos/cosmos-sdk/store/gaskv" - "github.com/cosmos/cosmos-sdk/store/types" - stypes "github.com/cosmos/cosmos-sdk/store/types" + storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" ) -var _ types.KVStore = &Store{} +var _ storetypes.KVStore = &Store{} // KVStore return new gas KVStore which fixed // https://github.com/cosmos/cosmos-sdk/issues/10243 -func KVStore(ctx sdk.Context, key sdk.StoreKey) types.KVStore { +func KVStore(ctx sdk.Context, key sdk.StoreKey) storetypes.KVStore { if (ctx.ChainID() == "bombay-12" && ctx.BlockHeight() < 7_800_000) || (ctx.ChainID() == "columbus-5" && ctx.BlockHeight() < 6_470_000) { - return gaskv.NewStore(ctx.MultiStore().GetKVStore(key), ctx.GasMeter(), stypes.KVGasConfig()) + return gaskv.NewStore(ctx.MultiStore().GetKVStore(key), ctx.GasMeter(), storetypes.KVGasConfig()) } - return NewStore(ctx.MultiStore().GetKVStore(key), ctx.GasMeter(), stypes.KVGasConfig()) + return NewStore(ctx.MultiStore().GetKVStore(key), ctx.GasMeter(), storetypes.KVGasConfig()) } // Store applies gas tracking to an underlying KVStore. It implements the // KVStore interface. type Store struct { - gasMeter types.GasMeter - gasConfig types.GasConfig - parent types.KVStore + gasMeter storetypes.GasMeter + gasConfig storetypes.GasConfig + parent storetypes.KVStore } // NewStore returns a reference to a new GasKVStore. -func NewStore(parent types.KVStore, gasMeter types.GasMeter, gasConfig types.GasConfig) *Store { +func NewStore(parent storetypes.KVStore, gasMeter storetypes.GasMeter, gasConfig storetypes.GasConfig) *Store { kvs := &Store{ gasMeter: gasMeter, gasConfig: gasConfig, @@ -43,37 +42,37 @@ func NewStore(parent types.KVStore, gasMeter types.GasMeter, gasConfig types.Gas } // GetStoreType implements Store. -func (gs *Store) GetStoreType() types.StoreType { +func (gs *Store) GetStoreType() storetypes.StoreType { return gs.parent.GetStoreType() } // Get implements KVStore. func (gs *Store) Get(key []byte) (value []byte) { - gs.gasMeter.ConsumeGas(gs.gasConfig.ReadCostFlat, types.GasReadCostFlatDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.ReadCostFlat, storetypes.GasReadCostFlatDesc) value = gs.parent.Get(key) // TODO overflow-safe math? - gs.gasMeter.ConsumeGas(gs.gasConfig.ReadCostPerByte*types.Gas(len(key)), types.GasReadPerByteDesc) - gs.gasMeter.ConsumeGas(gs.gasConfig.ReadCostPerByte*types.Gas(len(value)), types.GasReadPerByteDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.ReadCostPerByte*storetypes.Gas(len(key)), storetypes.GasReadPerByteDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.ReadCostPerByte*storetypes.Gas(len(value)), storetypes.GasReadPerByteDesc) return value } // Set implements KVStore. func (gs *Store) Set(key []byte, value []byte) { - types.AssertValidKey(key) - types.AssertValidValue(value) - gs.gasMeter.ConsumeGas(gs.gasConfig.WriteCostFlat, types.GasWriteCostFlatDesc) + storetypes.AssertValidKey(key) + storetypes.AssertValidValue(value) + gs.gasMeter.ConsumeGas(gs.gasConfig.WriteCostFlat, storetypes.GasWriteCostFlatDesc) // TODO overflow-safe math? - gs.gasMeter.ConsumeGas(gs.gasConfig.WriteCostPerByte*types.Gas(len(key)), types.GasWritePerByteDesc) - gs.gasMeter.ConsumeGas(gs.gasConfig.WriteCostPerByte*types.Gas(len(value)), types.GasWritePerByteDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.WriteCostPerByte*storetypes.Gas(len(key)), storetypes.GasWritePerByteDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.WriteCostPerByte*storetypes.Gas(len(value)), storetypes.GasWritePerByteDesc) gs.parent.Set(key, value) } // Has implements KVStore. func (gs *Store) Has(key []byte) bool { defer telemetry.MeasureSince(time.Now(), "store", "gaskv", "has") - gs.gasMeter.ConsumeGas(gs.gasConfig.HasCost, types.GasHasDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.HasCost, storetypes.GasHasDesc) return gs.parent.Has(key) } @@ -81,14 +80,14 @@ func (gs *Store) Has(key []byte) bool { func (gs *Store) Delete(key []byte) { defer telemetry.MeasureSince(time.Now(), "store", "gaskv", "delete") // charge gas to prevent certain attack vectors even though space is being freed - gs.gasMeter.ConsumeGas(gs.gasConfig.DeleteCost, types.GasDeleteDesc) + gs.gasMeter.ConsumeGas(gs.gasConfig.DeleteCost, storetypes.GasDeleteDesc) gs.parent.Delete(key) } // Iterator implements the KVStore interface. It returns an iterator which // incurs a flat gas cost for seeking to the first key/value pair and a variable // gas cost based on the current value's length if the iterator is valid. -func (gs *Store) Iterator(start, end []byte) types.Iterator { +func (gs *Store) Iterator(start, end []byte) storetypes.Iterator { return gs.iterator(start, end, true) } @@ -96,27 +95,27 @@ func (gs *Store) Iterator(start, end []byte) types.Iterator { // iterator which incurs a flat gas cost for seeking to the first key/value pair // and a variable gas cost based on the current value's length if the iterator // is valid. -func (gs *Store) ReverseIterator(start, end []byte) types.Iterator { +func (gs *Store) ReverseIterator(start, end []byte) storetypes.Iterator { return gs.iterator(start, end, false) } // CacheWrap implements KVStore. -func (gs *Store) CacheWrap() types.CacheWrap { +func (gs *Store) CacheWrap() storetypes.CacheWrap { panic("cannot CacheWrap a GasKVStore") } // CacheWrapWithTrace implements the KVStore interface. -func (gs *Store) CacheWrapWithTrace(_ io.Writer, _ types.TraceContext) types.CacheWrap { +func (gs *Store) CacheWrapWithTrace(_ io.Writer, _ storetypes.TraceContext) storetypes.CacheWrap { panic("cannot CacheWrapWithTrace a GasKVStore") } // CacheWrapWithListeners implements the CacheWrapper interface. -func (gs *Store) CacheWrapWithListeners(_ types.StoreKey, _ []types.WriteListener) types.CacheWrap { +func (gs *Store) CacheWrapWithListeners(_ storetypes.StoreKey, _ []storetypes.WriteListener) storetypes.CacheWrap { panic("cannot CacheWrapWithListeners a GasKVStore") } -func (gs *Store) iterator(start, end []byte, ascending bool) types.Iterator { - var parent types.Iterator +func (gs *Store) iterator(start, end []byte, ascending bool) storetypes.Iterator { + var parent storetypes.Iterator if ascending { parent = gs.parent.Iterator(start, end) } else { @@ -130,12 +129,12 @@ func (gs *Store) iterator(start, end []byte, ascending bool) types.Iterator { } type gasIterator struct { - gasMeter types.GasMeter - gasConfig types.GasConfig - parent types.Iterator + gasMeter storetypes.GasMeter + gasConfig storetypes.GasConfig + parent storetypes.Iterator } -func newGasIterator(gasMeter types.GasMeter, gasConfig types.GasConfig, parent types.Iterator) types.Iterator { +func newGasIterator(gasMeter storetypes.GasMeter, gasConfig storetypes.GasConfig, parent storetypes.Iterator) storetypes.Iterator { return &gasIterator{ gasMeter: gasMeter, gasConfig: gasConfig, @@ -192,8 +191,8 @@ func (gi *gasIterator) consumeSeekGas() { key := gi.Key() value := gi.Value() - gi.gasMeter.ConsumeGas(gi.gasConfig.ReadCostPerByte*types.Gas(len(key)), types.GasValuePerByteDesc) - gi.gasMeter.ConsumeGas(gi.gasConfig.ReadCostPerByte*types.Gas(len(value)), types.GasValuePerByteDesc) + gi.gasMeter.ConsumeGas(gi.gasConfig.ReadCostPerByte*storetypes.Gas(len(key)), storetypes.GasValuePerByteDesc) + gi.gasMeter.ConsumeGas(gi.gasConfig.ReadCostPerByte*storetypes.Gas(len(value)), storetypes.GasValuePerByteDesc) } - gi.gasMeter.ConsumeGas(gi.gasConfig.IterNextCostFlat, types.GasIterNextCostFlatDesc) + gi.gasMeter.ConsumeGas(gi.gasConfig.IterNextCostFlat, storetypes.GasIterNextCostFlatDesc) } diff --git a/x/wasm/types/params.go b/x/wasm/types/params.go index 73e411765..08bc10378 100644 --- a/x/wasm/types/params.go +++ b/x/wasm/types/params.go @@ -46,7 +46,6 @@ func DefaultParams() Params { // ParamSetPairs implements the ParamSet interface and returns all the key/value pairs // pairs of treasury module's parameters. -// nolint func (p *Params) ParamSetPairs() paramstypes.ParamSetPairs { return paramstypes.ParamSetPairs{ paramstypes.NewParamSetPair(KeyMaxContractSize, &p.MaxContractSize, validateMaxContractSize),